Merge remote-tracking branch 'asoc/topic/rt5670' into asoc-next
[deliverable/linux.git] / sound / soc / codecs / sta32x.c
index 007a0e3bc2735c0c6f9d8325f15445657fcfd374..60eff36260cbdac1f2b2f406cd79a55811b290dd 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++)
This page took 0.030121 seconds and 5 git commands to generate.