sound: Add module.h to the previously silent sound users
[pandora-kernel.git] / sound / soc / samsung / smdk_wm8580.c
index 3d26f66..81b4478 100644 (file)
@@ -10,6 +10,7 @@
  *  option) any later version.
  */
 
+#include <linux/module.h>
 #include <sound/soc.h>
 #include <sound/pcm_params.h>
 
@@ -119,30 +120,24 @@ static struct snd_soc_ops smdk_ops = {
 };
 
 /* SMDK Playback widgets */
-static const struct snd_soc_dapm_widget wm8580_dapm_widgets_pbk[] = {
+static const struct snd_soc_dapm_widget smdk_wm8580_dapm_widgets[] = {
        SND_SOC_DAPM_HP("Front", NULL),
        SND_SOC_DAPM_HP("Center+Sub", NULL),
        SND_SOC_DAPM_HP("Rear", NULL),
-};
 
-/* SMDK Capture widgets */
-static const struct snd_soc_dapm_widget wm8580_dapm_widgets_cpt[] = {
        SND_SOC_DAPM_MIC("MicIn", NULL),
        SND_SOC_DAPM_LINE("LineIn", NULL),
 };
 
 /* SMDK-PAIFTX connections */
-static const struct snd_soc_dapm_route audio_map_tx[] = {
+static const struct snd_soc_dapm_route smdk_wm8580_audio_map[] = {
        /* MicIn feeds AINL */
        {"AINL", NULL, "MicIn"},
 
        /* LineIn feeds AINL/R */
        {"AINL", NULL, "LineIn"},
        {"AINR", NULL, "LineIn"},
-};
 
-/* SMDK-PAIFRX connections */
-static const struct snd_soc_dapm_route audio_map_rx[] = {
        /* Front Left/Right are fed VOUT1L/R */
        {"Front", NULL, "VOUT1L"},
        {"Front", NULL, "VOUT1R"},
@@ -161,39 +156,11 @@ static int smdk_wm8580_init_paiftx(struct snd_soc_pcm_runtime *rtd)
        struct snd_soc_codec *codec = rtd->codec;
        struct snd_soc_dapm_context *dapm = &codec->dapm;
 
-       /* Add smdk specific Capture widgets */
-       snd_soc_dapm_new_controls(dapm, wm8580_dapm_widgets_cpt,
-                                 ARRAY_SIZE(wm8580_dapm_widgets_cpt));
-
-       /* Set up PAIFTX audio path */
-       snd_soc_dapm_add_routes(dapm, audio_map_tx, ARRAY_SIZE(audio_map_tx));
-
        /* Enabling the microphone requires the fitting of a 0R
         * resistor to connect the line from the microphone jack.
         */
        snd_soc_dapm_disable_pin(dapm, "MicIn");
 
-       /* signal a DAPM event */
-       snd_soc_dapm_sync(dapm);
-
-       return 0;
-}
-
-static int smdk_wm8580_init_paifrx(struct snd_soc_pcm_runtime *rtd)
-{
-       struct snd_soc_codec *codec = rtd->codec;
-       struct snd_soc_dapm_context *dapm = &codec->dapm;
-
-       /* Add smdk specific Playback widgets */
-       snd_soc_dapm_new_controls(dapm, wm8580_dapm_widgets_pbk,
-                                 ARRAY_SIZE(wm8580_dapm_widgets_pbk));
-
-       /* Set up PAIFRX audio path */
-       snd_soc_dapm_add_routes(dapm, audio_map_rx, ARRAY_SIZE(audio_map_rx));
-
-       /* signal a DAPM event */
-       snd_soc_dapm_sync(dapm);
-
        return 0;
 }
 
@@ -210,8 +177,7 @@ static struct snd_soc_dai_link smdk_dai[] = {
                .cpu_dai_name = "samsung-i2s.0",
                .codec_dai_name = "wm8580-hifi-playback",
                .platform_name = "samsung-audio",
-               .codec_name = "wm8580-codec.0-001b",
-               .init = smdk_wm8580_init_paifrx,
+               .codec_name = "wm8580.0-001b",
                .ops = &smdk_ops,
        },
        [PRI_CAPTURE] = { /* Primary Capture i/f */
@@ -220,7 +186,7 @@ static struct snd_soc_dai_link smdk_dai[] = {
                .cpu_dai_name = "samsung-i2s.0",
                .codec_dai_name = "wm8580-hifi-capture",
                .platform_name = "samsung-audio",
-               .codec_name = "wm8580-codec.0-001b",
+               .codec_name = "wm8580.0-001b",
                .init = smdk_wm8580_init_paiftx,
                .ops = &smdk_ops,
        },
@@ -230,8 +196,7 @@ static struct snd_soc_dai_link smdk_dai[] = {
                .cpu_dai_name = "samsung-i2s.x",
                .codec_dai_name = "wm8580-hifi-playback",
                .platform_name = "samsung-audio",
-               .codec_name = "wm8580-codec.0-001b",
-               .init = smdk_wm8580_init_paifrx,
+               .codec_name = "wm8580.0-001b",
                .ops = &smdk_ops,
        },
 };
@@ -240,6 +205,11 @@ static struct snd_soc_card smdk = {
        .name = "SMDK-I2S",
        .dai_link = smdk_dai,
        .num_links = 2,
+
+       .dapm_widgets = smdk_wm8580_dapm_widgets,
+       .num_dapm_widgets = ARRAY_SIZE(smdk_wm8580_dapm_widgets),
+       .dapm_routes = smdk_wm8580_audio_map,
+       .num_dapm_routes = ARRAY_SIZE(smdk_wm8580_audio_map),
 };
 
 static struct platform_device *smdk_snd_device;