Skip to content
  • Takashi Iwai's avatar
    5b1ed7df
    Merge tag 'tags/mute-led-rework' into for-next · 5b1ed7df
    Takashi Iwai authored
    ALSA: control - add generic LED API
    
    This patchset tries to resolve the diversity in the audio LED
    control among the ALSA drivers. A new control layer registration
    is introduced which allows to run additional operations on
    top of the elementary ALSA sound controls.
    
    A new control access group (three bits in the access flags)
    was introduced to carry the LED group information for
    the sound controls. The low-level sound drivers can just
    mark those controls using this access group. This information
    is not exported to the user space, but user space can
    manage the LED sound control associations through sysfs
    (last patch) per Mark's request. It makes things fully
    configurable in the kernel and user space (UCM).
    
    The actual state ('route') evaluation is really easy
    (the minimal value check for all channels / controls / cards).
    If there's more complicated logic for a given hardware,
    the card driver may eventually export a new read-only
    sound control for the LED group and do the logic itself.
    
    The new LED trigger control code is completely separated
    and possibly optional (there's no symbol dependency).
    The full code separation allows eventually to move this
    LED trigger control to the user space in future.
    Actually it replaces the already present functionality
    in the kernel space (HDA drivers) and allows a quick adoption
    for the recent hardware (ASoC codecs including SoundWire).
    
    snd_ctl_led            24576  0
    
    The sound driver implementation is really easy:
    
    1) call snd_ctl_led_request() when control LED layer should be
       automatically activated
       / it calls module_request("snd-ctl-led") on demand /
    2) mark all related kcontrols with
            SNDRV_CTL_ELEM_ACCESS_SPK_LED or
            SNDRV_CTL_ELEM_ACCESS_MIC_LED
    
    Link: https://lore.kernel.org/r/20210317172945.842280-1-perex@perex.cz
    
    
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    5b1ed7df
    Merge tag 'tags/mute-led-rework' into for-next
    Takashi Iwai authored
    ALSA: control - add generic LED API
    
    This patchset tries to resolve the diversity in the audio LED
    control among the ALSA drivers. A new control layer registration
    is introduced which allows to run additional operations on
    top of the elementary ALSA sound controls.
    
    A new control access group (three bits in the access flags)
    was introduced to carry the LED group information for
    the sound controls. The low-level sound drivers can just
    mark those controls using this access group. This information
    is not exported to the user space, but user space can
    manage the LED sound control associations through sysfs
    (last patch) per Mark's request. It makes things fully
    configurable in the kernel and user space (UCM).
    
    The actual state ('route') evaluation is really easy
    (the minimal value check for all channels / controls / cards).
    If there's more complicated logic for a given hardware,
    the card driver may eventually export a new read-only
    sound control for the LED group and do the logic itself.
    
    The new LED trigger control code is completely separated
    and possibly optional (there's no symbol dependency).
    The full code separation allows eventually to move this
    LED trigger control to the user space in future.
    Actually it replaces the already present functionality
    in the kernel space (HDA drivers) and allows a quick adoption
    for the recent hardware (ASoC codecs including SoundWire).
    
    snd_ctl_led            24576  0
    
    The sound driver implementation is really easy:
    
    1) call snd_ctl_led_request() when control LED layer should be
       automatically activated
       / it calls module_request("snd-ctl-led") on demand /
    2) mark all related kcontrols with
            SNDRV_CTL_ELEM_ACCESS_SPK_LED or
            SNDRV_CTL_ELEM_ACCESS_MIC_LED
    
    Link: https://lore.kernel.org/r/20210317172945.842280-1-perex@perex.cz
    
    
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Loading