diff options
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 { | |||
360 | struct snd_soc_device { | 361 | struct 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 | ||
364 | static struct snd_soc_card snd_soc_playpaq = { | 364 | static 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 | ||
379 | static struct snd_soc_device playpaq_wm8510_snd_devdata = { | 380 | static 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 | ||
245 | static struct snd_soc_card snd_soc_at91sam9g20ek = { | 245 | static 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 | ||
256 | static struct snd_soc_device at91sam9g20ek_snd_devdata = { | 257 | static 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 | ||
70 | static struct snd_soc_card bf5xx_board = { | 70 | static 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 | ||
76 | static struct snd_soc_device bf5xx_board_snd_devdata = { | 77 | static 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 | ||
193 | static struct snd_soc_card bf5xx_ad73311 = { | 193 | static 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 | ||
200 | static struct snd_soc_device bf5xx_ad73311_snd_devdata = { | 201 | static 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 | ||
138 | static struct snd_soc_card bf5xx_ssm2602 = { | 138 | static 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 | ||
144 | static struct snd_soc_device bf5xx_ssm2602_snd_devdata = { | 145 | static 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 */ |
131 | static struct snd_soc_card snd_soc_card_evm = { | 131 | static 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 */ |
144 | static struct snd_soc_device evm_snd_devdata = { | 145 | static 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 */ |
77 | static struct snd_soc_card snd_soc_sffsdr = { | 77 | static 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 */ |
92 | static struct snd_soc_device sffsdr_snd_devdata = { | 93 | static 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 */ |
289 | static struct snd_soc_card snd_soc_n810 = { | 289 | static 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 */ |
304 | static struct snd_soc_device n810_snd_devdata = { | 305 | static 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 */ |
94 | static struct snd_soc_card snd_soc_omap2evm = { | 94 | static 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 */ |
101 | static struct snd_soc_device omap2evm_snd_devdata = { | 102 | static 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 */ |
91 | static struct snd_soc_card snd_soc_omap3beagle = { | 91 | static 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 */ |
98 | static struct snd_soc_device omap3beagle_snd_devdata = { | 99 | static 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 */ |
146 | static struct snd_soc_card snd_soc_card_osk = { | 146 | static 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 */ |
153 | static struct snd_soc_device osk_snd_devdata = { | 154 | static 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 */ |
91 | static struct snd_soc_card snd_soc_card_overo = { | 91 | static 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 */ |
98 | static struct snd_soc_device overo_snd_devdata = { | 99 | static 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 */ |
94 | static struct snd_soc_machine snd_soc_machine_sdp3430 = { | 94 | static 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 */ |
101 | static struct snd_soc_device sdp3430_snd_devdata = { | 102 | static 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 */ |
313 | static struct snd_soc_card snd_soc_corgi = { | 313 | static 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 */ |
326 | static struct snd_soc_device corgi_snd_devdata = { | 327 | static 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 | ||
43 | static struct snd_soc_card e800 = { | 43 | static 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 | ||
49 | static struct snd_soc_device e800_snd_devdata = { | 50 | static 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 | ||
55 | static struct snd_soc_card em_x270 = { | 55 | static 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 | ||
61 | static struct snd_soc_device em_x270_snd_devdata = { | 62 | static 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 | ||
192 | static struct snd_soc_card palm27x_asoc = { | 192 | static 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 | ||
198 | static struct snd_soc_device palm27x_snd_devdata = { | 199 | static 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 */ |
279 | static struct snd_soc_card snd_soc_poodle = { | 279 | static 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 */ |
292 | static struct snd_soc_device poodle_snd_devdata = { | 293 | static 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 */ |
322 | static struct snd_soc_card snd_soc_spitz = { | 322 | static 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 */ |
335 | static struct snd_soc_device spitz_snd_devdata = { | 336 | static 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 | ||
253 | static struct snd_soc_card tosa = { | 253 | static 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 | ||
261 | static struct snd_soc_device tosa_snd_devdata = { | 262 | static 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 | ||
176 | static struct snd_soc_card zylonite = { | 176 | static 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 | ||
182 | static struct snd_soc_device zylonite_snd_ac97_devdata = { | 183 | static 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 | ||
41 | static struct snd_soc_card ln2440sbc = { | 41 | static 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 | ||
47 | static struct snd_soc_device ln2440sbc_snd_ac97_devdata = { | 48 | static 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 | ||
581 | static struct snd_soc_card neo1973 = { | 581 | static 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 | ||
592 | static struct snd_soc_device neo1973_snd_devdata = { | 593 | static 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 | ||
235 | static struct snd_soc_card snd_soc_s3c24xx_uda134x = { | 235 | static 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 | ||
272 | static struct snd_soc_device s3c24xx_uda134x_snd_devdata = { | 273 | static 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 | ||
37 | static struct snd_soc_card smdk2443 = { | 37 | static 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 | ||
43 | static struct snd_soc_device smdk2443_snd_ac97_devdata = { | 44 | static 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 | ||
41 | static struct snd_soc_card sh7760_ac97_soc_machine = { | 41 | static 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 | ||
47 | static struct snd_soc_device sh7760_ac97_snd_devdata = { | 48 | static 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; |