Merge branch 'for-3.2' into for-3.3
[deliverable/linux.git] / sound / soc / codecs / cs42l51.c
index 8c3c8205d19e99016e47b1564aa58cbdf91b0bab..528510b8e5de4962441e1352bed424c7fae53c84 100644 (file)
@@ -22,7 +22,6 @@
  */
 
 #include <linux/module.h>
-#include <linux/platform_device.h>
 #include <linux/slab.h>
 #include <sound/core.h>
 #include <sound/soc.h>
@@ -175,21 +174,18 @@ static const struct snd_kcontrol_new cs42l51_snd_controls[] = {
 static int cs42l51_pdn_event(struct snd_soc_dapm_widget *w,
                struct snd_kcontrol *kcontrol, int event)
 {
-       unsigned long value;
-
-       value = snd_soc_read(w->codec, CS42L51_POWER_CTL1);
-       value &= ~CS42L51_POWER_CTL1_PDN;
-
        switch (event) {
        case SND_SOC_DAPM_PRE_PMD:
-               value |= CS42L51_POWER_CTL1_PDN;
+               snd_soc_update_bits(w->codec, CS42L51_POWER_CTL1,
+                                   CS42L51_POWER_CTL1_PDN,
+                                   CS42L51_POWER_CTL1_PDN);
                break;
        default:
        case SND_SOC_DAPM_POST_PMD:
+               snd_soc_update_bits(w->codec, CS42L51_POWER_CTL1,
+                                   CS42L51_POWER_CTL1_PDN, 0);
                break;
        }
-       snd_soc_update_bits(w->codec, CS42L51_POWER_CTL1,
-               CS42L51_POWER_CTL1_PDN, value);
 
        return 0;
 }
@@ -486,7 +482,7 @@ static int cs42l51_dai_mute(struct snd_soc_dai *dai, int mute)
        return snd_soc_write(codec, CS42L51_DAC_OUT_CTL, reg);
 }
 
-static struct snd_soc_dai_ops cs42l51_dai_ops = {
+static const struct snd_soc_dai_ops cs42l51_dai_ops = {
        .hw_params      = cs42l51_hw_params,
        .set_sysclk     = cs42l51_set_dai_sysclk,
        .set_fmt        = cs42l51_set_dai_fmt,
@@ -555,7 +551,7 @@ static int cs42l51_probe(struct snd_soc_codec *codec)
 
 static struct snd_soc_codec_driver soc_codec_device_cs42l51 = {
        .probe =        cs42l51_probe,
-       .reg_cache_size = CS42L51_NUMREGS,
+       .reg_cache_size = CS42L51_NUMREGS + 1,
        .reg_word_size = sizeof(u8),
 };
 
This page took 0.025322 seconds and 5 git commands to generate.