ALSA: snd-maestro3: Make hardware volume buttons an input device (rev2)
authorHans de Goede <hdegoede@redhat.com>
Fri, 23 Apr 2010 09:26:42 +0000 (05:26 -0400)
committerTakashi Iwai <tiwai@suse.de>
Fri, 23 Apr 2010 15:09:46 +0000 (17:09 +0200)
commiteb581adf25fe9e42197e591926de85459e68b9fd
tree9967f82156d9ab138c96adefa4771a420470fabe
parent20133d4cd329af7a02ee5af36bba1796d5ff7b1d
ALSA: snd-maestro3: Make hardware volume buttons an input device (rev2)

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@redhat.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/Kconfig
sound/pci/maestro3.c