[alsa-devel] [PATCH 1/2] ASoC: DaVinci: Voice Codec Support

Mark Brown broonie at opensource.wolfsonmicro.com
Mon Jan 18 19:13:04 CET 2010


On Mon, Jan 18, 2010 at 11:58:45AM -0600, Miguel Aguilar wrote:
> Hi Mark,

> >>+	(*pdev)->dev.parent = davinci_vc->dev;
> >>+	platform_set_drvdata(*pdev, davinci_vc);

> >Newer drivers are tending to do this by looking at dev->parent in the
> >child device rather than using the

> Can you tell me what is driver that is using this new tend? Is this
> a wrong way to register the clients?

wm831x is one example, but there's others.

> >>+#include <linux/delay.h>
> >>+#include <linux/pm.h>
> >>+#include <linux/i2c.h>

> >Not needed.
> What headers are not needed?

linux/i2c.h

> >>+				  snd_soc_cnew(&cq93vc_snd_controls[i],
> >>+					       codec, NULL));
> >>+		if (err < 0)
> >>+			return err;
> >>+	}

> >This is snd_soc_add_controls().

> So I can call directly snd_soc_add_controls instead of using the function above?

Yes, your code above is just an open coded version of that function so
you can just replace your function with a call to snd_soc_add_controls().

> >These are actually mostly redundant with this hardware - the core will
> >bring the driver down to _STANDBY before suspending the driver and your
> >_STANDBY and _OFF states are equivalent.  This means that both functions
> >should end up being noops.  On the other hand they do no harm.

> This means that I can get rid of the function suspend?

Yup.

> >>+	/* Set the DAC digital attenuation to 0 dB */
> >>+	cq93vc_write(codec, DAVINCI_VC_REG09, DAVINCI_VC_REG09_DIG_ATTEN);

> >The standard thing for things like this is to leave the defaults in the
> >driver as whatever the hardware default is then let either the machine
> >driver or (better) userspace override it.  This avoids issues with
> >defaults being good for one system and not another.

> So, Should I remove the values that I seeting above, and let the
> hardware use its default values?

Yes.

> >This has been removed in favour of relying on more generic kernel
> >mechanisms (hopefully).\

> What was exactly removed here the NULL version of the functions or
> the functions itself.

The functions themselves.


More information about the Alsa-devel mailing list