• Hans de Goede's avatar
    ALSA: snd-maestro3: Make hardware volume buttons an input device (rev2) · eb581adf
    Hans de Goede authored
    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: default avatarHans de Goede <hdegoede@redhat.com>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    eb581adf
maestro3.c 85.2 KB