Re: [PATCH 1/2] snd-maestro3: Make hardware volume buttons an input device (rev2)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Apr 23, 2010 at 05:26:42AM -0400, Hans de Goede wrote:
> While working on the sound suspend / resume problems with my laptop
> I noticed that the hardware volume handling code in essence just detects
> key presses, and then does some hardcoded modification of the master volume
> based on which key is pressed.
> 
> This made me think that clearly the right thing to do here is just report
> these keypresses to userspace and let userspace decide what to with them.
> 
> This patch adds a Kconfig option which when enabled reports the volume
> buttons as keypresses using an input device. When enabled this option
> also gets rid of the ugly direct ac97 writes from the tasklet, the ac97lock
> and the need for using a tasklet in general.
> 
> As an added bonus the keys now work identical to volume keys on a (usb)
> keyboard with multimedia keys, providing visual feedback of the volume
> level change, and a better range of the volume control (with a properly
> configured desktop environment).
> 
> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>

Tested-by: Ville Syrjälä <syrjala@xxxxxx>

Both SND_MAESTRO3_INPUT=y and SND_MAESTRO3_INPUT=n work fine on my HP
OmniBook 500.

There is one small issue though. I get a spurious key event when I load
the driver. Probably the omnibook GPIO magic causes a spurious event
which then causes the interrupt since the driver doesn't clear the
interrupts before enabling them. I'll send a patch for that.

-- 
Ville Syrjälä
syrjala@xxxxxx
http://www.sci.fi/~syrjala/
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel


[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux