
Hi,
Commit "cf7c1de20c576 ASoC: dapm: Move 'value' field from widget to control" changed the way how the 'value' has been stored for a widget. This resulted issues with codec drivers needing and using custom dapm put callbacks to handle the hw underneath, like the tlv320aic3x driver. Since the driver is not updated following the mentioned commit it is mostly broken when we try to change Left/Righ PGA mixers:
amixer sset 'Left PGA Mixer Line1L' off amixer: Invalid command!
The reason for this is that the custom callback was not calling the dapm_kcontrol_set_value() to store the value which causes inconsistent state between the HW and dapm.
Regards, Peter --- Peter Ujfalusi (2): ASoC: dapm: Export dapm_kcontrol_set_value() so it can be used by drivers ASoC: tlv320aic3x: Fix Left/Rigth PGA mixer widgets/kcontrols
include/sound/soc-dapm.h | 3 +++ sound/soc/codecs/tlv320aic3x.c | 14 +++++++------- sound/soc/soc-dapm.c | 3 ++- 3 files changed, 12 insertions(+), 8 deletions(-)