On Fri, 21 Mar 2025 at 14:35, Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> wrote: > > > > On 20/03/2025 14:03, Dmitry Baryshkov wrote: > > On Thu, Mar 20, 2025 at 11:56:32AM +0000, srinivas.kandagatla@xxxxxxxxxx wrote: > >> From: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> > >> > >> On some platforms to minimise pop and click during switching between > >> CTIA and OMTP headset an additional HiFi mux is used. Most common > >> case is that this switch is switched on by default, but on some > >> platforms this needs a regulator enable. > >> > >> move to using mux control to enable both regulator and handle gpios, > >> deprecate the usage of gpio. > >> > >> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> > >> --- > >> sound/soc/codecs/Kconfig | 2 ++ > >> sound/soc/codecs/wcd938x.c | 38 ++++++++++++++++++++++++++++++-------- > >> 2 files changed, 32 insertions(+), 8 deletions(-) > >> > >> diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig > >> index ee35f3aa5521..b04076282c8b 100644 > >> --- a/sound/soc/codecs/Kconfig > >> +++ b/sound/soc/codecs/Kconfig > >> @@ -2226,6 +2226,8 @@ config SND_SOC_WCD938X > >> tristate > >> depends on SOUNDWIRE || !SOUNDWIRE > >> select SND_SOC_WCD_CLASSH > >> + select MULTIPLEXER > >> + imply MUX_GPIO > > > > Why? This is true for a particular platform, isn't it? > > We want to move the codec to use gpio mux instead of using gpios directly > > So this become codec specific, rather than platform. Not quite. "select MULTIPLEXER" is correct and is not questionable. I'm asking about the MUX_GPIO. The codec itself has nothing to do with the board using _GPIO_ to switch 4-pin modes. It is a board-level decision. A board can use an I2C-controlled MUX instead. I'd say, that at least you should describe rationale for this `imply` clause in the commit message. -- With best wishes Dmitry