extcon: arizona: Use SoC component pin control functions
authorRichard Fitzgerald <rf@opensource.wolfsonmicro.com>
Tue, 29 Nov 2016 15:44:41 +0000 (15:44 +0000)
committerMark Brown <broonie@kernel.org>
Thu, 1 Dec 2016 20:18:44 +0000 (20:18 +0000)
The name of a codec pin can have an optional prefix string, which is
defined by the SoC machine driver. The snd_soc_dapm_x_pin functions
take the fully-specified name including the prefix and so the existing
code would fail to find the pin if the audio machine driver had added
a prefix.

Switch to using the snd_soc_component_x_pin equivalent functions that
take a specified SoC component and automatically add the name prefix to
the provided pin name.

Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Acked-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/extcon/extcon-arizona.c

index 56e6c4c..d836d4c 100644 (file)
@@ -274,9 +274,10 @@ static void arizona_extcon_pulse_micbias(struct arizona_extcon_info *info)
        struct arizona *arizona = info->arizona;
        const char *widget = arizona_extcon_get_micbias(info);
        struct snd_soc_dapm_context *dapm = arizona->dapm;
+       struct snd_soc_component *component = snd_soc_dapm_to_component(dapm);
        int ret;
 
-       ret = snd_soc_dapm_force_enable_pin(dapm, widget);
+       ret = snd_soc_component_force_enable_pin(component, widget);
        if (ret != 0)
                dev_warn(arizona->dev, "Failed to enable %s: %d\n",
                         widget, ret);
@@ -284,7 +285,7 @@ static void arizona_extcon_pulse_micbias(struct arizona_extcon_info *info)
        snd_soc_dapm_sync(dapm);
 
        if (!arizona->pdata.micd_force_micbias) {
-               ret = snd_soc_dapm_disable_pin(arizona->dapm, widget);
+               ret = snd_soc_component_disable_pin(component, widget);
                if (ret != 0)
                        dev_warn(arizona->dev, "Failed to disable %s: %d\n",
                                 widget, ret);
@@ -349,6 +350,7 @@ static void arizona_stop_mic(struct arizona_extcon_info *info)
        struct arizona *arizona = info->arizona;
        const char *widget = arizona_extcon_get_micbias(info);
        struct snd_soc_dapm_context *dapm = arizona->dapm;
+       struct snd_soc_component *component = snd_soc_dapm_to_component(dapm);
        bool change;
        int ret;
 
@@ -356,7 +358,7 @@ static void arizona_stop_mic(struct arizona_extcon_info *info)
                                 ARIZONA_MICD_ENA, 0,
                                 &change);
 
-       ret = snd_soc_dapm_disable_pin(dapm, widget);
+       ret = snd_soc_component_disable_pin(component, widget);
        if (ret != 0)
                dev_warn(arizona->dev,
                         "Failed to disable %s: %d\n",