[PATCH] ASoC: Add PCM1681 codec driver.

Mark Brown broonie at kernel.org
Thu Jun 27 00:30:01 EST 2013


On Wed, Jun 26, 2013 at 03:05:28PM +0200, Marek Belisko wrote:

> +#define PCM1681_ATT_CONTROL(X)	(X <= 6 ? X : X + 9) /* Attenuation level */

Write a function for this.

> +static bool pcm1681_writeable_reg(struct device *dev, unsigned register reg)
> +{
> +	return pcm1681_accessible_reg(dev, reg) &&
> +		(reg != PCM1681_ZERO_DETECT_STATUS);
> +}

> +static int pcm1681_digital_mute(struct snd_soc_dai *dai, int mute)
> +{
> +	struct snd_soc_codec *codec = dai->codec;
> +	struct pcm1681_private *priv = snd_soc_codec_get_drvdata(codec);
> +	int ret, val = 0;
> +
> +	if (mute)
> +		val = PCM1681_SOFT_MUTE_ALL;
> +

This would be clearer if written as an if .. else - otherwise it looks
like an uninitalised value might be used.

> +static int pcm1681_hw_params(struct snd_pcm_substream *substream,
> +			     struct snd_pcm_hw_params *params,
> +			     struct snd_soc_dai *dai)
> +{
> +	struct snd_soc_codec *codec = dai->codec;
> +	struct pcm1681_private *priv = snd_soc_codec_get_drvdata(codec);
> +	int val = 0;
> +	int pcm_format = params_format(params);
> +
> +	priv->rate = params_rate(params);
> +

Shouldn't there be a call to set the deemphasis here?

> +static int pcm1681_probe(struct snd_soc_codec *codec)
> +{
> +	return 0;
> +}
> +
> +static int pcm1681_remove(struct snd_soc_codec *codec)
> +{
> +	return 0;
> +}

Remove empty functions.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.ozlabs.org/pipermail/devicetree-discuss/attachments/20130626/f804f178/attachment-0001.sig>


More information about the devicetree-discuss mailing list