ASoC: arizona: Add handling for audio related device tree entries
[linux-2.6-block.git] / sound / soc / codecs / cs47l24.c
index e09fc8f037f10c5f04d62369c89852ab3b9273cc..0fe7d7a87ff33c550f6593919e74afdf299b2449 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)
@@ -1230,6 +1229,14 @@ static int cs47l24_probe(struct platform_device *pdev)
        if (!cs47l24)
                return -ENOMEM;
 
+       if (IS_ENABLED(CONFIG_OF)) {
+               if (!dev_get_platdata(arizona->dev)) {
+                       ret = arizona_of_get_audio_pdata(arizona);
+                       if (ret < 0)
+                               return ret;
+               }
+       }
+
        platform_set_drvdata(pdev, cs47l24);
 
        cs47l24->core.arizona = arizona;
@@ -1288,6 +1295,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;