Message ID | 20171017095729.6032-1-l.stach@pengutronix.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Oct 17, 2017 at 11:57:29AM +0200, Lucas Stach wrote: > Commit cb7e62256e99( ASoC: tpa6130a2: Register component) removed the chip > name from the controls, which causes issues as the TPA61xx is not a > standalone codec, but a headphone amplifier, which may be connected to the > line out of a codec which already exposes a "Headphone Playback Volume" > control. In that case we end up with duplicate controls, causing the > the probe of the soundcard to be aborted. In this case the intention is that the machine driver should add a prefix via name_prefix in a struct snd_soc_codec_conf.
Am Dienstag, den 17.10.2017, 11:14 +0100 schrieb Mark Brown: > On Tue, Oct 17, 2017 at 11:57:29AM +0200, Lucas Stach wrote: > > Commit cb7e62256e99( ASoC: tpa6130a2: Register component) removed > > the chip > > name from the controls, which causes issues as the TPA61xx is not a > > standalone codec, but a headphone amplifier, which may be connected > > to the > > line out of a codec which already exposes a "Headphone Playback > > Volume" > > control. In that case we end up with duplicate controls, causing > > the > > the probe of the soundcard to be aborted. > > In this case the intention is that the machine driver should add a > prefix via name_prefix in a struct snd_soc_codec_conf. Thanks for the pointer. In my case the machine driver is the simple-card. I'll have a look at how I can get the prefix hooked up there. Regards, Lucas
diff --git a/sound/soc/codecs/tpa6130a2.c b/sound/soc/codecs/tpa6130a2.c index 2e014c80d113..abca7eedb6be 100644 --- a/sound/soc/codecs/tpa6130a2.c +++ b/sound/soc/codecs/tpa6130a2.c @@ -136,7 +136,7 @@ static const DECLARE_TLV_DB_RANGE(tpa6130_tlv, ); static const struct snd_kcontrol_new tpa6130a2_controls[] = { - SOC_SINGLE_TLV("Headphone Playback Volume", + SOC_SINGLE_TLV("TPA6130A2 Headphone Playback Volume", TPA6130A2_REG_VOL_MUTE, 0, 0x3f, 0, tpa6130_tlv), }; @@ -148,7 +148,7 @@ static const DECLARE_TLV_DB_RANGE(tpa6140_tlv, ); static const struct snd_kcontrol_new tpa6140a2_controls[] = { - SOC_SINGLE_TLV("Headphone Playback Volume", + SOC_SINGLE_TLV("TPA6140A2 Headphone Playback Volume", TPA6130A2_REG_VOL_MUTE, 1, 0x1f, 0, tpa6140_tlv), };
Commit cb7e62256e99( ASoC: tpa6130a2: Register component) removed the chip name from the controls, which causes issues as the TPA61xx is not a standalone codec, but a headphone amplifier, which may be connected to the line out of a codec which already exposes a "Headphone Playback Volume" control. In that case we end up with duplicate controls, causing the the probe of the soundcard to be aborted. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> --- sound/soc/codecs/tpa6130a2.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)