aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2008-12-02 11:01:14 -0500
committerMark Brown <broonie@opensource.wolfsonmicro.com>2008-12-02 11:03:40 -0500
commit87689d567a45f80416feea0a2aa6d3a2a6b8963a (patch)
treed33d923e9e359f3be124d0a63c30b41637b9f933
parent6308419a199eed66086cd756ab8dc81b88d54a6b (diff)
ASoC: Push platform registration down into the card
As part of the deprecation of snd_soc_device push the registration of the platform down into the card structure. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
-rw-r--r--include/sound/soc.h2
-rw-r--r--sound/soc/atmel/playpaq_wm8510.c2
-rw-r--r--sound/soc/atmel/sam9g20_wm8731.c2
-rw-r--r--sound/soc/blackfin/bf5xx-ad1980.c2
-rw-r--r--sound/soc/blackfin/bf5xx-ad73311.c2
-rw-r--r--sound/soc/blackfin/bf5xx-ssm2602.c2
-rw-r--r--sound/soc/davinci/davinci-evm.c2
-rw-r--r--sound/soc/davinci/davinci-i2s.c2
-rw-r--r--sound/soc/davinci/davinci-sffsdr.c2
-rw-r--r--sound/soc/fsl/mpc8610_hpcd.c2
-rw-r--r--sound/soc/fsl/soc-of-simple.c2
-rw-r--r--sound/soc/omap/n810.c2
-rw-r--r--sound/soc/omap/omap2evm.c2
-rw-r--r--sound/soc/omap/omap3beagle.c2
-rw-r--r--sound/soc/omap/osk5912.c2
-rw-r--r--sound/soc/omap/overo.c2
-rw-r--r--sound/soc/omap/sdp3430.c2
-rw-r--r--sound/soc/pxa/corgi.c2
-rw-r--r--sound/soc/pxa/e800_wm9712.c2
-rw-r--r--sound/soc/pxa/em-x270.c2
-rw-r--r--sound/soc/pxa/palm27x.c2
-rw-r--r--sound/soc/pxa/poodle.c2
-rw-r--r--sound/soc/pxa/spitz.c2
-rw-r--r--sound/soc/pxa/tosa.c2
-rw-r--r--sound/soc/pxa/zylonite.c2
-rw-r--r--sound/soc/s3c24xx/ln2440sbc_alc650.c2
-rw-r--r--sound/soc/s3c24xx/neo1973_wm8753.c2
-rw-r--r--sound/soc/s3c24xx/s3c24xx_uda134x.c2
-rw-r--r--sound/soc/s3c24xx/smdk2443_wm9710.c2
-rw-r--r--sound/soc/sh/sh7760-ac97.c2
-rw-r--r--sound/soc/soc-core.c44
31 files changed, 55 insertions, 49 deletions
diff --git a/include/sound/soc.h b/include/sound/soc.h
index 359ec49f8d0d..ad8141acd6b0 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -352,6 +352,7 @@ struct snd_soc_card {
352 352
353 struct snd_soc_device *socdev; 353 struct snd_soc_device *socdev;
354 354
355 struct snd_soc_platform *platform;
355 struct delayed_work delayed_work; 356 struct delayed_work delayed_work;
356 struct work_struct deferred_resume_work; 357 struct work_struct deferred_resume_work;
357}; 358};
@@ -360,7 +361,6 @@ struct snd_soc_card {
360struct snd_soc_device { 361struct snd_soc_device {
361 struct device *dev; 362 struct device *dev;
362 struct snd_soc_card *card; 363 struct snd_soc_card *card;
363 struct snd_soc_platform *platform;
364 struct snd_soc_codec *codec; 364 struct snd_soc_codec *codec;
365 struct snd_soc_codec_device *codec_dev; 365 struct snd_soc_codec_device *codec_dev;
366 void *codec_data; 366 void *codec_data;
diff --git a/sound/soc/atmel/playpaq_wm8510.c b/sound/soc/atmel/playpaq_wm8510.c
index d40b5a52a8d2..43dd8cee83c6 100644
--- a/sound/soc/atmel/playpaq_wm8510.c
+++ b/sound/soc/atmel/playpaq_wm8510.c
@@ -363,6 +363,7 @@ static struct snd_soc_dai_link playpaq_wm8510_dai = {
363 363
364static struct snd_soc_card snd_soc_playpaq = { 364static struct snd_soc_card snd_soc_playpaq = {
365 .name = "LRS_PlayPaq_WM8510", 365 .name = "LRS_PlayPaq_WM8510",
366 .platform = &at32_soc_platform,
366 .dai_link = &playpaq_wm8510_dai, 367 .dai_link = &playpaq_wm8510_dai,
367 .num_links = 1, 368 .num_links = 1,
368}; 369};
@@ -378,7 +379,6 @@ static struct wm8510_setup_data playpaq_wm8510_setup = {
378 379
379static struct snd_soc_device playpaq_wm8510_snd_devdata = { 380static struct snd_soc_device playpaq_wm8510_snd_devdata = {
380 .card = &snd_soc_playpaq, 381 .card = &snd_soc_playpaq,
381 .platform = &at32_soc_platform,
382 .codec_dev = &soc_codec_dev_wm8510, 382 .codec_dev = &soc_codec_dev_wm8510,
383 .codec_data = &playpaq_wm8510_setup, 383 .codec_data = &playpaq_wm8510_setup,
384}; 384};
diff --git a/sound/soc/atmel/sam9g20_wm8731.c b/sound/soc/atmel/sam9g20_wm8731.c
index fdc1d0206e0b..1fb59a9d3719 100644
--- a/sound/soc/atmel/sam9g20_wm8731.c
+++ b/sound/soc/atmel/sam9g20_wm8731.c
@@ -244,6 +244,7 @@ static struct snd_soc_dai_link at91sam9g20ek_dai = {
244 244
245static struct snd_soc_card snd_soc_at91sam9g20ek = { 245static struct snd_soc_card snd_soc_at91sam9g20ek = {
246 .name = "WM8731", 246 .name = "WM8731",
247 .platform = &atmel_soc_platform,
247 .dai_link = &at91sam9g20ek_dai, 248 .dai_link = &at91sam9g20ek_dai,
248 .num_links = 1, 249 .num_links = 1,
249}; 250};
@@ -255,7 +256,6 @@ static struct wm8731_setup_data at91sam9g20ek_wm8731_setup = {
255 256
256static struct snd_soc_device at91sam9g20ek_snd_devdata = { 257static struct snd_soc_device at91sam9g20ek_snd_devdata = {
257 .card = &snd_soc_at91sam9g20ek, 258 .card = &snd_soc_at91sam9g20ek,
258 .platform = &atmel_soc_platform,
259 .codec_dev = &soc_codec_dev_wm8731, 259 .codec_dev = &soc_codec_dev_wm8731,
260 .codec_data = &at91sam9g20ek_wm8731_setup, 260 .codec_data = &at91sam9g20ek_wm8731_setup,
261}; 261};
diff --git a/sound/soc/blackfin/bf5xx-ad1980.c b/sound/soc/blackfin/bf5xx-ad1980.c
index 36c569a43ce1..d8f591273778 100644
--- a/sound/soc/blackfin/bf5xx-ad1980.c
+++ b/sound/soc/blackfin/bf5xx-ad1980.c
@@ -69,13 +69,13 @@ static struct snd_soc_dai_link bf5xx_board_dai = {
69 69
70static struct snd_soc_card bf5xx_board = { 70static struct snd_soc_card bf5xx_board = {
71 .name = "bf5xx-board", 71 .name = "bf5xx-board",
72 .platform = &bf5xx_ac97_soc_platform,
72 .dai_link = &bf5xx_board_dai, 73 .dai_link = &bf5xx_board_dai,
73 .num_links = 1, 74 .num_links = 1,
74}; 75};
75 76
76static struct snd_soc_device bf5xx_board_snd_devdata = { 77static struct snd_soc_device bf5xx_board_snd_devdata = {
77 .card = &bf5xx_board, 78 .card = &bf5xx_board,
78 .platform = &bf5xx_ac97_soc_platform,
79 .codec_dev = &soc_codec_dev_ad1980, 79 .codec_dev = &soc_codec_dev_ad1980,
80}; 80};
81 81
diff --git a/sound/soc/blackfin/bf5xx-ad73311.c b/sound/soc/blackfin/bf5xx-ad73311.c
index 57da14799375..7f2a5e199075 100644
--- a/sound/soc/blackfin/bf5xx-ad73311.c
+++ b/sound/soc/blackfin/bf5xx-ad73311.c
@@ -192,6 +192,7 @@ static struct snd_soc_dai_link bf5xx_ad73311_dai = {
192 192
193static struct snd_soc_card bf5xx_ad73311 = { 193static struct snd_soc_card bf5xx_ad73311 = {
194 .name = "bf5xx_ad73311", 194 .name = "bf5xx_ad73311",
195 .platform = &bf5xx_i2s_soc_platform,
195 .probe = bf5xx_probe, 196 .probe = bf5xx_probe,
196 .dai_link = &bf5xx_ad73311_dai, 197 .dai_link = &bf5xx_ad73311_dai,
197 .num_links = 1, 198 .num_links = 1,
@@ -199,7 +200,6 @@ static struct snd_soc_card bf5xx_ad73311 = {
199 200
200static struct snd_soc_device bf5xx_ad73311_snd_devdata = { 201static struct snd_soc_device bf5xx_ad73311_snd_devdata = {
201 .card = &bf5xx_ad73311, 202 .card = &bf5xx_ad73311,
202 .platform = &bf5xx_i2s_soc_platform,
203 .codec_dev = &soc_codec_dev_ad73311, 203 .codec_dev = &soc_codec_dev_ad73311,
204}; 204};
205 205
diff --git a/sound/soc/blackfin/bf5xx-ssm2602.c b/sound/soc/blackfin/bf5xx-ssm2602.c
index 0078dfcd95b9..bc0cdded7116 100644
--- a/sound/soc/blackfin/bf5xx-ssm2602.c
+++ b/sound/soc/blackfin/bf5xx-ssm2602.c
@@ -137,13 +137,13 @@ static struct ssm2602_setup_data bf5xx_ssm2602_setup = {
137 137
138static struct snd_soc_card bf5xx_ssm2602 = { 138static struct snd_soc_card bf5xx_ssm2602 = {
139 .name = "bf5xx_ssm2602", 139 .name = "bf5xx_ssm2602",
140 .platform = &bf5xx_i2s_soc_platform,
140 .dai_link = &bf5xx_ssm2602_dai, 141 .dai_link = &bf5xx_ssm2602_dai,
141 .num_links = 1, 142 .num_links = 1,
142}; 143};
143 144
144static struct snd_soc_device bf5xx_ssm2602_snd_devdata = { 145static struct snd_soc_device bf5xx_ssm2602_snd_devdata = {
145 .card = &bf5xx_ssm2602, 146 .card = &bf5xx_ssm2602,
146 .platform = &bf5xx_i2s_soc_platform,
147 .codec_dev = &soc_codec_dev_ssm2602, 147 .codec_dev = &soc_codec_dev_ssm2602,
148 .codec_data = &bf5xx_ssm2602_setup, 148 .codec_data = &bf5xx_ssm2602_setup,
149}; 149};
diff --git a/sound/soc/davinci/davinci-evm.c b/sound/soc/davinci/davinci-evm.c
index 2ce34d44b15c..d87b91179cc8 100644
--- a/sound/soc/davinci/davinci-evm.c
+++ b/sound/soc/davinci/davinci-evm.c
@@ -130,6 +130,7 @@ static struct snd_soc_dai_link evm_dai = {
130/* davinci-evm audio machine driver */ 130/* davinci-evm audio machine driver */
131static struct snd_soc_card snd_soc_card_evm = { 131static struct snd_soc_card snd_soc_card_evm = {
132 .name = "DaVinci EVM", 132 .name = "DaVinci EVM",
133 .platform = &davinci_soc_platform,
133 .dai_link = &evm_dai, 134 .dai_link = &evm_dai,
134 .num_links = 1, 135 .num_links = 1,
135}; 136};
@@ -143,7 +144,6 @@ static struct aic3x_setup_data evm_aic3x_setup = {
143/* evm audio subsystem */ 144/* evm audio subsystem */
144static struct snd_soc_device evm_snd_devdata = { 145static struct snd_soc_device evm_snd_devdata = {
145 .card = &snd_soc_card_evm, 146 .card = &snd_soc_card_evm,
146 .platform = &davinci_soc_platform,
147 .codec_dev = &soc_codec_dev_aic3x, 147 .codec_dev = &soc_codec_dev_aic3x,
148 .codec_data = &evm_aic3x_setup, 148 .codec_data = &evm_aic3x_setup,
149}; 149};
diff --git a/sound/soc/davinci/davinci-i2s.c b/sound/soc/davinci/davinci-i2s.c
index cf31b3bb96cf..8b99efbc64c6 100644
--- a/sound/soc/davinci/davinci-i2s.c
+++ b/sound/soc/davinci/davinci-i2s.c
@@ -112,7 +112,7 @@ static void davinci_mcbsp_start(struct snd_pcm_substream *substream)
112 struct snd_soc_pcm_runtime *rtd = substream->private_data; 112 struct snd_soc_pcm_runtime *rtd = substream->private_data;
113 struct davinci_mcbsp_dev *dev = rtd->dai->cpu_dai->private_data; 113 struct davinci_mcbsp_dev *dev = rtd->dai->cpu_dai->private_data;
114 struct snd_soc_device *socdev = rtd->socdev; 114 struct snd_soc_device *socdev = rtd->socdev;
115 struct snd_soc_platform *platform = socdev->platform; 115 struct snd_soc_platform *platform = socdev->card->platform;
116 u32 w; 116 u32 w;
117 int ret; 117 int ret;
118 118
diff --git a/sound/soc/davinci/davinci-sffsdr.c b/sound/soc/davinci/davinci-sffsdr.c
index e95fde1766b5..f67579d52765 100644
--- a/sound/soc/davinci/davinci-sffsdr.c
+++ b/sound/soc/davinci/davinci-sffsdr.c
@@ -76,6 +76,7 @@ static struct snd_soc_dai_link sffsdr_dai = {
76/* davinci-sffsdr audio machine driver */ 76/* davinci-sffsdr audio machine driver */
77static struct snd_soc_card snd_soc_sffsdr = { 77static struct snd_soc_card snd_soc_sffsdr = {
78 .name = "DaVinci SFFSDR", 78 .name = "DaVinci SFFSDR",
79 .platform = &davinci_soc_platform,
79 .dai_link = &sffsdr_dai, 80 .dai_link = &sffsdr_dai,
80 .num_links = 1, 81 .num_links = 1,
81}; 82};
@@ -91,7 +92,6 @@ static struct pcm3008_setup_data sffsdr_pcm3008_setup = {
91/* sffsdr audio subsystem */ 92/* sffsdr audio subsystem */
92static struct snd_soc_device sffsdr_snd_devdata = { 93static struct snd_soc_device sffsdr_snd_devdata = {
93 .card = &snd_soc_sffsdr, 94 .card = &snd_soc_sffsdr,
94 .platform = &davinci_soc_platform,
95 .codec_dev = &soc_codec_dev_pcm3008, 95 .codec_dev = &soc_codec_dev_pcm3008,
96 .codec_data = &sffsdr_pcm3008_setup, 96 .codec_data = &sffsdr_pcm3008_setup,
97}; 97};
diff --git a/sound/soc/fsl/mpc8610_hpcd.c b/sound/soc/fsl/mpc8610_hpcd.c
index 1cf4d6eeb538..bcec3f60bad9 100644
--- a/sound/soc/fsl/mpc8610_hpcd.c
+++ b/sound/soc/fsl/mpc8610_hpcd.c
@@ -467,7 +467,7 @@ static int mpc8610_hpcd_probe(struct of_device *ofdev,
467 467
468 machine_data->sound_devdata.card = &mpc8610_hpcd_machine; 468 machine_data->sound_devdata.card = &mpc8610_hpcd_machine;
469 machine_data->sound_devdata.codec_dev = &soc_codec_device_cs4270; 469 machine_data->sound_devdata.codec_dev = &soc_codec_device_cs4270;
470 machine_data->sound_devdata.platform = &fsl_soc_platform; 470 machine_data->machine.platform = &fsl_soc_platform;
471 471
472 sound_device->dev.platform_data = machine_data; 472 sound_device->dev.platform_data = machine_data;
473 473
diff --git a/sound/soc/fsl/soc-of-simple.c b/sound/soc/fsl/soc-of-simple.c
index 53be6491320a..8bc5cd9e972f 100644
--- a/sound/soc/fsl/soc-of-simple.c
+++ b/sound/soc/fsl/soc-of-simple.c
@@ -158,7 +158,7 @@ int of_snd_soc_register_platform(struct snd_soc_platform *platform,
158 158
159 of_soc->platform_node = node; 159 of_soc->platform_node = node;
160 of_soc->dai_link.cpu_dai = cpu_dai; 160 of_soc->dai_link.cpu_dai = cpu_dai;
161 of_soc->device.platform = platform; 161 of_soc->card.platform = platform;
162 of_soc->card.name = of_soc->dai_link.cpu_dai->name; 162 of_soc->card.name = of_soc->dai_link.cpu_dai->name;
163 163
164 /* Now try to register the SoC device */ 164 /* Now try to register the SoC device */
diff --git a/sound/soc/omap/n810.c b/sound/soc/omap/n810.c
index 18e2062e3a11..25593fee9121 100644
--- a/sound/soc/omap/n810.c
+++ b/sound/soc/omap/n810.c
@@ -288,6 +288,7 @@ static struct snd_soc_dai_link n810_dai = {
288/* Audio machine driver */ 288/* Audio machine driver */
289static struct snd_soc_card snd_soc_n810 = { 289static struct snd_soc_card snd_soc_n810 = {
290 .name = "N810", 290 .name = "N810",
291 .platform = &omap_soc_platform,
291 .dai_link = &n810_dai, 292 .dai_link = &n810_dai,
292 .num_links = 1, 293 .num_links = 1,
293}; 294};
@@ -303,7 +304,6 @@ static struct aic3x_setup_data n810_aic33_setup = {
303/* Audio subsystem */ 304/* Audio subsystem */
304static struct snd_soc_device n810_snd_devdata = { 305static struct snd_soc_device n810_snd_devdata = {
305 .card = &snd_soc_n810, 306 .card = &snd_soc_n810,
306 .platform = &omap_soc_platform,
307 .codec_dev = &soc_codec_dev_aic3x, 307 .codec_dev = &soc_codec_dev_aic3x,
308 .codec_data = &n810_aic33_setup, 308 .codec_data = &n810_aic33_setup,
309}; 309};
diff --git a/sound/soc/omap/omap2evm.c b/sound/soc/omap/omap2evm.c
index 7b160f9d83f9..0c2322dcf02a 100644
--- a/sound/soc/omap/omap2evm.c
+++ b/sound/soc/omap/omap2evm.c
@@ -93,6 +93,7 @@ static struct snd_soc_dai_link omap2evm_dai = {
93/* Audio machine driver */ 93/* Audio machine driver */
94static struct snd_soc_card snd_soc_omap2evm = { 94static struct snd_soc_card snd_soc_omap2evm = {
95 .name = "omap2evm", 95 .name = "omap2evm",
96 .platform = &omap_soc_platform,
96 .dai_link = &omap2evm_dai, 97 .dai_link = &omap2evm_dai,
97 .num_links = 1, 98 .num_links = 1,
98}; 99};
@@ -100,7 +101,6 @@ static struct snd_soc_card snd_soc_omap2evm = {
100/* Audio subsystem */ 101/* Audio subsystem */
101static struct snd_soc_device omap2evm_snd_devdata = { 102static struct snd_soc_device omap2evm_snd_devdata = {
102 .card = &snd_soc_omap2evm, 103 .card = &snd_soc_omap2evm,
103 .platform = &omap_soc_platform,
104 .codec_dev = &soc_codec_dev_twl4030, 104 .codec_dev = &soc_codec_dev_twl4030,
105}; 105};
106 106
diff --git a/sound/soc/omap/omap3beagle.c b/sound/soc/omap/omap3beagle.c
index 3ed25464627f..fd24a4acd2f5 100644
--- a/sound/soc/omap/omap3beagle.c
+++ b/sound/soc/omap/omap3beagle.c
@@ -90,6 +90,7 @@ static struct snd_soc_dai_link omap3beagle_dai = {
90/* Audio machine driver */ 90/* Audio machine driver */
91static struct snd_soc_card snd_soc_omap3beagle = { 91static struct snd_soc_card snd_soc_omap3beagle = {
92 .name = "omap3beagle", 92 .name = "omap3beagle",
93 .platform = &omap_soc_platform,
93 .dai_link = &omap3beagle_dai, 94 .dai_link = &omap3beagle_dai,
94 .num_links = 1, 95 .num_links = 1,
95}; 96};
@@ -97,7 +98,6 @@ static struct snd_soc_card snd_soc_omap3beagle = {
97/* Audio subsystem */ 98/* Audio subsystem */
98static struct snd_soc_device omap3beagle_snd_devdata = { 99static struct snd_soc_device omap3beagle_snd_devdata = {
99 .card = &snd_soc_omap3beagle, 100 .card = &snd_soc_omap3beagle,
100 .platform = &omap_soc_platform,
101 .codec_dev = &soc_codec_dev_twl4030, 101 .codec_dev = &soc_codec_dev_twl4030,
102}; 102};
103 103
diff --git a/sound/soc/omap/osk5912.c b/sound/soc/omap/osk5912.c
index 7a8f14d0c772..845bf41335b9 100644
--- a/sound/soc/omap/osk5912.c
+++ b/sound/soc/omap/osk5912.c
@@ -145,6 +145,7 @@ static struct snd_soc_dai_link osk_dai = {
145/* Audio machine driver */ 145/* Audio machine driver */
146static struct snd_soc_card snd_soc_card_osk = { 146static struct snd_soc_card snd_soc_card_osk = {
147 .name = "OSK5912", 147 .name = "OSK5912",
148 .platform = &omap_soc_platform,
148 .dai_link = &osk_dai, 149 .dai_link = &osk_dai,
149 .num_links = 1, 150 .num_links = 1,
150}; 151};
@@ -152,7 +153,6 @@ static struct snd_soc_card snd_soc_card_osk = {
152/* Audio subsystem */ 153/* Audio subsystem */
153static struct snd_soc_device osk_snd_devdata = { 154static struct snd_soc_device osk_snd_devdata = {
154 .card = &snd_soc_card_osk, 155 .card = &snd_soc_card_osk,
155 .platform = &omap_soc_platform,
156 .codec_dev = &soc_codec_dev_tlv320aic23, 156 .codec_dev = &soc_codec_dev_tlv320aic23,
157}; 157};
158 158
diff --git a/sound/soc/omap/overo.c b/sound/soc/omap/overo.c
index eea0c372bb3f..a72dc4e159e5 100644
--- a/sound/soc/omap/overo.c
+++ b/sound/soc/omap/overo.c
@@ -90,6 +90,7 @@ static struct snd_soc_dai_link overo_dai = {
90/* Audio machine driver */ 90/* Audio machine driver */
91static struct snd_soc_card snd_soc_card_overo = { 91static struct snd_soc_card snd_soc_card_overo = {
92 .name = "overo", 92 .name = "overo",
93 .platform = &omap_soc_platform,
93 .dai_link = &overo_dai, 94 .dai_link = &overo_dai,
94 .num_links = 1, 95 .num_links = 1,
95}; 96};
@@ -97,7 +98,6 @@ static struct snd_soc_card snd_soc_card_overo = {
97/* Audio subsystem */ 98/* Audio subsystem */
98static struct snd_soc_device overo_snd_devdata = { 99static struct snd_soc_device overo_snd_devdata = {
99 .card = &snd_soc_card_overo, 100 .card = &snd_soc_card_overo,
100 .platform = &omap_soc_platform,
101 .codec_dev = &soc_codec_dev_twl4030, 101 .codec_dev = &soc_codec_dev_twl4030,
102}; 102};
103 103
diff --git a/sound/soc/omap/sdp3430.c b/sound/soc/omap/sdp3430.c
index 85fd160bca17..ad97836818b1 100644
--- a/sound/soc/omap/sdp3430.c
+++ b/sound/soc/omap/sdp3430.c
@@ -93,6 +93,7 @@ static struct snd_soc_dai_link sdp3430_dai = {
93/* Audio machine driver */ 93/* Audio machine driver */
94static struct snd_soc_machine snd_soc_machine_sdp3430 = { 94static struct snd_soc_machine snd_soc_machine_sdp3430 = {
95 .name = "SDP3430", 95 .name = "SDP3430",
96 .platform = &omap_soc_platform,
96 .dai_link = &sdp3430_dai, 97 .dai_link = &sdp3430_dai,
97 .num_links = 1, 98 .num_links = 1,
98}; 99};
@@ -100,7 +101,6 @@ static struct snd_soc_machine snd_soc_machine_sdp3430 = {
100/* Audio subsystem */ 101/* Audio subsystem */
101static struct snd_soc_device sdp3430_snd_devdata = { 102static struct snd_soc_device sdp3430_snd_devdata = {
102 .machine = &snd_soc_machine_sdp3430, 103 .machine = &snd_soc_machine_sdp3430,
103 .platform = &omap_soc_platform,
104 .codec_dev = &soc_codec_dev_twl4030, 104 .codec_dev = &soc_codec_dev_twl4030,
105}; 105};
106 106
diff --git a/sound/soc/pxa/corgi.c b/sound/soc/pxa/corgi.c
index e56bf4b6c2af..1ba25a559524 100644
--- a/sound/soc/pxa/corgi.c
+++ b/sound/soc/pxa/corgi.c
@@ -312,6 +312,7 @@ static struct snd_soc_dai_link corgi_dai = {
312/* corgi audio machine driver */ 312/* corgi audio machine driver */
313static struct snd_soc_card snd_soc_corgi = { 313static struct snd_soc_card snd_soc_corgi = {
314 .name = "Corgi", 314 .name = "Corgi",
315 .platform = &pxa2xx_soc_platform,
315 .dai_link = &corgi_dai, 316 .dai_link = &corgi_dai,
316 .num_links = 1, 317 .num_links = 1,
317}; 318};
@@ -325,7 +326,6 @@ static struct wm8731_setup_data corgi_wm8731_setup = {
325/* corgi audio subsystem */ 326/* corgi audio subsystem */
326static struct snd_soc_device corgi_snd_devdata = { 327static struct snd_soc_device corgi_snd_devdata = {
327 .card = &snd_soc_corgi, 328 .card = &snd_soc_corgi,
328 .platform = &pxa2xx_soc_platform,
329 .codec_dev = &soc_codec_dev_wm8731, 329 .codec_dev = &soc_codec_dev_wm8731,
330 .codec_data = &corgi_wm8731_setup, 330 .codec_data = &corgi_wm8731_setup,
331}; 331};
diff --git a/sound/soc/pxa/e800_wm9712.c b/sound/soc/pxa/e800_wm9712.c
index 60c64861512a..2e3386dfa0f0 100644
--- a/sound/soc/pxa/e800_wm9712.c
+++ b/sound/soc/pxa/e800_wm9712.c
@@ -42,13 +42,13 @@ static struct snd_soc_dai_link e800_dai[] = {
42 42
43static struct snd_soc_card e800 = { 43static struct snd_soc_card e800 = {
44 .name = "Toshiba e800", 44 .name = "Toshiba e800",
45 .platform = &pxa2xx_soc_platform,
45 .dai_link = e800_dai, 46 .dai_link = e800_dai,
46 .num_links = ARRAY_SIZE(e800_dai), 47 .num_links = ARRAY_SIZE(e800_dai),
47}; 48};
48 49
49static struct snd_soc_device e800_snd_devdata = { 50static struct snd_soc_device e800_snd_devdata = {
50 .card = &e800, 51 .card = &e800,
51 .platform = &pxa2xx_soc_platform,
52 .codec_dev = &soc_codec_dev_wm9712, 52 .codec_dev = &soc_codec_dev_wm9712,
53}; 53};
54 54
diff --git a/sound/soc/pxa/em-x270.c b/sound/soc/pxa/em-x270.c
index d6884b755d55..fe4a729ea648 100644
--- a/sound/soc/pxa/em-x270.c
+++ b/sound/soc/pxa/em-x270.c
@@ -54,13 +54,13 @@ static struct snd_soc_dai_link em_x270_dai[] = {
54 54
55static struct snd_soc_card em_x270 = { 55static struct snd_soc_card em_x270 = {
56 .name = "EM-X270", 56 .name = "EM-X270",
57 .platform = &pxa2xx_soc_platform,
57 .dai_link = em_x270_dai, 58 .dai_link = em_x270_dai,
58 .num_links = ARRAY_SIZE(em_x270_dai), 59 .num_links = ARRAY_SIZE(em_x270_dai),
59}; 60};
60 61
61static struct snd_soc_device em_x270_snd_devdata = { 62static struct snd_soc_device em_x270_snd_devdata = {
62 .card = &em_x270, 63 .card = &em_x270,
63 .platform = &pxa2xx_soc_platform,
64 .codec_dev = &soc_codec_dev_wm9712, 64 .codec_dev = &soc_codec_dev_wm9712,
65}; 65};
66 66
diff --git a/sound/soc/pxa/palm27x.c b/sound/soc/pxa/palm27x.c
index 3bb8879ac8a2..4a9cf3083af0 100644
--- a/sound/soc/pxa/palm27x.c
+++ b/sound/soc/pxa/palm27x.c
@@ -191,13 +191,13 @@ static struct snd_soc_dai_link palm27x_dai[] = {
191 191
192static struct snd_soc_card palm27x_asoc = { 192static struct snd_soc_card palm27x_asoc = {
193 .name = "Palm/PXA27x", 193 .name = "Palm/PXA27x",
194 .platform = &pxa2xx_soc_platform,
194 .dai_link = palm27x_dai, 195 .dai_link = palm27x_dai,
195 .num_links = ARRAY_SIZE(palm27x_dai), 196 .num_links = ARRAY_SIZE(palm27x_dai),
196}; 197};
197 198
198static struct snd_soc_device palm27x_snd_devdata = { 199static struct snd_soc_device palm27x_snd_devdata = {
199 .card = &palm27x_asoc, 200 .card = &palm27x_asoc,
200 .platform = &pxa2xx_soc_platform,
201 .codec_dev = &soc_codec_dev_wm9712, 201 .codec_dev = &soc_codec_dev_wm9712,
202}; 202};
203 203
diff --git a/sound/soc/pxa/poodle.c b/sound/soc/pxa/poodle.c
index 03b510ab2824..6e9827189fff 100644
--- a/sound/soc/pxa/poodle.c
+++ b/sound/soc/pxa/poodle.c
@@ -278,6 +278,7 @@ static struct snd_soc_dai_link poodle_dai = {
278/* poodle audio machine driver */ 278/* poodle audio machine driver */
279static struct snd_soc_card snd_soc_poodle = { 279static struct snd_soc_card snd_soc_poodle = {
280 .name = "Poodle", 280 .name = "Poodle",
281 .platform = &pxa2xx_soc_platform,
281 .dai_link = &poodle_dai, 282 .dai_link = &poodle_dai,
282 .num_links = 1, 283 .num_links = 1,
283}; 284};
@@ -291,7 +292,6 @@ static struct wm8731_setup_data poodle_wm8731_setup = {
291/* poodle audio subsystem */ 292/* poodle audio subsystem */
292static struct snd_soc_device poodle_snd_devdata = { 293static struct snd_soc_device poodle_snd_devdata = {
293 .card = &snd_soc_poodle, 294 .card = &snd_soc_poodle,
294 .platform = &pxa2xx_soc_platform,
295 .codec_dev = &soc_codec_dev_wm8731, 295 .codec_dev = &soc_codec_dev_wm8731,
296 .codec_data = &poodle_wm8731_setup, 296 .codec_data = &poodle_wm8731_setup,
297}; 297};
diff --git a/sound/soc/pxa/spitz.c b/sound/soc/pxa/spitz.c
index 579d93368f14..a3b9e6bdf979 100644
--- a/sound/soc/pxa/spitz.c
+++ b/sound/soc/pxa/spitz.c
@@ -321,6 +321,7 @@ static struct snd_soc_dai_link spitz_dai = {
321/* spitz audio machine driver */ 321/* spitz audio machine driver */
322static struct snd_soc_card snd_soc_spitz = { 322static struct snd_soc_card snd_soc_spitz = {
323 .name = "Spitz", 323 .name = "Spitz",
324 .platform = &pxa2xx_soc_platform,
324 .dai_link = &spitz_dai, 325 .dai_link = &spitz_dai,
325 .num_links = 1, 326 .num_links = 1,
326}; 327};
@@ -334,7 +335,6 @@ static struct wm8750_setup_data spitz_wm8750_setup = {
334/* spitz audio subsystem */ 335/* spitz audio subsystem */
335static struct snd_soc_device spitz_snd_devdata = { 336static struct snd_soc_device spitz_snd_devdata = {
336 .card = &snd_soc_spitz, 337 .card = &snd_soc_spitz,
337 .platform = &pxa2xx_soc_platform,
338 .codec_dev = &soc_codec_dev_wm8750, 338 .codec_dev = &soc_codec_dev_wm8750,
339 .codec_data = &spitz_wm8750_setup, 339 .codec_data = &spitz_wm8750_setup,
340}; 340};
diff --git a/sound/soc/pxa/tosa.c b/sound/soc/pxa/tosa.c
index 48242b32a28b..c77194f74c9b 100644
--- a/sound/soc/pxa/tosa.c
+++ b/sound/soc/pxa/tosa.c
@@ -252,6 +252,7 @@ static int tosa_remove(struct platform_device *dev)
252 252
253static struct snd_soc_card tosa = { 253static struct snd_soc_card tosa = {
254 .name = "Tosa", 254 .name = "Tosa",
255 .platform = &pxa2xx_soc_platform,
255 .dai_link = tosa_dai, 256 .dai_link = tosa_dai,
256 .num_links = ARRAY_SIZE(tosa_dai), 257 .num_links = ARRAY_SIZE(tosa_dai),
257 .probe = tosa_probe, 258 .probe = tosa_probe,
@@ -260,7 +261,6 @@ static struct snd_soc_card tosa = {
260 261
261static struct snd_soc_device tosa_snd_devdata = { 262static struct snd_soc_device tosa_snd_devdata = {
262 .card = &tosa, 263 .card = &tosa,
263 .platform = &pxa2xx_soc_platform,
264 .codec_dev = &soc_codec_dev_wm9712, 264 .codec_dev = &soc_codec_dev_wm9712,
265}; 265};
266 266
diff --git a/sound/soc/pxa/zylonite.c b/sound/soc/pxa/zylonite.c
index 842d6500d61f..f8e9ecd589d3 100644
--- a/sound/soc/pxa/zylonite.c
+++ b/sound/soc/pxa/zylonite.c
@@ -175,13 +175,13 @@ static struct snd_soc_dai_link zylonite_dai[] = {
175 175
176static struct snd_soc_card zylonite = { 176static struct snd_soc_card zylonite = {
177 .name = "Zylonite", 177 .name = "Zylonite",
178 .platform = &pxa2xx_soc_platform,
178 .dai_link = zylonite_dai, 179 .dai_link = zylonite_dai,
179 .num_links = ARRAY_SIZE(zylonite_dai), 180 .num_links = ARRAY_SIZE(zylonite_dai),
180}; 181};
181 182
182static struct snd_soc_device zylonite_snd_ac97_devdata = { 183static struct snd_soc_device zylonite_snd_ac97_devdata = {
183 .card = &zylonite, 184 .card = &zylonite,
184 .platform = &pxa2xx_soc_platform,
185 .codec_dev = &soc_codec_dev_wm9713, 185 .codec_dev = &soc_codec_dev_wm9713,
186}; 186};
187 187
diff --git a/sound/soc/s3c24xx/ln2440sbc_alc650.c b/sound/soc/s3c24xx/ln2440sbc_alc650.c
index a70cbc0fa070..12c71482d258 100644
--- a/sound/soc/s3c24xx/ln2440sbc_alc650.c
+++ b/sound/soc/s3c24xx/ln2440sbc_alc650.c
@@ -40,13 +40,13 @@ static struct snd_soc_dai_link ln2440sbc_dai[] = {
40 40
41static struct snd_soc_card ln2440sbc = { 41static struct snd_soc_card ln2440sbc = {
42 .name = "LN2440SBC", 42 .name = "LN2440SBC",
43 .platform = &s3c24xx_soc_platform,
43 .dai_link = ln2440sbc_dai, 44 .dai_link = ln2440sbc_dai,
44 .num_links = ARRAY_SIZE(ln2440sbc_dai), 45 .num_links = ARRAY_SIZE(ln2440sbc_dai),
45}; 46};
46 47
47static struct snd_soc_device ln2440sbc_snd_ac97_devdata = { 48static struct snd_soc_device ln2440sbc_snd_ac97_devdata = {
48 .card = &ln2440sbc, 49 .card = &ln2440sbc,
49 .platform = &s3c24xx_soc_platform,
50 .codec_dev = &soc_codec_dev_ac97, 50 .codec_dev = &soc_codec_dev_ac97,
51}; 51};
52 52
diff --git a/sound/soc/s3c24xx/neo1973_wm8753.c b/sound/soc/s3c24xx/neo1973_wm8753.c
index 3df2224a6723..45bb12e8ea44 100644
--- a/sound/soc/s3c24xx/neo1973_wm8753.c
+++ b/sound/soc/s3c24xx/neo1973_wm8753.c
@@ -580,6 +580,7 @@ static struct snd_soc_dai_link neo1973_dai[] = {
580 580
581static struct snd_soc_card neo1973 = { 581static struct snd_soc_card neo1973 = {
582 .name = "neo1973", 582 .name = "neo1973",
583 .platform = &s3c24xx_soc_platform,
583 .dai_link = neo1973_dai, 584 .dai_link = neo1973_dai,
584 .num_links = ARRAY_SIZE(neo1973_dai), 585 .num_links = ARRAY_SIZE(neo1973_dai),
585}; 586};
@@ -591,7 +592,6 @@ static struct wm8753_setup_data neo1973_wm8753_setup = {
591 592
592static struct snd_soc_device neo1973_snd_devdata = { 593static struct snd_soc_device neo1973_snd_devdata = {
593 .card = &neo1973, 594 .card = &neo1973,
594 .platform = &s3c24xx_soc_platform,
595 .codec_dev = &soc_codec_dev_wm8753, 595 .codec_dev = &soc_codec_dev_wm8753,
596 .codec_data = &neo1973_wm8753_setup, 596 .codec_data = &neo1973_wm8753_setup,
597}; 597};
diff --git a/sound/soc/s3c24xx/s3c24xx_uda134x.c b/sound/soc/s3c24xx/s3c24xx_uda134x.c
index 23325fca1f64..a0a4d1832a14 100644
--- a/sound/soc/s3c24xx/s3c24xx_uda134x.c
+++ b/sound/soc/s3c24xx/s3c24xx_uda134x.c
@@ -234,6 +234,7 @@ static struct snd_soc_dai_link s3c24xx_uda134x_dai_link = {
234 234
235static struct snd_soc_card snd_soc_s3c24xx_uda134x = { 235static struct snd_soc_card snd_soc_s3c24xx_uda134x = {
236 .name = "S3C24XX_UDA134X", 236 .name = "S3C24XX_UDA134X",
237 .platform = &s3c24xx_soc_platform,
237 .dai_link = &s3c24xx_uda134x_dai_link, 238 .dai_link = &s3c24xx_uda134x_dai_link,
238 .num_links = 1, 239 .num_links = 1,
239}; 240};
@@ -271,7 +272,6 @@ static struct uda134x_platform_data s3c24xx_uda134x = {
271 272
272static struct snd_soc_device s3c24xx_uda134x_snd_devdata = { 273static struct snd_soc_device s3c24xx_uda134x_snd_devdata = {
273 .card = &snd_soc_s3c24xx_uda134x, 274 .card = &snd_soc_s3c24xx_uda134x,
274 .platform = &s3c24xx_soc_platform,
275 .codec_dev = &soc_codec_dev_uda134x, 275 .codec_dev = &soc_codec_dev_uda134x,
276 .codec_data = &s3c24xx_uda134x, 276 .codec_data = &s3c24xx_uda134x,
277}; 277};
diff --git a/sound/soc/s3c24xx/smdk2443_wm9710.c b/sound/soc/s3c24xx/smdk2443_wm9710.c
index 3d2e6a0417ec..a2a4f5323c17 100644
--- a/sound/soc/s3c24xx/smdk2443_wm9710.c
+++ b/sound/soc/s3c24xx/smdk2443_wm9710.c
@@ -36,13 +36,13 @@ static struct snd_soc_dai_link smdk2443_dai[] = {
36 36
37static struct snd_soc_card smdk2443 = { 37static struct snd_soc_card smdk2443 = {
38 .name = "SMDK2443", 38 .name = "SMDK2443",
39 .platform = &s3c24xx_soc_platform,
39 .dai_link = smdk2443_dai, 40 .dai_link = smdk2443_dai,
40 .num_links = ARRAY_SIZE(smdk2443_dai), 41 .num_links = ARRAY_SIZE(smdk2443_dai),
41}; 42};
42 43
43static struct snd_soc_device smdk2443_snd_ac97_devdata = { 44static struct snd_soc_device smdk2443_snd_ac97_devdata = {
44 .card = &smdk2443, 45 .card = &smdk2443,
45 .platform = &s3c24xx_soc_platform,
46 .codec_dev = &soc_codec_dev_ac97, 46 .codec_dev = &soc_codec_dev_ac97,
47}; 47};
48 48
diff --git a/sound/soc/sh/sh7760-ac97.c b/sound/soc/sh/sh7760-ac97.c
index 8b44f9c8a9ff..ce7f95b59de3 100644
--- a/sound/soc/sh/sh7760-ac97.c
+++ b/sound/soc/sh/sh7760-ac97.c
@@ -40,13 +40,13 @@ static struct snd_soc_dai_link sh7760_ac97_dai = {
40 40
41static struct snd_soc_card sh7760_ac97_soc_machine = { 41static struct snd_soc_card sh7760_ac97_soc_machine = {
42 .name = "SH7760 AC97", 42 .name = "SH7760 AC97",
43 .platform = &sh7760_soc_platform,
43 .dai_link = &sh7760_ac97_dai, 44 .dai_link = &sh7760_ac97_dai,
44 .num_links = 1, 45 .num_links = 1,
45}; 46};
46 47
47static struct snd_soc_device sh7760_ac97_snd_devdata = { 48static struct snd_soc_device sh7760_ac97_snd_devdata = {
48 .card = &sh7760_ac97_soc_machine, 49 .card = &sh7760_ac97_soc_machine,
49 .platform = &sh7760_soc_platform,
50 .codec_dev = &soc_codec_dev_ac97, 50 .codec_dev = &soc_codec_dev_ac97,
51}; 51};
52 52
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index c4b22e6984e6..fe89260c9028 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -109,9 +109,10 @@ static int soc_pcm_open(struct snd_pcm_substream *substream)
109{ 109{
110 struct snd_soc_pcm_runtime *rtd = substream->private_data; 110 struct snd_soc_pcm_runtime *rtd = substream->private_data;
111 struct snd_soc_device *socdev = rtd->socdev; 111 struct snd_soc_device *socdev = rtd->socdev;
112 struct snd_soc_card *card = socdev->card;
112 struct snd_pcm_runtime *runtime = substream->runtime; 113 struct snd_pcm_runtime *runtime = substream->runtime;
113 struct snd_soc_dai_link *machine = rtd->dai; 114 struct snd_soc_dai_link *machine = rtd->dai;
114 struct snd_soc_platform *platform = socdev->platform; 115 struct snd_soc_platform *platform = card->platform;
115 struct snd_soc_dai *cpu_dai = machine->cpu_dai; 116 struct snd_soc_dai *cpu_dai = machine->cpu_dai;
116 struct snd_soc_dai *codec_dai = machine->codec_dai; 117 struct snd_soc_dai *codec_dai = machine->codec_dai;
117 int ret = 0; 118 int ret = 0;
@@ -302,7 +303,7 @@ static int soc_codec_close(struct snd_pcm_substream *substream)
302 struct snd_soc_device *socdev = rtd->socdev; 303 struct snd_soc_device *socdev = rtd->socdev;
303 struct snd_soc_card *card = socdev->card; 304 struct snd_soc_card *card = socdev->card;
304 struct snd_soc_dai_link *machine = rtd->dai; 305 struct snd_soc_dai_link *machine = rtd->dai;
305 struct snd_soc_platform *platform = socdev->platform; 306 struct snd_soc_platform *platform = card->platform;
306 struct snd_soc_dai *cpu_dai = machine->cpu_dai; 307 struct snd_soc_dai *cpu_dai = machine->cpu_dai;
307 struct snd_soc_dai *codec_dai = machine->codec_dai; 308 struct snd_soc_dai *codec_dai = machine->codec_dai;
308 struct snd_soc_codec *codec = socdev->codec; 309 struct snd_soc_codec *codec = socdev->codec;
@@ -370,7 +371,7 @@ static int soc_pcm_prepare(struct snd_pcm_substream *substream)
370 struct snd_soc_device *socdev = rtd->socdev; 371 struct snd_soc_device *socdev = rtd->socdev;
371 struct snd_soc_card *card = socdev->card; 372 struct snd_soc_card *card = socdev->card;
372 struct snd_soc_dai_link *machine = rtd->dai; 373 struct snd_soc_dai_link *machine = rtd->dai;
373 struct snd_soc_platform *platform = socdev->platform; 374 struct snd_soc_platform *platform = card->platform;
374 struct snd_soc_dai *cpu_dai = machine->cpu_dai; 375 struct snd_soc_dai *cpu_dai = machine->cpu_dai;
375 struct snd_soc_dai *codec_dai = machine->codec_dai; 376 struct snd_soc_dai *codec_dai = machine->codec_dai;
376 struct snd_soc_codec *codec = socdev->codec; 377 struct snd_soc_codec *codec = socdev->codec;
@@ -464,7 +465,8 @@ static int soc_pcm_hw_params(struct snd_pcm_substream *substream,
464 struct snd_soc_pcm_runtime *rtd = substream->private_data; 465 struct snd_soc_pcm_runtime *rtd = substream->private_data;
465 struct snd_soc_device *socdev = rtd->socdev; 466 struct snd_soc_device *socdev = rtd->socdev;
466 struct snd_soc_dai_link *machine = rtd->dai; 467 struct snd_soc_dai_link *machine = rtd->dai;
467 struct snd_soc_platform *platform = socdev->platform; 468 struct snd_soc_card *card = socdev->card;
469 struct snd_soc_platform *platform = card->platform;
468 struct snd_soc_dai *cpu_dai = machine->cpu_dai; 470 struct snd_soc_dai *cpu_dai = machine->cpu_dai;
469 struct snd_soc_dai *codec_dai = machine->codec_dai; 471 struct snd_soc_dai *codec_dai = machine->codec_dai;
470 int ret = 0; 472 int ret = 0;
@@ -534,7 +536,8 @@ static int soc_pcm_hw_free(struct snd_pcm_substream *substream)
534 struct snd_soc_pcm_runtime *rtd = substream->private_data; 536 struct snd_soc_pcm_runtime *rtd = substream->private_data;
535 struct snd_soc_device *socdev = rtd->socdev; 537 struct snd_soc_device *socdev = rtd->socdev;
536 struct snd_soc_dai_link *machine = rtd->dai; 538 struct snd_soc_dai_link *machine = rtd->dai;
537 struct snd_soc_platform *platform = socdev->platform; 539 struct snd_soc_card *card = socdev->card;
540 struct snd_soc_platform *platform = card->platform;
538 struct snd_soc_dai *cpu_dai = machine->cpu_dai; 541 struct snd_soc_dai *cpu_dai = machine->cpu_dai;
539 struct snd_soc_dai *codec_dai = machine->codec_dai; 542 struct snd_soc_dai *codec_dai = machine->codec_dai;
540 struct snd_soc_codec *codec = socdev->codec; 543 struct snd_soc_codec *codec = socdev->codec;
@@ -568,8 +571,9 @@ static int soc_pcm_trigger(struct snd_pcm_substream *substream, int cmd)
568{ 571{
569 struct snd_soc_pcm_runtime *rtd = substream->private_data; 572 struct snd_soc_pcm_runtime *rtd = substream->private_data;
570 struct snd_soc_device *socdev = rtd->socdev; 573 struct snd_soc_device *socdev = rtd->socdev;
574 struct snd_soc_card *card= socdev->card;
571 struct snd_soc_dai_link *machine = rtd->dai; 575 struct snd_soc_dai_link *machine = rtd->dai;
572 struct snd_soc_platform *platform = socdev->platform; 576 struct snd_soc_platform *platform = card->platform;
573 struct snd_soc_dai *cpu_dai = machine->cpu_dai; 577 struct snd_soc_dai *cpu_dai = machine->cpu_dai;
574 struct snd_soc_dai *codec_dai = machine->codec_dai; 578 struct snd_soc_dai *codec_dai = machine->codec_dai;
575 int ret; 579 int ret;
@@ -610,7 +614,7 @@ static int soc_suspend(struct platform_device *pdev, pm_message_t state)
610{ 614{
611 struct snd_soc_device *socdev = platform_get_drvdata(pdev); 615 struct snd_soc_device *socdev = platform_get_drvdata(pdev);
612 struct snd_soc_card *card = socdev->card; 616 struct snd_soc_card *card = socdev->card;
613 struct snd_soc_platform *platform = socdev->platform; 617 struct snd_soc_platform *platform = card->platform;
614 struct snd_soc_codec_device *codec_dev = socdev->codec_dev; 618 struct snd_soc_codec_device *codec_dev = socdev->codec_dev;
615 struct snd_soc_codec *codec = socdev->codec; 619 struct snd_soc_codec *codec = socdev->codec;
616 int i; 620 int i;
@@ -686,7 +690,7 @@ static void soc_resume_deferred(struct work_struct *work)
686 struct snd_soc_card, 690 struct snd_soc_card,
687 deferred_resume_work); 691 deferred_resume_work);
688 struct snd_soc_device *socdev = card->socdev; 692 struct snd_soc_device *socdev = card->socdev;
689 struct snd_soc_platform *platform = socdev->platform; 693 struct snd_soc_platform *platform = card->platform;
690 struct snd_soc_codec_device *codec_dev = socdev->codec_dev; 694 struct snd_soc_codec_device *codec_dev = socdev->codec_dev;
691 struct snd_soc_codec *codec = socdev->codec; 695 struct snd_soc_codec *codec = socdev->codec;
692 struct platform_device *pdev = to_platform_device(socdev->dev); 696 struct platform_device *pdev = to_platform_device(socdev->dev);
@@ -770,7 +774,7 @@ static int soc_probe(struct platform_device *pdev)
770 int ret = 0, i; 774 int ret = 0, i;
771 struct snd_soc_device *socdev = platform_get_drvdata(pdev); 775 struct snd_soc_device *socdev = platform_get_drvdata(pdev);
772 struct snd_soc_card *card = socdev->card; 776 struct snd_soc_card *card = socdev->card;
773 struct snd_soc_platform *platform = socdev->platform; 777 struct snd_soc_platform *platform = card->platform;
774 struct snd_soc_codec_device *codec_dev = socdev->codec_dev; 778 struct snd_soc_codec_device *codec_dev = socdev->codec_dev;
775 779
776 /* Bodge while we push things out of socdev */ 780 /* Bodge while we push things out of socdev */
@@ -835,7 +839,7 @@ static int soc_remove(struct platform_device *pdev)
835 int i; 839 int i;
836 struct snd_soc_device *socdev = platform_get_drvdata(pdev); 840 struct snd_soc_device *socdev = platform_get_drvdata(pdev);
837 struct snd_soc_card *card = socdev->card; 841 struct snd_soc_card *card = socdev->card;
838 struct snd_soc_platform *platform = socdev->platform; 842 struct snd_soc_platform *platform = card->platform;
839 struct snd_soc_codec_device *codec_dev = socdev->codec_dev; 843 struct snd_soc_codec_device *codec_dev = socdev->codec_dev;
840 844
841 run_delayed_work(&card->delayed_work); 845 run_delayed_work(&card->delayed_work);
@@ -875,6 +879,8 @@ static int soc_new_pcm(struct snd_soc_device *socdev,
875 struct snd_soc_dai_link *dai_link, int num) 879 struct snd_soc_dai_link *dai_link, int num)
876{ 880{
877 struct snd_soc_codec *codec = socdev->codec; 881 struct snd_soc_codec *codec = socdev->codec;
882 struct snd_soc_card *card = socdev->card;
883 struct snd_soc_platform *platform = card->platform;
878 struct snd_soc_dai *codec_dai = dai_link->codec_dai; 884 struct snd_soc_dai *codec_dai = dai_link->codec_dai;
879 struct snd_soc_dai *cpu_dai = dai_link->cpu_dai; 885 struct snd_soc_dai *cpu_dai = dai_link->cpu_dai;
880 struct snd_soc_pcm_runtime *rtd; 886 struct snd_soc_pcm_runtime *rtd;
@@ -910,13 +916,13 @@ static int soc_new_pcm(struct snd_soc_device *socdev,
910 916
911 dai_link->pcm = pcm; 917 dai_link->pcm = pcm;
912 pcm->private_data = rtd; 918 pcm->private_data = rtd;
913 soc_pcm_ops.mmap = socdev->platform->pcm_ops->mmap; 919 soc_pcm_ops.mmap = platform->pcm_ops->mmap;
914 soc_pcm_ops.pointer = socdev->platform->pcm_ops->pointer; 920 soc_pcm_ops.pointer = platform->pcm_ops->pointer;
915 soc_pcm_ops.ioctl = socdev->platform->pcm_ops->ioctl; 921 soc_pcm_ops.ioctl = platform->pcm_ops->ioctl;
916 soc_pcm_ops.copy = socdev->platform->pcm_ops->copy; 922 soc_pcm_ops.copy = platform->pcm_ops->copy;
917 soc_pcm_ops.silence = socdev->platform->pcm_ops->silence; 923 soc_pcm_ops.silence = platform->pcm_ops->silence;
918 soc_pcm_ops.ack = socdev->platform->pcm_ops->ack; 924 soc_pcm_ops.ack = platform->pcm_ops->ack;
919 soc_pcm_ops.page = socdev->platform->pcm_ops->page; 925 soc_pcm_ops.page = platform->pcm_ops->page;
920 926
921 if (playback) 927 if (playback)
922 snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &soc_pcm_ops); 928 snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &soc_pcm_ops);
@@ -924,14 +930,14 @@ static int soc_new_pcm(struct snd_soc_device *socdev,
924 if (capture) 930 if (capture)
925 snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &soc_pcm_ops); 931 snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &soc_pcm_ops);
926 932
927 ret = socdev->platform->pcm_new(codec->card, codec_dai, pcm); 933 ret = platform->pcm_new(codec->card, codec_dai, pcm);
928 if (ret < 0) { 934 if (ret < 0) {
929 printk(KERN_ERR "asoc: platform pcm constructor failed\n"); 935 printk(KERN_ERR "asoc: platform pcm constructor failed\n");
930 kfree(rtd); 936 kfree(rtd);
931 return ret; 937 return ret;
932 } 938 }
933 939
934 pcm->private_free = socdev->platform->pcm_free; 940 pcm->private_free = platform->pcm_free;
935 printk(KERN_INFO "asoc: %s <-> %s mapping ok\n", codec_dai->name, 941 printk(KERN_INFO "asoc: %s <-> %s mapping ok\n", codec_dai->name,
936 cpu_dai->name); 942 cpu_dai->name);
937 return ret; 943 return ret;