• Adam Thomson's avatar
    ASoC: da7218: Enable mic level detection reporting to user-space · e05c25a1
    Adam Thomson authored
    This patch adds support to the codec driver to handle mic level
    detect related IRQs, and report these to user-space using a uevent
    variable.
    
    The uevent variable string "EVENT=MIC_LEVEL_DETECT" is sent to
    user-space, if the mic level detect feature is enabled, and the
    audio captured at the chosen mic(s) is above a certain threshold.
    User-space can then handle the event accordingly (e.g. process
    audio capture stream).
    
    This method was chosen over ALSA control notification for a couple
    of reasons:
    
     1) There's no requirement here for a control to read state from.
        The event is the only thing that's required and of interest.
     2) tinyalsa support for control notifications does not exist so on
        platforms using this over alsa-lib there is a need to add code
        to support this event handling.
    
    Another possible option would be to use the standard Jack reporting
    framework but this really does not fit for this kind of event.
    
    Finally, use of the input device framework is not being encouraged,
    due to difficulties in enabling apps to access input devices, so
    this has also been avoided.
    Signed-off-by: default avatarAdam Thomson <Adam.Thomson.Opensource@diasemi.com>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    e05c25a1
da7218.c 105 KB