On 21/03/2025 13:16, Dmitry Baryshkov wrote:
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.
I agree to you point, but historically in this case us/euro selection is
only driven by gpio. But I see no harm in moving the MUX_GPIO dependency
to machine driver KConfigs.
Will fix this in v3.
thanks,
Srini