Re: [PATCH] ASoC: Add PCM1681 codec driver.
From: Mark Brown <broonie@kernel.org>
Date: 2013-06-26 14:30:08
Also in:
alsa-devel, lkml
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.