• Hans de Goede's avatar
    ASoC: rt5670: Remove 'OUT Channel Switch' control · d917b5dd
    Hans de Goede authored
    The "OUT Channel Switch" control is a left over from code copied from
    thr rt5640 codec driver.
    
    With the rt5640 codec driver the output volume controls have 2 pairs of
    mute bits:
    bit 7, 15: Mute Control for Spk/Headphone/Line Output Port
    bit 6, 14: Mute Control for Spk/Headphone/Line Volume Channel
    
    Bits 7 and 15 are normal mute bits on the rt5670/5672 which are
    controlled by 2 dapm widgets:
    	SND_SOC_DAPM_SWITCH("LOUT L Playback", SND_SOC_NOPM, 0, 0,
    			    &lout_l_enable_control),
    	SND_SOC_DAPM_SWITCH("LOUT R Playback", SND_SOC_NOPM, 0, 0,
    			    &lout_r_enable_control),
    
    But on the 5670/5672 bit 6 is always reserved, where as bit 14 is
    "LOUT Differential Mode" on the 5670 and also reserved on the 5672.
    
    So the "OUT Channel Switch" control which is controlling bits 6+14
    of the "LINE Output Control" register is bogus -> remove it.
    
    This should not cause any issues for userspace. AFAICT the rt567x codecs
    are only used on x86/ACPI devices and the UCM profiles used there do not
    use the "OUT Channel Switch" control.
    Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
    Link: https://lore.kernel.org/r/20210215142118.308516-2-hdegoede@redhat.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
    d917b5dd
rt5670.c 97.3 KB