ASoC: Convert WM8903 to table based DAPM setup
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Sun, 27 Mar 2011 12:43:45 +0000 (13:43 +0100)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Tue, 29 Mar 2011 22:14:53 +0000 (07:14 +0900)
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
sound/soc/codecs/wm8903.c

index ae1cadfae84c1fe173c6ef09939c7b2a6cd70f7f..a739e09a83091c47e3373acb68f8bc60857d836d 100644 (file)
@@ -926,7 +926,7 @@ SND_SOC_DAPM_SUPPLY("CLK_DSP", WM8903_CLOCK_RATES_2, 1, 0, NULL, 0),
 SND_SOC_DAPM_SUPPLY("CLK_SYS", WM8903_CLOCK_RATES_2, 2, 0, NULL, 0),
 };
 
-static const struct snd_soc_dapm_route intercon[] = {
+static const struct snd_soc_dapm_route wm8903_intercon[] = {
 
        { "CLK_DSP", NULL, "CLK_SYS" },
        { "Mic Bias", NULL, "CLK_SYS" },
@@ -1079,17 +1079,6 @@ static const struct snd_soc_dapm_route intercon[] = {
        { "Right Line Output PGA", NULL, "Charge Pump" },
 };
 
-static int wm8903_add_widgets(struct snd_soc_codec *codec)
-{
-       struct snd_soc_dapm_context *dapm = &codec->dapm;
-
-       snd_soc_dapm_new_controls(dapm, wm8903_dapm_widgets,
-                                 ARRAY_SIZE(wm8903_dapm_widgets));
-       snd_soc_dapm_add_routes(dapm, intercon, ARRAY_SIZE(intercon));
-
-       return 0;
-}
-
 static int wm8903_set_bias_level(struct snd_soc_codec *codec,
                                 enum snd_soc_bias_level level)
 {
@@ -2020,7 +2009,6 @@ static int wm8903_probe(struct snd_soc_codec *codec)
 
        snd_soc_add_controls(codec, wm8903_snd_controls,
                                ARRAY_SIZE(wm8903_snd_controls));
-       wm8903_add_widgets(codec);
 
        wm8903_init_gpio(codec);
 
@@ -2046,6 +2034,10 @@ static struct snd_soc_codec_driver soc_codec_dev_wm8903 = {
        .reg_cache_default = wm8903_reg_defaults,
        .volatile_register = wm8903_volatile_register,
        .seq_notifier = wm8903_seq_notifier,
+       .dapm_widgets = wm8903_dapm_widgets,
+       .num_dapm_widgets = ARRAY_SIZE(wm8903_dapm_widgets),
+       .dapm_routes = wm8903_intercon,
+       .num_dapm_routes = ARRAY_SIZE(wm8903_intercon),
 };
 
 #if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)