diff options
Diffstat (limited to 'sound/soc')
-rw-r--r-- | sound/soc/pxa/Kconfig | 7 | ||||
-rw-r--r-- | sound/soc/pxa/corgi.c | 36 | ||||
-rw-r--r-- | sound/soc/pxa/palm27x.c | 2 | ||||
-rw-r--r-- | sound/soc/pxa/poodle.c | 36 | ||||
-rw-r--r-- | sound/soc/s3c24xx/s3c2412-i2s.c | 1 | ||||
-rw-r--r-- | sound/soc/s3c24xx/s3c2443-ac97.c | 1 | ||||
-rw-r--r-- | sound/soc/s3c24xx/s3c24xx-i2s.c | 2 | ||||
-rw-r--r-- | sound/soc/s3c24xx/s3c24xx-pcm.c | 21 |
8 files changed, 16 insertions, 90 deletions
diff --git a/sound/soc/pxa/Kconfig b/sound/soc/pxa/Kconfig index dcd163a4ee9a..6375b4ea525d 100644 --- a/sound/soc/pxa/Kconfig +++ b/sound/soc/pxa/Kconfig | |||
@@ -98,13 +98,14 @@ config SND_PXA2XX_SOC_EM_X270 | |||
98 | CompuLab EM-x270, eXeda and CM-X300 machines. | 98 | CompuLab EM-x270, eXeda and CM-X300 machines. |
99 | 99 | ||
100 | config SND_PXA2XX_SOC_PALM27X | 100 | config SND_PXA2XX_SOC_PALM27X |
101 | bool "SoC Audio support for Palm T|X, T5 and LifeDrive" | 101 | bool "SoC Audio support for Palm T|X, T5, E2 and LifeDrive" |
102 | depends on SND_PXA2XX_SOC && (MACH_PALMLD || MACH_PALMTX || MACH_PALMT5) | 102 | depends on SND_PXA2XX_SOC && (MACH_PALMLD || MACH_PALMTX || \ |
103 | MACH_PALMT5 || MACH_PALMTE2) | ||
103 | select SND_PXA2XX_SOC_AC97 | 104 | select SND_PXA2XX_SOC_AC97 |
104 | select SND_SOC_WM9712 | 105 | select SND_SOC_WM9712 |
105 | help | 106 | help |
106 | Say Y if you want to add support for SoC audio on | 107 | Say Y if you want to add support for SoC audio on |
107 | Palm T|X, T5 or LifeDrive handheld computer. | 108 | Palm T|X, T5, E2 or LifeDrive handheld computer. |
108 | 109 | ||
109 | config SND_SOC_ZYLONITE | 110 | config SND_SOC_ZYLONITE |
110 | tristate "SoC Audio support for Marvell Zylonite" | 111 | tristate "SoC Audio support for Marvell Zylonite" |
diff --git a/sound/soc/pxa/corgi.c b/sound/soc/pxa/corgi.c index d5be2b30cda5..fefe1a57f31a 100644 --- a/sound/soc/pxa/corgi.c +++ b/sound/soc/pxa/corgi.c | |||
@@ -320,38 +320,6 @@ static struct snd_soc_device corgi_snd_devdata = { | |||
320 | .codec_dev = &soc_codec_dev_wm8731, | 320 | .codec_dev = &soc_codec_dev_wm8731, |
321 | }; | 321 | }; |
322 | 322 | ||
323 | /* | ||
324 | * FIXME: This is a temporary bodge to avoid cross-tree merge issues. | ||
325 | * New drivers should register the wm8731 I2C device in the machine | ||
326 | * setup code (under arch/arm for ARM systems). | ||
327 | */ | ||
328 | static int wm8731_i2c_register(void) | ||
329 | { | ||
330 | struct i2c_board_info info; | ||
331 | struct i2c_adapter *adapter; | ||
332 | struct i2c_client *client; | ||
333 | |||
334 | memset(&info, 0, sizeof(struct i2c_board_info)); | ||
335 | info.addr = 0x1b; | ||
336 | strlcpy(info.type, "wm8731", I2C_NAME_SIZE); | ||
337 | |||
338 | adapter = i2c_get_adapter(0); | ||
339 | if (!adapter) { | ||
340 | printk(KERN_ERR "can't get i2c adapter 0\n"); | ||
341 | return -ENODEV; | ||
342 | } | ||
343 | |||
344 | client = i2c_new_device(adapter, &info); | ||
345 | i2c_put_adapter(adapter); | ||
346 | if (!client) { | ||
347 | printk(KERN_ERR "can't add i2c device at 0x%x\n", | ||
348 | (unsigned int)info.addr); | ||
349 | return -ENODEV; | ||
350 | } | ||
351 | |||
352 | return 0; | ||
353 | } | ||
354 | |||
355 | static struct platform_device *corgi_snd_device; | 323 | static struct platform_device *corgi_snd_device; |
356 | 324 | ||
357 | static int __init corgi_init(void) | 325 | static int __init corgi_init(void) |
@@ -362,10 +330,6 @@ static int __init corgi_init(void) | |||
362 | machine_is_husky())) | 330 | machine_is_husky())) |
363 | return -ENODEV; | 331 | return -ENODEV; |
364 | 332 | ||
365 | ret = wm8731_i2c_register(); | ||
366 | if (ret != 0) | ||
367 | return ret; | ||
368 | |||
369 | corgi_snd_device = platform_device_alloc("soc-audio", -1); | 333 | corgi_snd_device = platform_device_alloc("soc-audio", -1); |
370 | if (!corgi_snd_device) | 334 | if (!corgi_snd_device) |
371 | return -ENOMEM; | 335 | return -ENOMEM; |
diff --git a/sound/soc/pxa/palm27x.c b/sound/soc/pxa/palm27x.c index 44fcc4e01e08..e6102fda0a7f 100644 --- a/sound/soc/pxa/palm27x.c +++ b/sound/soc/pxa/palm27x.c | |||
@@ -205,7 +205,7 @@ static int palm27x_asoc_probe(struct platform_device *pdev) | |||
205 | int ret; | 205 | int ret; |
206 | 206 | ||
207 | if (!(machine_is_palmtx() || machine_is_palmt5() || | 207 | if (!(machine_is_palmtx() || machine_is_palmt5() || |
208 | machine_is_palmld())) | 208 | machine_is_palmld() || machine_is_palmte2())) |
209 | return -ENODEV; | 209 | return -ENODEV; |
210 | 210 | ||
211 | if (pdev->dev.platform_data) | 211 | if (pdev->dev.platform_data) |
diff --git a/sound/soc/pxa/poodle.c b/sound/soc/pxa/poodle.c index a51058f66747..c5f36e0eab58 100644 --- a/sound/soc/pxa/poodle.c +++ b/sound/soc/pxa/poodle.c | |||
@@ -280,38 +280,6 @@ static struct snd_soc_card snd_soc_poodle = { | |||
280 | .num_links = 1, | 280 | .num_links = 1, |
281 | }; | 281 | }; |
282 | 282 | ||
283 | /* | ||
284 | * FIXME: This is a temporary bodge to avoid cross-tree merge issues. | ||
285 | * New drivers should register the wm8731 I2C device in the machine | ||
286 | * setup code (under arch/arm for ARM systems). | ||
287 | */ | ||
288 | static int wm8731_i2c_register(void) | ||
289 | { | ||
290 | struct i2c_board_info info; | ||
291 | struct i2c_adapter *adapter; | ||
292 | struct i2c_client *client; | ||
293 | |||
294 | memset(&info, 0, sizeof(struct i2c_board_info)); | ||
295 | info.addr = 0x1b; | ||
296 | strlcpy(info.type, "wm8731", I2C_NAME_SIZE); | ||
297 | |||
298 | adapter = i2c_get_adapter(0); | ||
299 | if (!adapter) { | ||
300 | printk(KERN_ERR "can't get i2c adapter 0\n"); | ||
301 | return -ENODEV; | ||
302 | } | ||
303 | |||
304 | client = i2c_new_device(adapter, &info); | ||
305 | i2c_put_adapter(adapter); | ||
306 | if (!client) { | ||
307 | printk(KERN_ERR "can't add i2c device at 0x%x\n", | ||
308 | (unsigned int)info.addr); | ||
309 | return -ENODEV; | ||
310 | } | ||
311 | |||
312 | return 0; | ||
313 | } | ||
314 | |||
315 | /* poodle audio subsystem */ | 283 | /* poodle audio subsystem */ |
316 | static struct snd_soc_device poodle_snd_devdata = { | 284 | static struct snd_soc_device poodle_snd_devdata = { |
317 | .card = &snd_soc_poodle, | 285 | .card = &snd_soc_poodle, |
@@ -327,10 +295,6 @@ static int __init poodle_init(void) | |||
327 | if (!machine_is_poodle()) | 295 | if (!machine_is_poodle()) |
328 | return -ENODEV; | 296 | return -ENODEV; |
329 | 297 | ||
330 | ret = wm8731_i2c_register(); | ||
331 | if (ret != 0) | ||
332 | return ret; | ||
333 | |||
334 | locomo_gpio_set_dir(&poodle_locomo_device.dev, | 298 | locomo_gpio_set_dir(&poodle_locomo_device.dev, |
335 | POODLE_LOCOMO_GPIO_AMP_ON, 0); | 299 | POODLE_LOCOMO_GPIO_AMP_ON, 0); |
336 | /* should we mute HP at startup - burning power ?*/ | 300 | /* should we mute HP at startup - burning power ?*/ |
diff --git a/sound/soc/s3c24xx/s3c2412-i2s.c b/sound/soc/s3c24xx/s3c2412-i2s.c index 168a088ba761..a587ec40b449 100644 --- a/sound/soc/s3c24xx/s3c2412-i2s.c +++ b/sound/soc/s3c24xx/s3c2412-i2s.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <linux/module.h> | 20 | #include <linux/module.h> |
21 | #include <linux/device.h> | 21 | #include <linux/device.h> |
22 | #include <linux/delay.h> | 22 | #include <linux/delay.h> |
23 | #include <linux/gpio.h> | ||
23 | #include <linux/clk.h> | 24 | #include <linux/clk.h> |
24 | #include <linux/kernel.h> | 25 | #include <linux/kernel.h> |
25 | #include <linux/io.h> | 26 | #include <linux/io.h> |
diff --git a/sound/soc/s3c24xx/s3c2443-ac97.c b/sound/soc/s3c24xx/s3c2443-ac97.c index 3698f707c44d..3f03d5ddfacd 100644 --- a/sound/soc/s3c24xx/s3c2443-ac97.c +++ b/sound/soc/s3c24xx/s3c2443-ac97.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <linux/io.h> | 19 | #include <linux/io.h> |
20 | #include <linux/wait.h> | 20 | #include <linux/wait.h> |
21 | #include <linux/delay.h> | 21 | #include <linux/delay.h> |
22 | #include <linux/gpio.h> | ||
22 | #include <linux/clk.h> | 23 | #include <linux/clk.h> |
23 | 24 | ||
24 | #include <sound/core.h> | 25 | #include <sound/core.h> |
diff --git a/sound/soc/s3c24xx/s3c24xx-i2s.c b/sound/soc/s3c24xx/s3c24xx-i2s.c index cc066964dad6..556e35f0ab73 100644 --- a/sound/soc/s3c24xx/s3c24xx-i2s.c +++ b/sound/soc/s3c24xx/s3c24xx-i2s.c | |||
@@ -21,6 +21,8 @@ | |||
21 | #include <linux/clk.h> | 21 | #include <linux/clk.h> |
22 | #include <linux/jiffies.h> | 22 | #include <linux/jiffies.h> |
23 | #include <linux/io.h> | 23 | #include <linux/io.h> |
24 | #include <linux/gpio.h> | ||
25 | |||
24 | #include <sound/core.h> | 26 | #include <sound/core.h> |
25 | #include <sound/pcm.h> | 27 | #include <sound/pcm.h> |
26 | #include <sound/pcm_params.h> | 28 | #include <sound/pcm_params.h> |
diff --git a/sound/soc/s3c24xx/s3c24xx-pcm.c b/sound/soc/s3c24xx/s3c24xx-pcm.c index 169ddad31575..eecfa5eba06b 100644 --- a/sound/soc/s3c24xx/s3c24xx-pcm.c +++ b/sound/soc/s3c24xx/s3c24xx-pcm.c | |||
@@ -218,24 +218,17 @@ static int s3c24xx_pcm_prepare(struct snd_pcm_substream *substream) | |||
218 | * sync to pclk, half-word transfers to the IIS-FIFO. */ | 218 | * sync to pclk, half-word transfers to the IIS-FIFO. */ |
219 | if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) { | 219 | if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) { |
220 | s3c2410_dma_devconfig(prtd->params->channel, | 220 | s3c2410_dma_devconfig(prtd->params->channel, |
221 | S3C2410_DMASRC_MEM, S3C2410_DISRCC_INC | | 221 | S3C2410_DMASRC_MEM, |
222 | S3C2410_DISRCC_APB, prtd->params->dma_addr); | 222 | prtd->params->dma_addr); |
223 | |||
224 | s3c2410_dma_config(prtd->params->channel, | ||
225 | prtd->params->dma_size, | ||
226 | S3C2410_DCON_SYNC_PCLK | | ||
227 | S3C2410_DCON_HANDSHAKE); | ||
228 | } else { | 223 | } else { |
229 | s3c2410_dma_config(prtd->params->channel, | ||
230 | prtd->params->dma_size, | ||
231 | S3C2410_DCON_HANDSHAKE | | ||
232 | S3C2410_DCON_SYNC_PCLK); | ||
233 | |||
234 | s3c2410_dma_devconfig(prtd->params->channel, | 224 | s3c2410_dma_devconfig(prtd->params->channel, |
235 | S3C2410_DMASRC_HW, 0x3, | 225 | S3C2410_DMASRC_HW, |
236 | prtd->params->dma_addr); | 226 | prtd->params->dma_addr); |
237 | } | 227 | } |
238 | 228 | ||
229 | s3c2410_dma_config(prtd->params->channel, | ||
230 | prtd->params->dma_size); | ||
231 | |||
239 | /* flush the DMA channel */ | 232 | /* flush the DMA channel */ |
240 | s3c2410_dma_ctrl(prtd->params->channel, S3C2410_DMAOP_FLUSH); | 233 | s3c2410_dma_ctrl(prtd->params->channel, S3C2410_DMAOP_FLUSH); |
241 | prtd->dma_loaded = 0; | 234 | prtd->dma_loaded = 0; |