summaryrefslogtreecommitdiffstats
path: root/sound/pci/Kconfig
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2010-04-23 05:26:42 -0400
committerTakashi Iwai <tiwai@suse.de>2010-04-23 17:09:46 +0200
commiteb581adf25fe9e42197e591926de85459e68b9fd (patch)
tree9967f82156d9ab138c96adefa4771a420470fabe /sound/pci/Kconfig
parent20133d4cd329af7a02ee5af36bba1796d5ff7b1d (diff)
downloadop-kernel-dev-eb581adf25fe9e42197e591926de85459e68b9fd.zip
op-kernel-dev-eb581adf25fe9e42197e591926de85459e68b9fd.tar.gz
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>
Diffstat (limited to 'sound/pci/Kconfig')
-rw-r--r--sound/pci/Kconfig10
1 files changed, 10 insertions, 0 deletions
diff --git a/sound/pci/Kconfig b/sound/pci/Kconfig
index 517ae65..ebcf065 100644
--- a/sound/pci/Kconfig
+++ b/sound/pci/Kconfig
@@ -667,6 +667,16 @@ config SND_MAESTRO3
To compile this driver as a module, choose M here: the module
will be called snd-maestro3.
+config SND_MAESTRO3_INPUT
+ bool "Enable input device for maestro3 volume buttons"
+ depends on SND_MAESTRO3
+ depends on INPUT=y || INPUT=SND_MAESTRO3
+ help
+ If you say Y here, you will get an input device which reports
+ keypresses for the volume buttons connected to the maestro3 chip.
+ If you say N the buttons will directly control the master volume.
+ It is recommended to say Y.
+
config SND_MIXART
tristate "Digigram miXart"
select SND_HWDEP
OpenPOWER on IntegriCloud