aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2008-11-24 13:01:05 -0500
committerMark Brown <broonie@opensource.wolfsonmicro.com>2008-11-24 13:01:31 -0500
commit3ba9e10a6d3b6abf5f5952572cff8f8d5a35ae54 (patch)
tree855569d0aeee6fc06a35928f3b6e351918c9bea6
parentb0bd53a7399f65e2d1b37cd44c5003e55b886c1e (diff)
ASoC: Remove DAI type information
DAI type information is only ever used within ASoC in order to special case AC97 and for diagnostic purposes. Since modern CPUs and codecs support multi function DAIs which can be configured for several modes it is more trouble than it's worth to maintain anything other than a flag identifying AC97 DAIs so remove the type field and replace it with an ac97_control flag. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
-rw-r--r--include/sound/soc-dai.h2
-rw-r--r--include/sound/soc.h8
-rw-r--r--sound/soc/atmel/atmel_ssc_dai.c3
-rw-r--r--sound/soc/au1x/psc-ac97.c2
-rw-r--r--sound/soc/au1x/psc-i2s.c1
-rw-r--r--sound/soc/blackfin/bf5xx-ac97.c2
-rw-r--r--sound/soc/blackfin/bf5xx-i2s.c1
-rw-r--r--sound/soc/codecs/ac97.c2
-rw-r--r--sound/soc/codecs/pcm3008.c1
-rw-r--r--sound/soc/codecs/wm9712.c2
-rw-r--r--sound/soc/codecs/wm9713.c2
-rw-r--r--sound/soc/davinci/davinci-i2s.c1
-rw-r--r--sound/soc/fsl/mpc5200_psc_i2s.c1
-rw-r--r--sound/soc/omap/omap-mcbsp.c1
-rw-r--r--sound/soc/pxa/pxa-ssp.c4
-rw-r--r--sound/soc/pxa/pxa2xx-ac97.c6
-rw-r--r--sound/soc/pxa/pxa2xx-i2s.c1
-rw-r--r--sound/soc/s3c24xx/neo1973_wm8753.c1
-rw-r--r--sound/soc/s3c24xx/s3c2412-i2s.c1
-rw-r--r--sound/soc/s3c24xx/s3c2443-ac97.c4
-rw-r--r--sound/soc/s3c24xx/s3c24xx-i2s.c1
-rw-r--r--sound/soc/sh/hac.c4
-rw-r--r--sound/soc/sh/ssi.c2
-rw-r--r--sound/soc/soc-core.c31
24 files changed, 21 insertions, 63 deletions
diff --git a/include/sound/soc-dai.h b/include/sound/soc-dai.h
index f51cb55902f7..a01a24b10196 100644
--- a/include/sound/soc-dai.h
+++ b/include/sound/soc-dai.h
@@ -184,7 +184,7 @@ struct snd_soc_dai {
184 /* DAI description */ 184 /* DAI description */
185 char *name; 185 char *name;
186 unsigned int id; 186 unsigned int id;
187 unsigned char type; 187 int ac97_control;
188 188
189 /* DAI callbacks */ 189 /* DAI callbacks */
190 int (*probe)(struct platform_device *pdev, 190 int (*probe)(struct platform_device *pdev,
diff --git a/include/sound/soc.h b/include/sound/soc.h
index e4465f73aa46..444f9c211379 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -143,14 +143,6 @@ enum snd_soc_bias_level {
143 SND_SOC_BIAS_OFF, 143 SND_SOC_BIAS_OFF,
144}; 144};
145 145
146/*
147 * Digital Audio Interface (DAI) types
148 */
149#define SND_SOC_DAI_AC97 0x1
150#define SND_SOC_DAI_I2S 0x2
151#define SND_SOC_DAI_PCM 0x4
152#define SND_SOC_DAI_AC97_BUS 0x8 /* for custom i.e. non ac97_codec.c */
153
154struct snd_soc_device; 146struct snd_soc_device;
155struct snd_soc_pcm_stream; 147struct snd_soc_pcm_stream;
156struct snd_soc_ops; 148struct snd_soc_ops;
diff --git a/sound/soc/atmel/atmel_ssc_dai.c b/sound/soc/atmel/atmel_ssc_dai.c
index 916f73b9a18f..0bb18dfa9495 100644
--- a/sound/soc/atmel/atmel_ssc_dai.c
+++ b/sound/soc/atmel/atmel_ssc_dai.c
@@ -702,7 +702,6 @@ static int atmel_ssc_resume(struct platform_device *pdev,
702struct snd_soc_dai atmel_ssc_dai[NUM_SSC_DEVICES] = { 702struct snd_soc_dai atmel_ssc_dai[NUM_SSC_DEVICES] = {
703 { .name = "atmel-ssc0", 703 { .name = "atmel-ssc0",
704 .id = 0, 704 .id = 0,
705 .type = SND_SOC_DAI_PCM,
706 .suspend = atmel_ssc_suspend, 705 .suspend = atmel_ssc_suspend,
707 .resume = atmel_ssc_resume, 706 .resume = atmel_ssc_resume,
708 .playback = { 707 .playback = {
@@ -727,7 +726,6 @@ struct snd_soc_dai atmel_ssc_dai[NUM_SSC_DEVICES] = {
727#if NUM_SSC_DEVICES == 3 726#if NUM_SSC_DEVICES == 3
728 { .name = "atmel-ssc1", 727 { .name = "atmel-ssc1",
729 .id = 1, 728 .id = 1,
730 .type = SND_SOC_DAI_PCM,
731 .suspend = atmel_ssc_suspend, 729 .suspend = atmel_ssc_suspend,
732 .resume = atmel_ssc_resume, 730 .resume = atmel_ssc_resume,
733 .playback = { 731 .playback = {
@@ -751,7 +749,6 @@ struct snd_soc_dai atmel_ssc_dai[NUM_SSC_DEVICES] = {
751 }, 749 },
752 { .name = "atmel-ssc2", 750 { .name = "atmel-ssc2",
753 .id = 2, 751 .id = 2,
754 .type = SND_SOC_DAI_PCM,
755 .suspend = atmel_ssc_suspend, 752 .suspend = atmel_ssc_suspend,
756 .resume = atmel_ssc_resume, 753 .resume = atmel_ssc_resume,
757 .playback = { 754 .playback = {
diff --git a/sound/soc/au1x/psc-ac97.c b/sound/soc/au1x/psc-ac97.c
index ad60a6042cad..a0bcfeaf5f86 100644
--- a/sound/soc/au1x/psc-ac97.c
+++ b/sound/soc/au1x/psc-ac97.c
@@ -346,7 +346,7 @@ static int au1xpsc_ac97_resume(struct platform_device *pdev,
346 346
347struct snd_soc_dai au1xpsc_ac97_dai = { 347struct snd_soc_dai au1xpsc_ac97_dai = {
348 .name = "au1xpsc_ac97", 348 .name = "au1xpsc_ac97",
349 .type = SND_SOC_DAI_AC97, 349 .ac97_control = 1,
350 .probe = au1xpsc_ac97_probe, 350 .probe = au1xpsc_ac97_probe,
351 .remove = au1xpsc_ac97_remove, 351 .remove = au1xpsc_ac97_remove,
352 .suspend = au1xpsc_ac97_suspend, 352 .suspend = au1xpsc_ac97_suspend,
diff --git a/sound/soc/au1x/psc-i2s.c b/sound/soc/au1x/psc-i2s.c
index 05a5acbb16ae..f4217e70a787 100644
--- a/sound/soc/au1x/psc-i2s.c
+++ b/sound/soc/au1x/psc-i2s.c
@@ -371,7 +371,6 @@ static int au1xpsc_i2s_resume(struct platform_device *pdev,
371 371
372struct snd_soc_dai au1xpsc_i2s_dai = { 372struct snd_soc_dai au1xpsc_i2s_dai = {
373 .name = "au1xpsc_i2s", 373 .name = "au1xpsc_i2s",
374 .type = SND_SOC_DAI_I2S,
375 .probe = au1xpsc_i2s_probe, 374 .probe = au1xpsc_i2s_probe,
376 .remove = au1xpsc_i2s_remove, 375 .remove = au1xpsc_i2s_remove,
377 .suspend = au1xpsc_i2s_suspend, 376 .suspend = au1xpsc_i2s_suspend,
diff --git a/sound/soc/blackfin/bf5xx-ac97.c b/sound/soc/blackfin/bf5xx-ac97.c
index 5dcd3f665ab1..709bdf08e398 100644
--- a/sound/soc/blackfin/bf5xx-ac97.c
+++ b/sound/soc/blackfin/bf5xx-ac97.c
@@ -409,7 +409,7 @@ static void bf5xx_ac97_remove(struct platform_device *pdev,
409struct snd_soc_dai bfin_ac97_dai = { 409struct snd_soc_dai bfin_ac97_dai = {
410 .name = "bf5xx-ac97", 410 .name = "bf5xx-ac97",
411 .id = 0, 411 .id = 0,
412 .type = SND_SOC_DAI_AC97, 412 .ac97_control = 1,
413 .probe = bf5xx_ac97_probe, 413 .probe = bf5xx_ac97_probe,
414 .remove = bf5xx_ac97_remove, 414 .remove = bf5xx_ac97_remove,
415 .suspend = bf5xx_ac97_suspend, 415 .suspend = bf5xx_ac97_suspend,
diff --git a/sound/soc/blackfin/bf5xx-i2s.c b/sound/soc/blackfin/bf5xx-i2s.c
index 4e675b55b182..6e5036bf9245 100644
--- a/sound/soc/blackfin/bf5xx-i2s.c
+++ b/sound/soc/blackfin/bf5xx-i2s.c
@@ -292,7 +292,6 @@ static int bf5xx_i2s_resume(struct platform_device *pdev,
292struct snd_soc_dai bf5xx_i2s_dai = { 292struct snd_soc_dai bf5xx_i2s_dai = {
293 .name = "bf5xx-i2s", 293 .name = "bf5xx-i2s",
294 .id = 0, 294 .id = 0,
295 .type = SND_SOC_DAI_I2S,
296 .probe = bf5xx_i2s_probe, 295 .probe = bf5xx_i2s_probe,
297 .remove = bf5xx_i2s_remove, 296 .remove = bf5xx_i2s_remove,
298 .suspend = bf5xx_i2s_suspend, 297 .suspend = bf5xx_i2s_suspend,
diff --git a/sound/soc/codecs/ac97.c b/sound/soc/codecs/ac97.c
index 8a93aff359d0..c4208c8210c8 100644
--- a/sound/soc/codecs/ac97.c
+++ b/sound/soc/codecs/ac97.c
@@ -43,7 +43,7 @@ static int ac97_prepare(struct snd_pcm_substream *substream,
43 43
44struct snd_soc_dai ac97_dai = { 44struct snd_soc_dai ac97_dai = {
45 .name = "AC97 HiFi", 45 .name = "AC97 HiFi",
46 .type = SND_SOC_DAI_AC97, 46 .ac97_control = 1,
47 .playback = { 47 .playback = {
48 .stream_name = "AC97 Playback", 48 .stream_name = "AC97 Playback",
49 .channels_min = 1, 49 .channels_min = 1,
diff --git a/sound/soc/codecs/pcm3008.c b/sound/soc/codecs/pcm3008.c
index 2b26e1d80c8d..651a15eb8c2c 100644
--- a/sound/soc/codecs/pcm3008.c
+++ b/sound/soc/codecs/pcm3008.c
@@ -33,7 +33,6 @@
33 33
34struct snd_soc_dai pcm3008_dai = { 34struct snd_soc_dai pcm3008_dai = {
35 .name = "PCM3008 HiFi", 35 .name = "PCM3008 HiFi",
36 .type = SND_SOC_DAI_I2S,
37 .playback = { 36 .playback = {
38 .stream_name = "PCM3008 Playback", 37 .stream_name = "PCM3008 Playback",
39 .channels_min = 1, 38 .channels_min = 1,
diff --git a/sound/soc/codecs/wm9712.c b/sound/soc/codecs/wm9712.c
index 6e3e0f340179..40f14061fb72 100644
--- a/sound/soc/codecs/wm9712.c
+++ b/sound/soc/codecs/wm9712.c
@@ -535,7 +535,7 @@ static int ac97_aux_prepare(struct snd_pcm_substream *substream,
535struct snd_soc_dai wm9712_dai[] = { 535struct snd_soc_dai wm9712_dai[] = {
536{ 536{
537 .name = "AC97 HiFi", 537 .name = "AC97 HiFi",
538 .type = SND_SOC_DAI_AC97_BUS, 538 .ac97_control = 1,
539 .playback = { 539 .playback = {
540 .stream_name = "HiFi Playback", 540 .stream_name = "HiFi Playback",
541 .channels_min = 1, 541 .channels_min = 1,
diff --git a/sound/soc/codecs/wm9713.c b/sound/soc/codecs/wm9713.c
index a502667fca7a..9dad0bffcb05 100644
--- a/sound/soc/codecs/wm9713.c
+++ b/sound/soc/codecs/wm9713.c
@@ -1024,7 +1024,7 @@ static int ac97_aux_prepare(struct snd_pcm_substream *substream,
1024struct snd_soc_dai wm9713_dai[] = { 1024struct snd_soc_dai wm9713_dai[] = {
1025{ 1025{
1026 .name = "AC97 HiFi", 1026 .name = "AC97 HiFi",
1027 .type = SND_SOC_DAI_AC97_BUS, 1027 .ac97_control = 1,
1028 .playback = { 1028 .playback = {
1029 .stream_name = "HiFi Playback", 1029 .stream_name = "HiFi Playback",
1030 .channels_min = 1, 1030 .channels_min = 1,
diff --git a/sound/soc/davinci/davinci-i2s.c b/sound/soc/davinci/davinci-i2s.c
index 7a17cd0ecf64..cf31b3bb96cf 100644
--- a/sound/soc/davinci/davinci-i2s.c
+++ b/sound/soc/davinci/davinci-i2s.c
@@ -460,7 +460,6 @@ static void davinci_i2s_remove(struct platform_device *pdev,
460struct snd_soc_dai davinci_i2s_dai = { 460struct snd_soc_dai davinci_i2s_dai = {
461 .name = "davinci-i2s", 461 .name = "davinci-i2s",
462 .id = 0, 462 .id = 0,
463 .type = SND_SOC_DAI_I2S,
464 .probe = davinci_i2s_probe, 463 .probe = davinci_i2s_probe,
465 .remove = davinci_i2s_remove, 464 .remove = davinci_i2s_remove,
466 .playback = { 465 .playback = {
diff --git a/sound/soc/fsl/mpc5200_psc_i2s.c b/sound/soc/fsl/mpc5200_psc_i2s.c
index e2c172f38979..9ad8f9a2d8e9 100644
--- a/sound/soc/fsl/mpc5200_psc_i2s.c
+++ b/sound/soc/fsl/mpc5200_psc_i2s.c
@@ -469,7 +469,6 @@ static int psc_i2s_set_fmt(struct snd_soc_dai *cpu_dai, unsigned int format)
469 * psc_i2s_dai_template: template CPU Digital Audio Interface 469 * psc_i2s_dai_template: template CPU Digital Audio Interface
470 */ 470 */
471static struct snd_soc_dai psc_i2s_dai_template = { 471static struct snd_soc_dai psc_i2s_dai_template = {
472 .type = SND_SOC_DAI_I2S,
473 .playback = { 472 .playback = {
474 .channels_min = 2, 473 .channels_min = 2,
475 .channels_max = 2, 474 .channels_max = 2,
diff --git a/sound/soc/omap/omap-mcbsp.c b/sound/soc/omap/omap-mcbsp.c
index 2eeb135c1e4b..252bc7ebb194 100644
--- a/sound/soc/omap/omap-mcbsp.c
+++ b/sound/soc/omap/omap-mcbsp.c
@@ -456,7 +456,6 @@ static int omap_mcbsp_dai_set_dai_sysclk(struct snd_soc_dai *cpu_dai,
456{ \ 456{ \
457 .name = "omap-mcbsp-dai-"#link_id, \ 457 .name = "omap-mcbsp-dai-"#link_id, \
458 .id = (link_id), \ 458 .id = (link_id), \
459 .type = SND_SOC_DAI_I2S, \
460 .playback = { \ 459 .playback = { \
461 .channels_min = 2, \ 460 .channels_min = 2, \
462 .channels_max = 2, \ 461 .channels_max = 2, \
diff --git a/sound/soc/pxa/pxa-ssp.c b/sound/soc/pxa/pxa-ssp.c
index d0dd6245a20a..402fc5ba65e7 100644
--- a/sound/soc/pxa/pxa-ssp.c
+++ b/sound/soc/pxa/pxa-ssp.c
@@ -788,7 +788,6 @@ struct snd_soc_dai pxa_ssp_dai[] = {
788 { 788 {
789 .name = "pxa2xx-ssp1", 789 .name = "pxa2xx-ssp1",
790 .id = 0, 790 .id = 0,
791 .type = SND_SOC_DAI_PCM,
792 .probe = pxa_ssp_probe, 791 .probe = pxa_ssp_probe,
793 .remove = pxa_ssp_remove, 792 .remove = pxa_ssp_remove,
794 .suspend = pxa_ssp_suspend, 793 .suspend = pxa_ssp_suspend,
@@ -820,7 +819,6 @@ struct snd_soc_dai pxa_ssp_dai[] = {
820 }, 819 },
821 { .name = "pxa2xx-ssp2", 820 { .name = "pxa2xx-ssp2",
822 .id = 1, 821 .id = 1,
823 .type = SND_SOC_DAI_PCM,
824 .probe = pxa_ssp_probe, 822 .probe = pxa_ssp_probe,
825 .remove = pxa_ssp_remove, 823 .remove = pxa_ssp_remove,
826 .suspend = pxa_ssp_suspend, 824 .suspend = pxa_ssp_suspend,
@@ -853,7 +851,6 @@ struct snd_soc_dai pxa_ssp_dai[] = {
853 { 851 {
854 .name = "pxa2xx-ssp3", 852 .name = "pxa2xx-ssp3",
855 .id = 2, 853 .id = 2,
856 .type = SND_SOC_DAI_PCM,
857 .probe = pxa_ssp_probe, 854 .probe = pxa_ssp_probe,
858 .remove = pxa_ssp_remove, 855 .remove = pxa_ssp_remove,
859 .suspend = pxa_ssp_suspend, 856 .suspend = pxa_ssp_suspend,
@@ -886,7 +883,6 @@ struct snd_soc_dai pxa_ssp_dai[] = {
886 { 883 {
887 .name = "pxa2xx-ssp4", 884 .name = "pxa2xx-ssp4",
888 .id = 3, 885 .id = 3,
889 .type = SND_SOC_DAI_PCM,
890 .probe = pxa_ssp_probe, 886 .probe = pxa_ssp_probe,
891 .remove = pxa_ssp_remove, 887 .remove = pxa_ssp_remove,
892 .suspend = pxa_ssp_suspend, 888 .suspend = pxa_ssp_suspend,
diff --git a/sound/soc/pxa/pxa2xx-ac97.c b/sound/soc/pxa/pxa2xx-ac97.c
index 86667d2f1b75..bffbe288634c 100644
--- a/sound/soc/pxa/pxa2xx-ac97.c
+++ b/sound/soc/pxa/pxa2xx-ac97.c
@@ -173,7 +173,7 @@ struct snd_soc_dai pxa_ac97_dai[] = {
173{ 173{
174 .name = "pxa2xx-ac97", 174 .name = "pxa2xx-ac97",
175 .id = 0, 175 .id = 0,
176 .type = SND_SOC_DAI_AC97, 176 .ac97_control = 1,
177 .probe = pxa2xx_ac97_probe, 177 .probe = pxa2xx_ac97_probe,
178 .remove = pxa2xx_ac97_remove, 178 .remove = pxa2xx_ac97_remove,
179 .suspend = pxa2xx_ac97_suspend, 179 .suspend = pxa2xx_ac97_suspend,
@@ -196,7 +196,7 @@ struct snd_soc_dai pxa_ac97_dai[] = {
196{ 196{
197 .name = "pxa2xx-ac97-aux", 197 .name = "pxa2xx-ac97-aux",
198 .id = 1, 198 .id = 1,
199 .type = SND_SOC_DAI_AC97, 199 .ac97_control = 1,
200 .playback = { 200 .playback = {
201 .stream_name = "AC97 Aux Playback", 201 .stream_name = "AC97 Aux Playback",
202 .channels_min = 1, 202 .channels_min = 1,
@@ -215,7 +215,7 @@ struct snd_soc_dai pxa_ac97_dai[] = {
215{ 215{
216 .name = "pxa2xx-ac97-mic", 216 .name = "pxa2xx-ac97-mic",
217 .id = 2, 217 .id = 2,
218 .type = SND_SOC_DAI_AC97, 218 .ac97_control = 1,
219 .capture = { 219 .capture = {
220 .stream_name = "AC97 Mic Capture", 220 .stream_name = "AC97 Mic Capture",
221 .channels_min = 1, 221 .channels_min = 1,
diff --git a/sound/soc/pxa/pxa2xx-i2s.c b/sound/soc/pxa/pxa2xx-i2s.c
index 9a3e55b48129..f9a9e2ebafa1 100644
--- a/sound/soc/pxa/pxa2xx-i2s.c
+++ b/sound/soc/pxa/pxa2xx-i2s.c
@@ -340,7 +340,6 @@ static int pxa2xx_i2s_resume(struct platform_device *pdev,
340struct snd_soc_dai pxa_i2s_dai = { 340struct snd_soc_dai pxa_i2s_dai = {
341 .name = "pxa2xx-i2s", 341 .name = "pxa2xx-i2s",
342 .id = 0, 342 .id = 0,
343 .type = SND_SOC_DAI_I2S,
344 .suspend = pxa2xx_i2s_suspend, 343 .suspend = pxa2xx_i2s_suspend,
345 .resume = pxa2xx_i2s_resume, 344 .resume = pxa2xx_i2s_resume,
346 .playback = { 345 .playback = {
diff --git a/sound/soc/s3c24xx/neo1973_wm8753.c b/sound/soc/s3c24xx/neo1973_wm8753.c
index 528fc3f1b45b..3df2224a6723 100644
--- a/sound/soc/s3c24xx/neo1973_wm8753.c
+++ b/sound/soc/s3c24xx/neo1973_wm8753.c
@@ -548,7 +548,6 @@ static int neo1973_wm8753_init(struct snd_soc_codec *codec)
548static struct snd_soc_dai bt_dai = { 548static struct snd_soc_dai bt_dai = {
549 .name = "Bluetooth", 549 .name = "Bluetooth",
550 .id = 0, 550 .id = 0,
551 .type = SND_SOC_DAI_PCM,
552 .playback = { 551 .playback = {
553 .channels_min = 1, 552 .channels_min = 1,
554 .channels_max = 1, 553 .channels_max = 1,
diff --git a/sound/soc/s3c24xx/s3c2412-i2s.c b/sound/soc/s3c24xx/s3c2412-i2s.c
index 360cc2a49d9d..1c741047ae35 100644
--- a/sound/soc/s3c24xx/s3c2412-i2s.c
+++ b/sound/soc/s3c24xx/s3c2412-i2s.c
@@ -713,7 +713,6 @@ static int s3c2412_i2s_resume(struct platform_device *pdev,
713struct snd_soc_dai s3c2412_i2s_dai = { 713struct snd_soc_dai s3c2412_i2s_dai = {
714 .name = "s3c2412-i2s", 714 .name = "s3c2412-i2s",
715 .id = 0, 715 .id = 0,
716 .type = SND_SOC_DAI_I2S,
717 .probe = s3c2412_i2s_probe, 716 .probe = s3c2412_i2s_probe,
718 .suspend = s3c2412_i2s_suspend, 717 .suspend = s3c2412_i2s_suspend,
719 .resume = s3c2412_i2s_resume, 718 .resume = s3c2412_i2s_resume,
diff --git a/sound/soc/s3c24xx/s3c2443-ac97.c b/sound/soc/s3c24xx/s3c2443-ac97.c
index 31377821b2c5..41bde6a3883b 100644
--- a/sound/soc/s3c24xx/s3c2443-ac97.c
+++ b/sound/soc/s3c24xx/s3c2443-ac97.c
@@ -358,7 +358,7 @@ struct snd_soc_dai s3c2443_ac97_dai[] = {
358{ 358{
359 .name = "s3c2443-ac97", 359 .name = "s3c2443-ac97",
360 .id = 0, 360 .id = 0,
361 .type = SND_SOC_DAI_AC97, 361 .ac97_control = 1,
362 .probe = s3c2443_ac97_probe, 362 .probe = s3c2443_ac97_probe,
363 .remove = s3c2443_ac97_remove, 363 .remove = s3c2443_ac97_remove,
364 .playback = { 364 .playback = {
@@ -380,7 +380,7 @@ struct snd_soc_dai s3c2443_ac97_dai[] = {
380{ 380{
381 .name = "pxa2xx-ac97-mic", 381 .name = "pxa2xx-ac97-mic",
382 .id = 1, 382 .id = 1,
383 .type = SND_SOC_DAI_AC97, 383 .ac97_control = 1,
384 .capture = { 384 .capture = {
385 .stream_name = "AC97 Mic Capture", 385 .stream_name = "AC97 Mic Capture",
386 .channels_min = 1, 386 .channels_min = 1,
diff --git a/sound/soc/s3c24xx/s3c24xx-i2s.c b/sound/soc/s3c24xx/s3c24xx-i2s.c
index 1bac9dd3dbd4..8d9135f41bc9 100644
--- a/sound/soc/s3c24xx/s3c24xx-i2s.c
+++ b/sound/soc/s3c24xx/s3c24xx-i2s.c
@@ -461,7 +461,6 @@ static int s3c24xx_i2s_resume(struct platform_device *pdev,
461struct snd_soc_dai s3c24xx_i2s_dai = { 461struct snd_soc_dai s3c24xx_i2s_dai = {
462 .name = "s3c24xx-i2s", 462 .name = "s3c24xx-i2s",
463 .id = 0, 463 .id = 0,
464 .type = SND_SOC_DAI_I2S,
465 .probe = s3c24xx_i2s_probe, 464 .probe = s3c24xx_i2s_probe,
466 .suspend = s3c24xx_i2s_suspend, 465 .suspend = s3c24xx_i2s_suspend,
467 .resume = s3c24xx_i2s_resume, 466 .resume = s3c24xx_i2s_resume,
diff --git a/sound/soc/sh/hac.c b/sound/soc/sh/hac.c
index 3318071dc80f..c435913c60eb 100644
--- a/sound/soc/sh/hac.c
+++ b/sound/soc/sh/hac.c
@@ -271,7 +271,7 @@ struct snd_soc_dai sh4_hac_dai[] = {
271{ 271{
272 .name = "HAC0", 272 .name = "HAC0",
273 .id = 0, 273 .id = 0,
274 .type = SND_SOC_DAI_AC97, 274 .ac97_control = 1,
275 .playback = { 275 .playback = {
276 .rates = AC97_RATES, 276 .rates = AC97_RATES,
277 .formats = AC97_FMTS, 277 .formats = AC97_FMTS,
@@ -291,8 +291,8 @@ struct snd_soc_dai sh4_hac_dai[] = {
291#ifdef CONFIG_CPU_SUBTYPE_SH7760 291#ifdef CONFIG_CPU_SUBTYPE_SH7760
292{ 292{
293 .name = "HAC1", 293 .name = "HAC1",
294 .ac97_control = 1,
294 .id = 1, 295 .id = 1,
295 .type = SND_SOC_DAI_AC97,
296 .playback = { 296 .playback = {
297 .rates = AC97_RATES, 297 .rates = AC97_RATES,
298 .formats = AC97_FMTS, 298 .formats = AC97_FMTS,
diff --git a/sound/soc/sh/ssi.c b/sound/soc/sh/ssi.c
index 52a233840d27..fed544a3deff 100644
--- a/sound/soc/sh/ssi.c
+++ b/sound/soc/sh/ssi.c
@@ -340,7 +340,6 @@ struct snd_soc_dai sh4_ssi_dai[] = {
340{ 340{
341 .name = "SSI0", 341 .name = "SSI0",
342 .id = 0, 342 .id = 0,
343 .type = SND_SOC_DAI_I2S,
344 .playback = { 343 .playback = {
345 .rates = SSI_RATES, 344 .rates = SSI_RATES,
346 .formats = SSI_FMTS, 345 .formats = SSI_FMTS,
@@ -367,7 +366,6 @@ struct snd_soc_dai sh4_ssi_dai[] = {
367{ 366{
368 .name = "SSI1", 367 .name = "SSI1",
369 .id = 1, 368 .id = 1,
370 .type = SND_SOC_DAI_I2S,
371 .playback = { 369 .playback = {
372 .rates = SSI_RATES, 370 .rates = SSI_RATES,
373 .formats = SSI_FMTS, 371 .formats = SSI_FMTS,
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 43f4060dbe75..0d47696ccd07 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -100,20 +100,6 @@ static int soc_ac97_dev_register(struct snd_soc_codec *codec)
100} 100}
101#endif 101#endif
102 102
103static inline const char *get_dai_name(int type)
104{
105 switch (type) {
106 case SND_SOC_DAI_AC97_BUS:
107 case SND_SOC_DAI_AC97:
108 return "AC97";
109 case SND_SOC_DAI_I2S:
110 return "I2S";
111 case SND_SOC_DAI_PCM:
112 return "PCM";
113 }
114 return NULL;
115}
116
117/* 103/*
118 * Called by ALSA when a PCM substream is opened, the runtime->hw record is 104 * Called by ALSA when a PCM substream is opened, the runtime->hw record is
119 * then initialized and any private data can be allocated. This also calls 105 * then initialized and any private data can be allocated. This also calls
@@ -652,7 +638,7 @@ static int soc_suspend(struct platform_device *pdev, pm_message_t state)
652 638
653 for (i = 0; i < card->num_links; i++) { 639 for (i = 0; i < card->num_links; i++) {
654 struct snd_soc_dai *cpu_dai = card->dai_link[i].cpu_dai; 640 struct snd_soc_dai *cpu_dai = card->dai_link[i].cpu_dai;
655 if (cpu_dai->suspend && cpu_dai->type != SND_SOC_DAI_AC97) 641 if (cpu_dai->suspend && !cpu_dai->ac97_control)
656 cpu_dai->suspend(pdev, cpu_dai); 642 cpu_dai->suspend(pdev, cpu_dai);
657 if (platform->suspend) 643 if (platform->suspend)
658 platform->suspend(pdev, cpu_dai); 644 platform->suspend(pdev, cpu_dai);
@@ -678,7 +664,7 @@ static int soc_suspend(struct platform_device *pdev, pm_message_t state)
678 664
679 for (i = 0; i < card->num_links; i++) { 665 for (i = 0; i < card->num_links; i++) {
680 struct snd_soc_dai *cpu_dai = card->dai_link[i].cpu_dai; 666 struct snd_soc_dai *cpu_dai = card->dai_link[i].cpu_dai;
681 if (cpu_dai->suspend && cpu_dai->type == SND_SOC_DAI_AC97) 667 if (cpu_dai->suspend && cpu_dai->ac97_control)
682 cpu_dai->suspend(pdev, cpu_dai); 668 cpu_dai->suspend(pdev, cpu_dai);
683 } 669 }
684 670
@@ -714,7 +700,7 @@ static void soc_resume_deferred(struct work_struct *work)
714 700
715 for (i = 0; i < card->num_links; i++) { 701 for (i = 0; i < card->num_links; i++) {
716 struct snd_soc_dai *cpu_dai = card->dai_link[i].cpu_dai; 702 struct snd_soc_dai *cpu_dai = card->dai_link[i].cpu_dai;
717 if (cpu_dai->resume && cpu_dai->type == SND_SOC_DAI_AC97) 703 if (cpu_dai->resume && cpu_dai->ac97_control)
718 cpu_dai->resume(pdev, cpu_dai); 704 cpu_dai->resume(pdev, cpu_dai);
719 } 705 }
720 706
@@ -741,7 +727,7 @@ static void soc_resume_deferred(struct work_struct *work)
741 727
742 for (i = 0; i < card->num_links; i++) { 728 for (i = 0; i < card->num_links; i++) {
743 struct snd_soc_dai *cpu_dai = card->dai_link[i].cpu_dai; 729 struct snd_soc_dai *cpu_dai = card->dai_link[i].cpu_dai;
744 if (cpu_dai->resume && cpu_dai->type != SND_SOC_DAI_AC97) 730 if (cpu_dai->resume && !cpu_dai->ac97_control)
745 cpu_dai->resume(pdev, cpu_dai); 731 cpu_dai->resume(pdev, cpu_dai);
746 if (platform->resume) 732 if (platform->resume)
747 platform->resume(pdev, cpu_dai); 733 platform->resume(pdev, cpu_dai);
@@ -898,8 +884,8 @@ static int soc_new_pcm(struct snd_soc_device *socdev,
898 codec_dai->codec = socdev->codec; 884 codec_dai->codec = socdev->codec;
899 885
900 /* check client and interface hw capabilities */ 886 /* check client and interface hw capabilities */
901 sprintf(new_name, "%s %s-%s-%d", dai_link->stream_name, codec_dai->name, 887 sprintf(new_name, "%s %s-%d", dai_link->stream_name, codec_dai->name,
902 get_dai_name(cpu_dai->type), num); 888 num);
903 889
904 if (codec_dai->playback.channels_min) 890 if (codec_dai->playback.channels_min)
905 playback = 1; 891 playback = 1;
@@ -1270,8 +1256,7 @@ int snd_soc_register_card(struct snd_soc_device *socdev)
1270 continue; 1256 continue;
1271 } 1257 }
1272 } 1258 }
1273 if (card->dai_link[i].codec_dai->type == 1259 if (card->dai_link[i].codec_dai->ac97_control)
1274 SND_SOC_DAI_AC97_BUS)
1275 ac97 = 1; 1260 ac97 = 1;
1276 } 1261 }
1277 snprintf(codec->card->shortname, sizeof(codec->card->shortname), 1262 snprintf(codec->card->shortname, sizeof(codec->card->shortname),
@@ -1335,7 +1320,7 @@ void snd_soc_free_pcms(struct snd_soc_device *socdev)
1335#ifdef CONFIG_SND_SOC_AC97_BUS 1320#ifdef CONFIG_SND_SOC_AC97_BUS
1336 for (i = 0; i < codec->num_dai; i++) { 1321 for (i = 0; i < codec->num_dai; i++) {
1337 codec_dai = &codec->dai[i]; 1322 codec_dai = &codec->dai[i];
1338 if (codec_dai->type == SND_SOC_DAI_AC97_BUS && codec->ac97) { 1323 if (codec_dai->ac97_control && codec->ac97) {
1339 soc_ac97_dev_unregister(codec); 1324 soc_ac97_dev_unregister(codec);
1340 goto free_card; 1325 goto free_card;
1341 } 1326 }