
On 05/27/2014 12:53 PM, Peter Ujfalusi wrote:
Commit "cf7c1de20c576 ASoC: dapm: Move 'value' field from widget to control" changed the way how the 'value' has been stored for a widget. Since the driver is not updated following the mentioned commit it is mostly broken when we try to change mixers for Left/Right PGA since the value is not going to be updated correctly.
I don't think the mentioned commit is the cause. The driver didn't set widget->value either, so there is no change in behavior here. The commit only changed where the value is stored not how it is handled.
This driver uses a custom put handler and the generic get handler. dapm_kcontrol_get_value() is used in the generic get handler, but only if reg equal to SND_SOC_NOPM. Which is not the case for this driver. And that's the only place where the value stored for the kcontrol is used. I don't see how calling dapm_kcontrol_set_value() or not calling dapm_kcontrol_set_value() changes anything.
I might be missing something, but I think the issue is somewhere else.
- Lars