ALSA: ASoC - Fix wrong section types
[deliverable/linux.git] / sound / soc / atmel / atmel_ssc_dai.c
index d290b7894917a28016e914878837ca0c5acb3774..c5d67900d666857d7baed233a39d31be01a5be3a 100644 (file)
@@ -202,7 +202,8 @@ static irqreturn_t atmel_ssc_interrupt(int irq, void *dev_id)
 /*
  * Startup.  Only that one substream allowed in each direction.
  */
-static int atmel_ssc_startup(struct snd_pcm_substream *substream)
+static int atmel_ssc_startup(struct snd_pcm_substream *substream,
+                            struct snd_soc_dai *dai)
 {
        struct snd_soc_pcm_runtime *rtd = snd_pcm_substream_chip(substream);
        struct atmel_ssc_info *ssc_p = &ssc_info[rtd->dai->cpu_dai->id];
@@ -231,7 +232,8 @@ static int atmel_ssc_startup(struct snd_pcm_substream *substream)
  * Shutdown.  Clear DMA parameters and shutdown the SSC if there
  * are no other substreams open.
  */
-static void atmel_ssc_shutdown(struct snd_pcm_substream *substream)
+static void atmel_ssc_shutdown(struct snd_pcm_substream *substream,
+                              struct snd_soc_dai *dai)
 {
        struct snd_soc_pcm_runtime *rtd = snd_pcm_substream_chip(substream);
        struct atmel_ssc_info *ssc_p = &ssc_info[rtd->dai->cpu_dai->id];
@@ -332,7 +334,8 @@ static int atmel_ssc_set_dai_clkdiv(struct snd_soc_dai *cpu_dai,
  * Configure the SSC.
  */
 static int atmel_ssc_hw_params(struct snd_pcm_substream *substream,
-       struct snd_pcm_hw_params *params)
+       struct snd_pcm_hw_params *params,
+       struct snd_soc_dai *dai)
 {
        struct snd_soc_pcm_runtime *rtd = snd_pcm_substream_chip(substream);
        int id = rtd->dai->cpu_dai->id;
@@ -600,7 +603,8 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream,
 }
 
 
-static int atmel_ssc_prepare(struct snd_pcm_substream *substream)
+static int atmel_ssc_prepare(struct snd_pcm_substream *substream,
+                            struct snd_soc_dai *dai)
 {
        struct snd_soc_pcm_runtime *rtd = snd_pcm_substream_chip(substream);
        struct atmel_ssc_info *ssc_p = &ssc_info[rtd->dai->cpu_dai->id];
@@ -624,8 +628,7 @@ static int atmel_ssc_prepare(struct snd_pcm_substream *substream)
 
 
 #ifdef CONFIG_PM
-static int atmel_ssc_suspend(struct platform_device *pdev,
-                           struct snd_soc_dai *cpu_dai)
+static int atmel_ssc_suspend(struct snd_soc_dai *cpu_dai)
 {
        struct atmel_ssc_info *ssc_p;
 
@@ -653,8 +656,7 @@ static int atmel_ssc_suspend(struct platform_device *pdev,
 
 
 
-static int atmel_ssc_resume(struct platform_device *pdev,
-                          struct snd_soc_dai *cpu_dai)
+static int atmel_ssc_resume(struct snd_soc_dai *cpu_dai)
 {
        struct atmel_ssc_info *ssc_p;
        u32 cr;
@@ -698,7 +700,6 @@ static int atmel_ssc_resume(struct platform_device *pdev,
 struct snd_soc_dai atmel_ssc_dai[NUM_SSC_DEVICES] = {
        {       .name = "atmel-ssc0",
                .id = 0,
-               .type = SND_SOC_DAI_PCM,
                .suspend = atmel_ssc_suspend,
                .resume = atmel_ssc_resume,
                .playback = {
@@ -715,8 +716,7 @@ struct snd_soc_dai atmel_ssc_dai[NUM_SSC_DEVICES] = {
                        .startup = atmel_ssc_startup,
                        .shutdown = atmel_ssc_shutdown,
                        .prepare = atmel_ssc_prepare,
-                       .hw_params = atmel_ssc_hw_params,},
-               .dai_ops = {
+                       .hw_params = atmel_ssc_hw_params,
                        .set_fmt = atmel_ssc_set_dai_fmt,
                        .set_clkdiv = atmel_ssc_set_dai_clkdiv,},
                .private_data = &ssc_info[0],
@@ -724,7 +724,6 @@ struct snd_soc_dai atmel_ssc_dai[NUM_SSC_DEVICES] = {
 #if NUM_SSC_DEVICES == 3
        {       .name = "atmel-ssc1",
                .id = 1,
-               .type = SND_SOC_DAI_PCM,
                .suspend = atmel_ssc_suspend,
                .resume = atmel_ssc_resume,
                .playback = {
@@ -741,15 +740,13 @@ struct snd_soc_dai atmel_ssc_dai[NUM_SSC_DEVICES] = {
                        .startup = atmel_ssc_startup,
                        .shutdown = atmel_ssc_shutdown,
                        .prepare = atmel_ssc_prepare,
-                       .hw_params = atmel_ssc_hw_params,},
-               .dai_ops = {
+                       .hw_params = atmel_ssc_hw_params,
                        .set_fmt = atmel_ssc_set_dai_fmt,
                        .set_clkdiv = atmel_ssc_set_dai_clkdiv,},
                .private_data = &ssc_info[1],
        },
        {       .name = "atmel-ssc2",
                .id = 2,
-               .type = SND_SOC_DAI_PCM,
                .suspend = atmel_ssc_suspend,
                .resume = atmel_ssc_resume,
                .playback = {
@@ -766,8 +763,7 @@ struct snd_soc_dai atmel_ssc_dai[NUM_SSC_DEVICES] = {
                        .startup = atmel_ssc_startup,
                        .shutdown = atmel_ssc_shutdown,
                        .prepare = atmel_ssc_prepare,
-                       .hw_params = atmel_ssc_hw_params,},
-               .dai_ops = {
+                       .hw_params = atmel_ssc_hw_params,
                        .set_fmt = atmel_ssc_set_dai_fmt,
                        .set_clkdiv = atmel_ssc_set_dai_clkdiv,},
                .private_data = &ssc_info[2],
@@ -776,6 +772,18 @@ struct snd_soc_dai atmel_ssc_dai[NUM_SSC_DEVICES] = {
 };
 EXPORT_SYMBOL_GPL(atmel_ssc_dai);
 
+static int __init atmel_ssc_modinit(void)
+{
+       return snd_soc_register_dais(atmel_ssc_dai, ARRAY_SIZE(atmel_ssc_dai));
+}
+module_init(atmel_ssc_modinit);
+
+static void __exit atmel_ssc_modexit(void)
+{
+       snd_soc_unregister_dais(atmel_ssc_dai, ARRAY_SIZE(atmel_ssc_dai));
+}
+module_exit(atmel_ssc_modexit);
+
 /* Module information */
 MODULE_AUTHOR("Sedji Gaouaou, sedji.gaouaou@atmel.com, www.atmel.com");
 MODULE_DESCRIPTION("ATMEL SSC ASoC Interface");
This page took 0.027328 seconds and 5 git commands to generate.