On Fri, Mar 06, 2015 at 02:09:20PM -0700, Eric Nelson wrote:
On 03/06/2015 01:04 PM, Mark Brown wrote:
case SND_SOC_BIAS_STANDBY: if (codec->dapm.bias_level == SND_SOC_BIAS_OFF) { ret = regulator_bulk_enable( - ARRAY_SIZE(sgtl5000->supplies), + sgtl5000->num_supplies, sgtl5000->supplies);
so we avoid stuff like this.
I understand the intent, but that doesn't work. If the internal LDO is wrapped in a regulator and placed here, the sequence needs to be: enable VDDIO and VDDA regulators re-enable the clock wait 8 cycles enable the LDO for VDDD
So make the changelog actually say that - I'm commenting on the fact that your changelog appears to misunderstand the current code.
- /* External VDDD only works before revision 0x11 */ - if
(sgtl5000->revision < 0x11) { - vddd = regulator_get_optional(codec->dev, "VDDD");
It'd be good to keep at least a warning about this (not that there's one now but it's a good idea).
I haven't been able to find the origin of this test, but it's in conflict with ER1.
My reading of the situation is that early silicon had one set of bugs, current silicon fixed those but introduced a different set.