13 Sep
2012
13 Sep
'12
4:29 p.m.
Timur Tabi wrote:
iprop = of_get_property(np, "wlf,discharge-resistance", &len);
if (iprop && len == sizeof(uint32_t))
pdata->dres = be32_to_cpup(iprop);
I just noticed that pdata->dres isn't actually used in the driver. In fact, I'm also confused by the DISOP bit. The datasheet says that the default value of DISOP is 0. However, the only time we touch register R29 is here:
case SND_SOC_BIAS_STANDBY: switch (codec->dapm.bias_level) { case SND_SOC_BIAS_PREPARE: /* Disable HP discharge */ snd_soc_update_bits(codec, WM8960_APOP2, WM8960_DISOP | WM8960_DRES_MASK, 0);
All we do here is set DISOP and DRES_MASK to 0, which they should already be.
Am I missing something?
--
Timur Tabi
Linux kernel developer at Freescale