These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / sound / soc / codecs / wm8996.c
index 308748a..f7ccd9f 100644 (file)
@@ -117,7 +117,7 @@ WM8996_REGULATOR_EVENT(0)
 WM8996_REGULATOR_EVENT(1)
 WM8996_REGULATOR_EVENT(2)
 
-static struct reg_default wm8996_reg[] = {
+static const struct reg_default wm8996_reg[] = {
        { WM8996_POWER_MANAGEMENT_1, 0x0 },
        { WM8996_POWER_MANAGEMENT_2, 0x0 },
        { WM8996_POWER_MANAGEMENT_3, 0x0 },
@@ -1590,7 +1590,7 @@ static int wm8996_set_bias_level(struct snd_soc_codec *codec,
                break;
 
        case SND_SOC_BIAS_STANDBY:
-               if (codec->dapm.bias_level == SND_SOC_BIAS_OFF) {
+               if (snd_soc_codec_get_bias_level(codec) == SND_SOC_BIAS_OFF) {
                        ret = regulator_bulk_enable(ARRAY_SIZE(wm8996->supplies),
                                                    wm8996->supplies);
                        if (ret != 0) {
@@ -1628,8 +1628,6 @@ static int wm8996_set_bias_level(struct snd_soc_codec *codec,
                break;
        }
 
-       codec->dapm.bias_level = level;
-
        return 0;
 }
 
@@ -1782,7 +1780,7 @@ static int wm8996_hw_params(struct snd_pcm_substream *substream,
        wm8996->rx_rate[dai->id] = params_rate(params);
 
        /* Needs looking at for TDM */
-       bits = snd_pcm_format_width(params_format(params));
+       bits = params_width(params);
        if (bits < 0)
                return bits;
        aifdata |= (bits << WM8996_AIF1TX_WL_SHIFT) | bits;
@@ -2247,7 +2245,7 @@ int wm8996_detect(struct snd_soc_codec *codec, struct snd_soc_jack *jack,
                  wm8996_polarity_fn polarity_cb)
 {
        struct wm8996_priv *wm8996 = snd_soc_codec_get_drvdata(codec);
-       struct snd_soc_dapm_context *dapm = &codec->dapm;
+       struct snd_soc_dapm_context *dapm = snd_soc_codec_get_dapm(codec);
 
        wm8996->jack = jack;
        wm8996->detecting = true;
@@ -2292,6 +2290,7 @@ EXPORT_SYMBOL_GPL(wm8996_detect);
 
 static void wm8996_hpdet_irq(struct snd_soc_codec *codec)
 {
+       struct snd_soc_dapm_context *dapm = snd_soc_codec_get_dapm(codec);
        struct wm8996_priv *wm8996 = snd_soc_codec_get_drvdata(codec);
        int val, reg, report;
 
@@ -2345,12 +2344,14 @@ out:
        snd_soc_update_bits(codec, WM8996_MIC_DETECT_1, WM8996_MICD_ENA,
                            WM8996_MICD_ENA);
 
-       snd_soc_dapm_disable_pin(&codec->dapm, "Bandgap");
-       snd_soc_dapm_sync(&codec->dapm);
+       snd_soc_dapm_disable_pin(dapm, "Bandgap");
+       snd_soc_dapm_sync(dapm);
 }
 
 static void wm8996_hpdet_start(struct snd_soc_codec *codec)
 {
+       struct snd_soc_dapm_context *dapm = snd_soc_codec_get_dapm(codec);
+
        /* Unclamp the output, we can't measure while we're shorting it */
        snd_soc_update_bits(codec, WM8996_ANALOGUE_HP_1,
                            WM8996_HPOUT1L_RMV_SHORT |
@@ -2359,8 +2360,8 @@ static void wm8996_hpdet_start(struct snd_soc_codec *codec)
                            WM8996_HPOUT1R_RMV_SHORT);
 
        /* We need bandgap for HPDET */
-       snd_soc_dapm_force_enable_pin(&codec->dapm, "Bandgap");
-       snd_soc_dapm_sync(&codec->dapm);
+       snd_soc_dapm_force_enable_pin(dapm, "Bandgap");
+       snd_soc_dapm_sync(dapm);
 
        /* Go into headphone detect left mode */
        snd_soc_update_bits(codec, WM8996_MIC_DETECT_1, WM8996_MICD_ENA, 0);
@@ -3097,7 +3098,6 @@ MODULE_DEVICE_TABLE(i2c, wm8996_i2c_id);
 static struct i2c_driver wm8996_i2c_driver = {
        .driver = {
                .name = "wm8996",
-               .owner = THIS_MODULE,
        },
        .probe =    wm8996_i2c_probe,
        .remove =   wm8996_i2c_remove,