ASoC: Convert max9850 to table based DAPM and control init
authorAxel Lin <axel.lin@gmail.com>
Mon, 19 Dec 2011 05:13:31 +0000 (13:13 +0800)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Tue, 20 Dec 2011 00:32:24 +0000 (00:32 +0000)
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/codecs/max9850.c

index 7dfd6e84796d339fddce5d586012c68d9c108911..47060d2afe901870b187fc0e1c12915aa70ec5e3 100644 (file)
@@ -86,7 +86,7 @@ SND_SOC_DAPM_INPUT("INL"),
 SND_SOC_DAPM_INPUT("INR"),
 };
 
-static const struct snd_soc_dapm_route intercon[] = {
+static const struct snd_soc_dapm_route max9850_dapm_routes[] = {
        /* output mixer */
        {"Output Mixer", NULL, "DAC"},
        {"Output Mixer", "Line In Switch", "Line Input"},
@@ -293,7 +293,6 @@ static int max9850_resume(struct snd_soc_codec *codec)
 
 static int max9850_probe(struct snd_soc_codec *codec)
 {
-       struct snd_soc_dapm_context *dapm = &codec->dapm;
        int ret;
 
        ret = snd_soc_codec_set_cache_io(codec, 8, 8, SND_SOC_I2C);
@@ -309,13 +308,6 @@ static int max9850_probe(struct snd_soc_codec *codec)
        /* set slew-rate 125ms */
        snd_soc_update_bits(codec, MAX9850_CHARGE_PUMP, 0xff, 0xc0);
 
-       snd_soc_dapm_new_controls(dapm, max9850_dapm_widgets,
-                                 ARRAY_SIZE(max9850_dapm_widgets));
-       snd_soc_dapm_add_routes(dapm, intercon, ARRAY_SIZE(intercon));
-
-       snd_soc_add_controls(codec, max9850_controls,
-                       ARRAY_SIZE(max9850_controls));
-
        return 0;
 }
 
@@ -328,6 +320,13 @@ static struct snd_soc_codec_driver soc_codec_dev_max9850 = {
        .reg_word_size = sizeof(u8),
        .reg_cache_default = max9850_reg,
        .volatile_register = max9850_volatile_register,
+
+       .controls = max9850_controls,
+       .num_controls = ARRAY_SIZE(max9850_controls),
+       .dapm_widgets = max9850_dapm_widgets,
+       .num_dapm_widgets = ARRAY_SIZE(max9850_dapm_widgets),
+       .dapm_routes = max9850_dapm_routes,
+       .num_dapm_routes = ARRAY_SIZE(max9850_dapm_routes),
 };
 
 static int __devinit max9850_i2c_probe(struct i2c_client *i2c,