On Mon, Feb 14, 2022 at 04:57:16PM -0300, Fabio Estevam wrote:
From: Fabio Estevam festevam@denx.de Currently, the following error messages are seen during boot:
asoc-simple-card sound: control 2:0:0:SPDIF Switch:0 is already present cs4265 1-004f: ASoC: failed to add widget SPDIF dapm kcontrol SPDIF Switch: -16
Quoting Mark Brown:
"The driver is just plain buggy, it defines both a regular SPIDF Switch control and a SND_SOC_DAPM_SWITCH() called SPDIF both of which will create an identically named control, it can never have loaded without error. One or both of those has to be renamed."
Rename it from "SPDIF Switch" to "SPDIF" to avoid the name confict.
Signed-off-by: Fabio Estevam festevam@denx.de
sound/soc/codecs/cs4265.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/codecs/cs4265.c b/sound/soc/codecs/cs4265.c index c338c9f6cf91..8891e9275cba 100644 --- a/sound/soc/codecs/cs4265.c +++ b/sound/soc/codecs/cs4265.c @@ -150,7 +150,7 @@ static const struct snd_kcontrol_new cs4265_snd_controls[] = { SOC_SINGLE("E to F Buffer Disable Switch", CS4265_SPDIF_CTL1, 6, 1, 0), SOC_ENUM("C Data Access", cam_mode_enum),
- SOC_SINGLE("SPDIF Switch", CS4265_SPDIF_CTL2, 5, 1, 1),
- SOC_SINGLE("SPDIF", CS4265_SPDIF_CTL2, 5, 1, 1),
Looking through the code I think its probably better to combine the two controls here. It looks like you would need to set both to enable the SPDIF and I don't really see any reason for them to be different. I think you can just move the register bits onto the DAPM widget and have DAPM control them.
This patch also probably needs a fixes tag:
Fixes: f853d6b3ba34 ("ASoC: cs4265: Add a S/PDIF enable switch")
Apologies for missing this in my review of the original patch. Let me know if you want me to have a bash at combining them.
Thanks, Charles