These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / sound / soc / codecs / sta32x.c
index 007a0e3..a9844b2 100644 (file)
@@ -819,7 +819,7 @@ static int sta32x_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(sta32x->supplies),
                                                    sta32x->supplies);
                        if (ret != 0) {
@@ -854,7 +854,6 @@ static int sta32x_set_bias_level(struct snd_soc_codec *codec,
                                       sta32x->supplies);
                break;
        }
-       codec->dapm.bias_level = level;
        return 0;
 }
 
@@ -970,7 +969,7 @@ static int sta32x_probe(struct snd_soc_codec *codec)
        if (sta32x->pdata->needs_esd_watchdog)
                INIT_DELAYED_WORK(&sta32x->watchdog_work, sta32x_watchdog);
 
-       sta32x_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
+       snd_soc_codec_force_bias_level(codec, SND_SOC_BIAS_STANDBY);
        /* Bias level configuration will have done an extra enable */
        regulator_bulk_disable(ARRAY_SIZE(sta32x->supplies), sta32x->supplies);
 
@@ -1096,16 +1095,10 @@ static int sta32x_i2c_probe(struct i2c_client *i2c,
 #endif
 
        /* GPIOs */
-       sta32x->gpiod_nreset = devm_gpiod_get(dev, "reset");
-       if (IS_ERR(sta32x->gpiod_nreset)) {
-               ret = PTR_ERR(sta32x->gpiod_nreset);
-               if (ret != -ENOENT && ret != -ENOSYS)
-                       return ret;
-
-               sta32x->gpiod_nreset = NULL;
-       } else {
-               gpiod_direction_output(sta32x->gpiod_nreset, 0);
-       }
+       sta32x->gpiod_nreset = devm_gpiod_get_optional(dev, "reset",
+                                                      GPIOD_OUT_LOW);
+       if (IS_ERR(sta32x->gpiod_nreset))
+               return PTR_ERR(sta32x->gpiod_nreset);
 
        /* regulators */
        for (i = 0; i < ARRAY_SIZE(sta32x->supplies); i++)
@@ -1151,7 +1144,6 @@ MODULE_DEVICE_TABLE(i2c, sta32x_i2c_id);
 static struct i2c_driver sta32x_i2c_driver = {
        .driver = {
                .name = "sta32x",
-               .owner = THIS_MODULE,
                .of_match_table = of_match_ptr(st32x_dt_ids),
        },
        .probe =    sta32x_i2c_probe,