[alsa-devel] Need help with WM8960

Timur Tabi timur at freescale.com
Thu Sep 13 18:29:10 CEST 2012


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



More information about the Alsa-devel mailing list