• Hans de Goede's avatar
    ASoC: arizona-jack: Use snd_soc_jack to report jack events · 236b7285
    Hans de Goede authored
    Use the snd_soc_jack code to report jack events, instead of using extcon
    for reporting the cable-type + an input_dev for reporting the button
    presses.
    
    The snd_soc_jack code will report the cable-type through both input_dev
    events and through ALSA controls and the button-presses through input_dev
    events.
    
    Note that this means that when the codec drivers are moved over to use
    the new arizona-jack.c library code instead of having a separate MFD
    extcon cell with the extcon-arizona.c driver, we will no longer report
    extcon events to userspace for cable-type changes. This should not be
    a problem since "standard" Linux distro userspace does not (and has
    never) used the extcon class interface for this. Android does have
    support for the extcon class interface, but that was introduced in
    the same release as support for input_dev cable-type events, so this
    should not be a problem for Android either.
    
    Note this also reduces ARIZONA_MAX_MICD_RANGE from 8 to 6, this is
    ok to do since this info is always provided through pdata (or defaults)
    and cannot be overridden from devicetree. All in-kernel users of the
    pdata (and the fallback defaults) define 6 or less buttons/ranges.
    Reviewed-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
    Acked-by: default avatarCharles Keepax <ckeepax@opensource.cirrus.com>
    Tested-by: default avatarCharles Keepax <ckeepax@opensource.cirrus.com>
    Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
    Link: https://lore.kernel.org/r/20210307151807.35201-11-hdegoede@redhat.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
    236b7285
arizona-jack.c 42.7 KB