ASoC: arizona: Add new common Arizona init function
authorCharles Keepax <ckeepax@opensource.cirrus.com>
Mon, 4 Sep 2017 15:41:48 +0000 (16:41 +0100)
committerMark Brown <broonie@kernel.org>
Tue, 19 Sep 2017 14:57:56 +0000 (15:57 +0100)
Currently the driver has quite a few small initialisation functions, in
preparation for some refactoring add a new function arizona_init_common.
This will be used bus probe level initialisation that is common across
Arizona devices. For now just move the notifier chain initialisation in
there.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/arizona.c
sound/soc/codecs/arizona.h
sound/soc/codecs/cs47l24.c
sound/soc/codecs/wm5102.c
sound/soc/codecs/wm5110.c
sound/soc/codecs/wm8997.c
sound/soc/codecs/wm8998.c

index a1149f6a8450e71031c5bb3dd21c82a468c11700..ba5f57a5821957a14b77212fc6b5318820881e93 100644 (file)
@@ -293,16 +293,13 @@ int arizona_init_gpio(struct snd_soc_codec *codec)
 }
 EXPORT_SYMBOL_GPL(arizona_init_gpio);
 
-int arizona_init_notifiers(struct snd_soc_codec *codec)
+int arizona_init_common(struct arizona *arizona)
 {
-       struct arizona_priv *priv = snd_soc_codec_get_drvdata(codec);
-       struct arizona *arizona = priv->arizona;
-
        BLOCKING_INIT_NOTIFIER_HEAD(&arizona->notifier);
 
        return 0;
 }
-EXPORT_SYMBOL_GPL(arizona_init_notifiers);
+EXPORT_SYMBOL_GPL(arizona_init_common);
 
 const char * const arizona_mixer_texts[ARIZONA_NUM_MIXER_INPUTS] = {
        "None",
index 1822e3b3de805986001f8a037fb0b91f1f83d8c0..292073ca3bd96b007fbe4806b997429dcb7ef5d8 100644 (file)
@@ -313,7 +313,8 @@ int arizona_set_fll(struct arizona_fll *fll, int source,
 int arizona_init_spk(struct snd_soc_codec *codec);
 int arizona_init_gpio(struct snd_soc_codec *codec);
 int arizona_init_mono(struct snd_soc_codec *codec);
-int arizona_init_notifiers(struct snd_soc_codec *codec);
+
+int arizona_init_common(struct arizona *arizona);
 
 int arizona_init_spk_irqs(struct arizona *arizona);
 int arizona_free_spk_irqs(struct arizona *arizona);
index e09fc8f037f10c5f04d62369c89852ab3b9273cc..fdcc7318993bd59c20dabe4bb708b5e37e1c3646 100644 (file)
@@ -1130,7 +1130,6 @@ static int cs47l24_codec_probe(struct snd_soc_codec *codec)
 
        arizona_init_gpio(codec);
        arizona_init_mono(codec);
-       arizona_init_notifiers(codec);
 
        ret = wm_adsp2_codec_probe(&priv->core.adsp[1], codec);
        if (ret)
@@ -1288,6 +1287,8 @@ static int cs47l24_probe(struct platform_device *pdev)
                return ret;
        }
 
+       arizona_init_common(arizona);
+
        ret = arizona_init_spk_irqs(arizona);
        if (ret < 0)
                goto err_dsp_irq;
index 72486bf072f2854de417804afab7002158f8b333..8354bdf7fc156c3d59956fee88a70a3a1090dd99 100644 (file)
@@ -1951,7 +1951,6 @@ static int wm5102_codec_probe(struct snd_soc_codec *codec)
                return ret;
 
        arizona_init_gpio(codec);
-       arizona_init_notifiers(codec);
 
        snd_soc_component_disable_pin(component, "HAPTICS");
 
@@ -2098,6 +2097,8 @@ static int wm5102_probe(struct platform_device *pdev)
                return ret;
        }
 
+       arizona_init_common(arizona);
+
        ret = arizona_init_spk_irqs(arizona);
        if (ret < 0)
                goto err_dsp_irq;
index 858a24fc28e80065052d4bff98831680197c5927..0437df60be77a7f7667476ec3f638ab5b7a035ec 100644 (file)
@@ -2290,7 +2290,6 @@ static int wm5110_codec_probe(struct snd_soc_codec *codec)
 
        arizona_init_gpio(codec);
        arizona_init_mono(codec);
-       arizona_init_notifiers(codec);
 
        for (i = 0; i < WM5110_NUM_ADSP; ++i) {
                ret = wm_adsp2_codec_probe(&priv->core.adsp[i], codec);
@@ -2454,6 +2453,8 @@ static int wm5110_probe(struct platform_device *pdev)
                return ret;
        }
 
+       arizona_init_common(arizona);
+
        ret = arizona_init_spk_irqs(arizona);
        if (ret < 0)
                goto err_dsp_irq;
index 49401a8aae64a972ceaf4e1a4d79717a2e9b6603..91c3c3e052d169b3a3c866dabd2dfe17c81bd2e7 100644 (file)
@@ -1068,8 +1068,6 @@ static int wm8997_codec_probe(struct snd_soc_codec *codec)
        if (ret < 0)
                return ret;
 
-       arizona_init_notifiers(codec);
-
        snd_soc_component_disable_pin(component, "HAPTICS");
 
        priv->core.arizona->dapm = dapm;
@@ -1168,6 +1166,8 @@ static int wm8997_probe(struct platform_device *pdev)
        pm_runtime_enable(&pdev->dev);
        pm_runtime_idle(&pdev->dev);
 
+       arizona_init_common(arizona);
+
        ret = arizona_init_spk_irqs(arizona);
        if (ret < 0)
                return ret;
index 44f447136e224d3206839cbf1dee1a62143cae9f..27a8e1e75f2851c9f86bde7e3f2f6913d0b05109 100644 (file)
@@ -1330,7 +1330,6 @@ static int wm8998_codec_probe(struct snd_soc_codec *codec)
                return ret;
 
        arizona_init_gpio(codec);
-       arizona_init_notifiers(codec);
 
        snd_soc_component_disable_pin(component, "HAPTICS");
 
@@ -1423,6 +1422,8 @@ static int wm8998_probe(struct platform_device *pdev)
        pm_runtime_enable(&pdev->dev);
        pm_runtime_idle(&pdev->dev);
 
+       arizona_init_common(arizona);
+
        ret = arizona_init_spk_irqs(arizona);
        if (ret < 0)
                return ret;