diff options
Diffstat (limited to 'sound/soc/pxa/pxa2xx-ac97.c')
-rw-r--r-- | sound/soc/pxa/pxa2xx-ac97.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/sound/soc/pxa/pxa2xx-ac97.c b/sound/soc/pxa/pxa2xx-ac97.c index d9c94d71fa61..7330e5c5b9df 100644 --- a/sound/soc/pxa/pxa2xx-ac97.c +++ b/sound/soc/pxa/pxa2xx-ac97.c | |||
@@ -22,6 +22,7 @@ | |||
22 | #include <mach/hardware.h> | 22 | #include <mach/hardware.h> |
23 | #include <mach/regs-ac97.h> | 23 | #include <mach/regs-ac97.h> |
24 | #include <mach/dma.h> | 24 | #include <mach/dma.h> |
25 | #include <mach/audio.h> | ||
25 | 26 | ||
26 | #include "pxa2xx-pcm.h" | 27 | #include "pxa2xx-pcm.h" |
27 | #include "pxa2xx-ac97.h" | 28 | #include "pxa2xx-ac97.h" |
@@ -241,9 +242,18 @@ EXPORT_SYMBOL_GPL(soc_ac97_ops); | |||
241 | static int __devinit pxa2xx_ac97_dev_probe(struct platform_device *pdev) | 242 | static int __devinit pxa2xx_ac97_dev_probe(struct platform_device *pdev) |
242 | { | 243 | { |
243 | int i; | 244 | int i; |
245 | pxa2xx_audio_ops_t *pdata = pdev->dev.platform_data; | ||
244 | 246 | ||
245 | for (i = 0; i < ARRAY_SIZE(pxa_ac97_dai); i++) | 247 | if (pdev->id >= 0) { |
248 | dev_err(&pdev->dev, "PXA2xx has only one AC97 port.\n"); | ||
249 | return -ENXIO; | ||
250 | } | ||
251 | |||
252 | for (i = 0; i < ARRAY_SIZE(pxa_ac97_dai); i++) { | ||
246 | pxa_ac97_dai[i].dev = &pdev->dev; | 253 | pxa_ac97_dai[i].dev = &pdev->dev; |
254 | if (pdata && pdata->codec_pdata) | ||
255 | pxa_ac97_dai[i].ac97_pdata = pdata->codec_pdata; | ||
256 | } | ||
247 | 257 | ||
248 | /* Punt most of the init to the SoC probe; we may need the machine | 258 | /* Punt most of the init to the SoC probe; we may need the machine |
249 | * driver to do interesting things with the clocking to get us up | 259 | * driver to do interesting things with the clocking to get us up |