On Wed, Jun 26, 2013 at 03:05:28PM +0200, Marek Belisko wrote:This macro is used when creating controls for channels volume so this cannot be rewritten to function. I also thinking about updating macro name to PCM1681_CHANNEL_VOL(X).
+#define PCM1681_ATT_CONTROL(X) (X <= 6 ? X : X + 9) /* Attenuation level */
Write a function for this.
OK.
+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.
Right. I'll add it here.
+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?
Will do.
+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.