diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-11-02 09:41:56 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-11-02 09:41:56 -0400 |
commit | 29c798fecb9b846b363b0a02fa662ff42fc19426 (patch) | |
tree | e708d6aca8f098e69571780f702325b221b66694 /sound | |
parent | cb9906229595941d632fc4022b05da4f9533856a (diff) | |
parent | c8ddb2713c624f432fa5fe3c7ecffcdda46ea0d4 (diff) |
Merge commit 'v2.6.37-rc1' into for-2.6.37
Diffstat (limited to 'sound')
-rw-r--r-- | sound/core/init.c | 11 | ||||
-rw-r--r-- | sound/core/seq/oss/seq_oss.c | 1 | ||||
-rw-r--r-- | sound/core/sound.c | 3 | ||||
-rw-r--r-- | sound/oss/ac97_codec.c | 7 | ||||
-rw-r--r-- | sound/oss/msnd_pinnacle.c | 1 | ||||
-rw-r--r-- | sound/pci/ens1370.c | 2 | ||||
-rw-r--r-- | sound/pci/intel8x0.c | 2 | ||||
-rw-r--r-- | sound/pcmcia/pdaudiocf/pdaudiocf.c | 16 | ||||
-rw-r--r-- | sound/pcmcia/pdaudiocf/pdaudiocf.h | 1 | ||||
-rw-r--r-- | sound/pcmcia/vx/vxpocket.c | 15 | ||||
-rw-r--r-- | sound/pcmcia/vx/vxpocket.h | 1 | ||||
-rw-r--r-- | sound/sh/aica.c | 2 | ||||
-rw-r--r-- | sound/soc/omap/omap-mcbsp.c | 119 | ||||
-rw-r--r-- | sound/soc/omap/omap-mcpdm.c | 1 | ||||
-rw-r--r-- | sound/soc/sh/sh7760-ac97.c | 4 | ||||
-rw-r--r-- | sound/soc/sh/siu_pcm.c | 2 | ||||
-rw-r--r-- | sound/soc/soc-core.c | 1 | ||||
-rw-r--r-- | sound/soc/soc-dapm.c | 1 | ||||
-rw-r--r-- | sound/sound_core.c | 1 |
19 files changed, 61 insertions, 130 deletions
diff --git a/sound/core/init.c b/sound/core/init.c index 2de45fbd70fb..57b792e2439a 100644 --- a/sound/core/init.c +++ b/sound/core/init.c | |||
@@ -395,12 +395,10 @@ int snd_card_disconnect(struct snd_card *card) | |||
395 | snd_printk(KERN_ERR "not all devices for card %i can be disconnected\n", card->number); | 395 | snd_printk(KERN_ERR "not all devices for card %i can be disconnected\n", card->number); |
396 | 396 | ||
397 | snd_info_card_disconnect(card); | 397 | snd_info_card_disconnect(card); |
398 | #ifndef CONFIG_SYSFS_DEPRECATED | ||
399 | if (card->card_dev) { | 398 | if (card->card_dev) { |
400 | device_unregister(card->card_dev); | 399 | device_unregister(card->card_dev); |
401 | card->card_dev = NULL; | 400 | card->card_dev = NULL; |
402 | } | 401 | } |
403 | #endif | ||
404 | #ifdef CONFIG_PM | 402 | #ifdef CONFIG_PM |
405 | wake_up(&card->power_sleep); | 403 | wake_up(&card->power_sleep); |
406 | #endif | 404 | #endif |
@@ -573,7 +571,6 @@ void snd_card_set_id(struct snd_card *card, const char *nid) | |||
573 | } | 571 | } |
574 | EXPORT_SYMBOL(snd_card_set_id); | 572 | EXPORT_SYMBOL(snd_card_set_id); |
575 | 573 | ||
576 | #ifndef CONFIG_SYSFS_DEPRECATED | ||
577 | static ssize_t | 574 | static ssize_t |
578 | card_id_show_attr(struct device *dev, | 575 | card_id_show_attr(struct device *dev, |
579 | struct device_attribute *attr, char *buf) | 576 | struct device_attribute *attr, char *buf) |
@@ -635,7 +632,6 @@ card_number_show_attr(struct device *dev, | |||
635 | 632 | ||
636 | static struct device_attribute card_number_attrs = | 633 | static struct device_attribute card_number_attrs = |
637 | __ATTR(number, S_IRUGO, card_number_show_attr, NULL); | 634 | __ATTR(number, S_IRUGO, card_number_show_attr, NULL); |
638 | #endif /* CONFIG_SYSFS_DEPRECATED */ | ||
639 | 635 | ||
640 | /** | 636 | /** |
641 | * snd_card_register - register the soundcard | 637 | * snd_card_register - register the soundcard |
@@ -654,7 +650,7 @@ int snd_card_register(struct snd_card *card) | |||
654 | 650 | ||
655 | if (snd_BUG_ON(!card)) | 651 | if (snd_BUG_ON(!card)) |
656 | return -EINVAL; | 652 | return -EINVAL; |
657 | #ifndef CONFIG_SYSFS_DEPRECATED | 653 | |
658 | if (!card->card_dev) { | 654 | if (!card->card_dev) { |
659 | card->card_dev = device_create(sound_class, card->dev, | 655 | card->card_dev = device_create(sound_class, card->dev, |
660 | MKDEV(0, 0), card, | 656 | MKDEV(0, 0), card, |
@@ -662,7 +658,7 @@ int snd_card_register(struct snd_card *card) | |||
662 | if (IS_ERR(card->card_dev)) | 658 | if (IS_ERR(card->card_dev)) |
663 | card->card_dev = NULL; | 659 | card->card_dev = NULL; |
664 | } | 660 | } |
665 | #endif | 661 | |
666 | if ((err = snd_device_register_all(card)) < 0) | 662 | if ((err = snd_device_register_all(card)) < 0) |
667 | return err; | 663 | return err; |
668 | mutex_lock(&snd_card_mutex); | 664 | mutex_lock(&snd_card_mutex); |
@@ -679,7 +675,6 @@ int snd_card_register(struct snd_card *card) | |||
679 | if (snd_mixer_oss_notify_callback) | 675 | if (snd_mixer_oss_notify_callback) |
680 | snd_mixer_oss_notify_callback(card, SND_MIXER_OSS_NOTIFY_REGISTER); | 676 | snd_mixer_oss_notify_callback(card, SND_MIXER_OSS_NOTIFY_REGISTER); |
681 | #endif | 677 | #endif |
682 | #ifndef CONFIG_SYSFS_DEPRECATED | ||
683 | if (card->card_dev) { | 678 | if (card->card_dev) { |
684 | err = device_create_file(card->card_dev, &card_id_attrs); | 679 | err = device_create_file(card->card_dev, &card_id_attrs); |
685 | if (err < 0) | 680 | if (err < 0) |
@@ -688,7 +683,7 @@ int snd_card_register(struct snd_card *card) | |||
688 | if (err < 0) | 683 | if (err < 0) |
689 | return err; | 684 | return err; |
690 | } | 685 | } |
691 | #endif | 686 | |
692 | return 0; | 687 | return 0; |
693 | } | 688 | } |
694 | 689 | ||
diff --git a/sound/core/seq/oss/seq_oss.c b/sound/core/seq/oss/seq_oss.c index f25e3cc7ddfa..a1f1a2f00ccb 100644 --- a/sound/core/seq/oss/seq_oss.c +++ b/sound/core/seq/oss/seq_oss.c | |||
@@ -220,6 +220,7 @@ static const struct file_operations seq_oss_f_ops = | |||
220 | .poll = odev_poll, | 220 | .poll = odev_poll, |
221 | .unlocked_ioctl = odev_ioctl, | 221 | .unlocked_ioctl = odev_ioctl, |
222 | .compat_ioctl = odev_ioctl_compat, | 222 | .compat_ioctl = odev_ioctl_compat, |
223 | .llseek = noop_llseek, | ||
223 | }; | 224 | }; |
224 | 225 | ||
225 | static int __init | 226 | static int __init |
diff --git a/sound/core/sound.c b/sound/core/sound.c index ac42af42b787..62a093efb453 100644 --- a/sound/core/sound.c +++ b/sound/core/sound.c | |||
@@ -184,7 +184,8 @@ static int snd_open(struct inode *inode, struct file *file) | |||
184 | static const struct file_operations snd_fops = | 184 | static const struct file_operations snd_fops = |
185 | { | 185 | { |
186 | .owner = THIS_MODULE, | 186 | .owner = THIS_MODULE, |
187 | .open = snd_open | 187 | .open = snd_open, |
188 | .llseek = noop_llseek, | ||
188 | }; | 189 | }; |
189 | 190 | ||
190 | #ifdef CONFIG_SND_DYNAMIC_MINORS | 191 | #ifdef CONFIG_SND_DYNAMIC_MINORS |
diff --git a/sound/oss/ac97_codec.c b/sound/oss/ac97_codec.c index 456a1b4d7832..854c303264dc 100644 --- a/sound/oss/ac97_codec.c +++ b/sound/oss/ac97_codec.c | |||
@@ -21,11 +21,8 @@ | |||
21 | * | 21 | * |
22 | ************************************************************************** | 22 | ************************************************************************** |
23 | * | 23 | * |
24 | * The Intel Audio Codec '97 specification is available at the Intel | 24 | * The Intel Audio Codec '97 specification is available at: |
25 | * audio homepage: http://developer.intel.com/ial/scalableplatforms/audio/ | 25 | * http://download.intel.com/support/motherboards/desktop/sb/ac97_r23.pdf |
26 | * | ||
27 | * The specification itself is currently available at: | ||
28 | * ftp://download.intel.com/ial/scalableplatforms/ac97r22.pdf | ||
29 | * | 26 | * |
30 | ************************************************************************** | 27 | ************************************************************************** |
31 | * | 28 | * |
diff --git a/sound/oss/msnd_pinnacle.c b/sound/oss/msnd_pinnacle.c index b4c1eb504c22..7b5c77b32a90 100644 --- a/sound/oss/msnd_pinnacle.c +++ b/sound/oss/msnd_pinnacle.c | |||
@@ -1118,6 +1118,7 @@ static const struct file_operations dev_fileops = { | |||
1118 | .unlocked_ioctl = dev_ioctl, | 1118 | .unlocked_ioctl = dev_ioctl, |
1119 | .open = dev_open, | 1119 | .open = dev_open, |
1120 | .release = dev_release, | 1120 | .release = dev_release, |
1121 | .llseek = noop_llseek, | ||
1121 | }; | 1122 | }; |
1122 | 1123 | ||
1123 | static int reset_dsp(void) | 1124 | static int reset_dsp(void) |
diff --git a/sound/pci/ens1370.c b/sound/pci/ens1370.c index c7fba5379813..537cfba829a5 100644 --- a/sound/pci/ens1370.c +++ b/sound/pci/ens1370.c | |||
@@ -22,7 +22,7 @@ | |||
22 | /* Power-Management-Code ( CONFIG_PM ) | 22 | /* Power-Management-Code ( CONFIG_PM ) |
23 | * for ens1371 only ( FIXME ) | 23 | * for ens1371 only ( FIXME ) |
24 | * derived from cs4281.c, atiixp.c and via82xx.c | 24 | * derived from cs4281.c, atiixp.c and via82xx.c |
25 | * using http://www.alsa-project.org/~iwai/writing-an-alsa-driver/c1540.htm | 25 | * using http://www.alsa-project.org/~tiwai/writing-an-alsa-driver/ |
26 | * by Kurt J. Bosch | 26 | * by Kurt J. Bosch |
27 | */ | 27 | */ |
28 | 28 | ||
diff --git a/sound/pci/intel8x0.c b/sound/pci/intel8x0.c index 467749249576..400f9ebd243e 100644 --- a/sound/pci/intel8x0.c +++ b/sound/pci/intel8x0.c | |||
@@ -716,7 +716,7 @@ static void snd_intel8x0_setup_periods(struct intel8x0 *chip, struct ichdev *ich | |||
716 | * Intel 82443MX running a 100MHz processor system bus has a hardware bug, | 716 | * Intel 82443MX running a 100MHz processor system bus has a hardware bug, |
717 | * which aborts PCI busmaster for audio transfer. A workaround is to set | 717 | * which aborts PCI busmaster for audio transfer. A workaround is to set |
718 | * the pages as non-cached. For details, see the errata in | 718 | * the pages as non-cached. For details, see the errata in |
719 | * http://www.intel.com/design/chipsets/specupdt/245051.htm | 719 | * http://download.intel.com/design/chipsets/specupdt/24505108.pdf |
720 | */ | 720 | */ |
721 | static void fill_nocache(void *buf, int size, int nocache) | 721 | static void fill_nocache(void *buf, int size, int nocache) |
722 | { | 722 | { |
diff --git a/sound/pcmcia/pdaudiocf/pdaudiocf.c b/sound/pcmcia/pdaudiocf/pdaudiocf.c index 7ab9174a8a84..8cc4733698a0 100644 --- a/sound/pcmcia/pdaudiocf/pdaudiocf.c +++ b/sound/pcmcia/pdaudiocf/pdaudiocf.c | |||
@@ -142,10 +142,9 @@ static int snd_pdacf_probe(struct pcmcia_device *link) | |||
142 | link->resource[0]->flags |= IO_DATA_PATH_WIDTH_AUTO; | 142 | link->resource[0]->flags |= IO_DATA_PATH_WIDTH_AUTO; |
143 | link->resource[0]->end = 16; | 143 | link->resource[0]->end = 16; |
144 | 144 | ||
145 | link->conf.Attributes = CONF_ENABLE_IRQ | CONF_ENABLE_PULSE_IRQ; | 145 | link->config_flags = CONF_ENABLE_IRQ | CONF_ENABLE_PULSE_IRQ; |
146 | link->conf.IntType = INT_MEMORY_AND_IO; | 146 | link->config_index = 1; |
147 | link->conf.ConfigIndex = 1; | 147 | link->config_regs = PRESENT_OPTION; |
148 | link->conf.Present = PRESENT_OPTION; | ||
149 | 148 | ||
150 | return pdacf_config(link); | 149 | return pdacf_config(link); |
151 | } | 150 | } |
@@ -217,7 +216,8 @@ static int pdacf_config(struct pcmcia_device *link) | |||
217 | int ret; | 216 | int ret; |
218 | 217 | ||
219 | snd_printdd(KERN_DEBUG "pdacf_config called\n"); | 218 | snd_printdd(KERN_DEBUG "pdacf_config called\n"); |
220 | link->conf.ConfigIndex = 0x5; | 219 | link->config_index = 0x5; |
220 | link->config_flags |= CONF_ENABLE_IRQ | CONF_ENABLE_PULSE_IRQ; | ||
221 | 221 | ||
222 | ret = pcmcia_request_io(link); | 222 | ret = pcmcia_request_io(link); |
223 | if (ret) | 223 | if (ret) |
@@ -227,7 +227,7 @@ static int pdacf_config(struct pcmcia_device *link) | |||
227 | if (ret) | 227 | if (ret) |
228 | goto failed; | 228 | goto failed; |
229 | 229 | ||
230 | ret = pcmcia_request_configuration(link, &link->conf); | 230 | ret = pcmcia_enable_device(link); |
231 | if (ret) | 231 | if (ret) |
232 | goto failed; | 232 | goto failed; |
233 | 233 | ||
@@ -287,9 +287,7 @@ MODULE_DEVICE_TABLE(pcmcia, snd_pdacf_ids); | |||
287 | 287 | ||
288 | static struct pcmcia_driver pdacf_cs_driver = { | 288 | static struct pcmcia_driver pdacf_cs_driver = { |
289 | .owner = THIS_MODULE, | 289 | .owner = THIS_MODULE, |
290 | .drv = { | 290 | .name = "snd-pdaudiocf", |
291 | .name = "snd-pdaudiocf", | ||
292 | }, | ||
293 | .probe = snd_pdacf_probe, | 291 | .probe = snd_pdacf_probe, |
294 | .remove = snd_pdacf_detach, | 292 | .remove = snd_pdacf_detach, |
295 | .id_table = snd_pdacf_ids, | 293 | .id_table = snd_pdacf_ids, |
diff --git a/sound/pcmcia/pdaudiocf/pdaudiocf.h b/sound/pcmcia/pdaudiocf/pdaudiocf.h index 5cc3e4573074..bd26e092aead 100644 --- a/sound/pcmcia/pdaudiocf/pdaudiocf.h +++ b/sound/pcmcia/pdaudiocf/pdaudiocf.h | |||
@@ -24,7 +24,6 @@ | |||
24 | #include <sound/pcm.h> | 24 | #include <sound/pcm.h> |
25 | #include <asm/io.h> | 25 | #include <asm/io.h> |
26 | #include <linux/interrupt.h> | 26 | #include <linux/interrupt.h> |
27 | #include <pcmcia/cs.h> | ||
28 | #include <pcmcia/cistpl.h> | 27 | #include <pcmcia/cistpl.h> |
29 | #include <pcmcia/ds.h> | 28 | #include <pcmcia/ds.h> |
30 | 29 | ||
diff --git a/sound/pcmcia/vx/vxpocket.c b/sound/pcmcia/vx/vxpocket.c index a6edfc3be29a..80000d631f88 100644 --- a/sound/pcmcia/vx/vxpocket.c +++ b/sound/pcmcia/vx/vxpocket.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * Driver for Digigram VXpocket V2/440 soundcards | 2 | * Driver for Digigram VXpocket V2/440 soundcards |
3 | * | 3 | * |
4 | * Copyright (c) 2002 by Takashi Iwai <tiwai@suse.de> | 4 | * Copyright (c) 2002 by Takashi Iwai <tiwai@suse.de> |
5 | * | 5 | |
6 | * This program is free software; you can redistribute it and/or modify | 6 | * This program is free software; you can redistribute it and/or modify |
7 | * it under the terms of the GNU General Public License as published by | 7 | * it under the terms of the GNU General Public License as published by |
8 | * the Free Software Foundation; either version 2 of the License, or | 8 | * the Free Software Foundation; either version 2 of the License, or |
@@ -162,10 +162,9 @@ static int snd_vxpocket_new(struct snd_card *card, int ibl, | |||
162 | link->resource[0]->flags |= IO_DATA_PATH_WIDTH_AUTO; | 162 | link->resource[0]->flags |= IO_DATA_PATH_WIDTH_AUTO; |
163 | link->resource[0]->end = 16; | 163 | link->resource[0]->end = 16; |
164 | 164 | ||
165 | link->conf.Attributes = CONF_ENABLE_IRQ; | 165 | link->config_flags |= CONF_ENABLE_IRQ; |
166 | link->conf.IntType = INT_MEMORY_AND_IO; | 166 | link->config_index = 1; |
167 | link->conf.ConfigIndex = 1; | 167 | link->config_regs = PRESENT_OPTION; |
168 | link->conf.Present = PRESENT_OPTION; | ||
169 | 168 | ||
170 | *chip_ret = vxp; | 169 | *chip_ret = vxp; |
171 | return 0; | 170 | return 0; |
@@ -234,7 +233,7 @@ static int vxpocket_config(struct pcmcia_device *link) | |||
234 | if (ret) | 233 | if (ret) |
235 | goto failed; | 234 | goto failed; |
236 | 235 | ||
237 | ret = pcmcia_request_configuration(link, &link->conf); | 236 | ret = pcmcia_enable_device(link); |
238 | if (ret) | 237 | if (ret) |
239 | goto failed; | 238 | goto failed; |
240 | 239 | ||
@@ -359,9 +358,7 @@ MODULE_DEVICE_TABLE(pcmcia, vxp_ids); | |||
359 | 358 | ||
360 | static struct pcmcia_driver vxp_cs_driver = { | 359 | static struct pcmcia_driver vxp_cs_driver = { |
361 | .owner = THIS_MODULE, | 360 | .owner = THIS_MODULE, |
362 | .drv = { | 361 | .name = "snd-vxpocket", |
363 | .name = "snd-vxpocket", | ||
364 | }, | ||
365 | .probe = vxpocket_probe, | 362 | .probe = vxpocket_probe, |
366 | .remove = vxpocket_detach, | 363 | .remove = vxpocket_detach, |
367 | .id_table = vxp_ids, | 364 | .id_table = vxp_ids, |
diff --git a/sound/pcmcia/vx/vxpocket.h b/sound/pcmcia/vx/vxpocket.h index d9110669d042..13d658c1a216 100644 --- a/sound/pcmcia/vx/vxpocket.h +++ b/sound/pcmcia/vx/vxpocket.h | |||
@@ -23,7 +23,6 @@ | |||
23 | 23 | ||
24 | #include <sound/vx_core.h> | 24 | #include <sound/vx_core.h> |
25 | 25 | ||
26 | #include <pcmcia/cs.h> | ||
27 | #include <pcmcia/cistpl.h> | 26 | #include <pcmcia/cistpl.h> |
28 | #include <pcmcia/ds.h> | 27 | #include <pcmcia/ds.h> |
29 | 28 | ||
diff --git a/sound/sh/aica.c b/sound/sh/aica.c index a0df401ebb9f..94c6ea7fa7c2 100644 --- a/sound/sh/aica.c +++ b/sound/sh/aica.c | |||
@@ -188,7 +188,7 @@ static void spu_reset(void) | |||
188 | spu_memset(0, 0, 0x200000 / 4); | 188 | spu_memset(0, 0, 0x200000 / 4); |
189 | /* Put ARM7 in endless loop */ | 189 | /* Put ARM7 in endless loop */ |
190 | local_irq_save(flags); | 190 | local_irq_save(flags); |
191 | ctrl_outl(0xea000002, SPU_MEMORY_BASE); | 191 | __raw_writel(0xea000002, SPU_MEMORY_BASE); |
192 | local_irq_restore(flags); | 192 | local_irq_restore(flags); |
193 | spu_enable(); | 193 | spu_enable(); |
194 | } | 194 | } |
diff --git a/sound/soc/omap/omap-mcbsp.c b/sound/soc/omap/omap-mcbsp.c index 99696187b55a..d211c9fa5a91 100644 --- a/sound/soc/omap/omap-mcbsp.c +++ b/sound/soc/omap/omap-mcbsp.c | |||
@@ -31,7 +31,6 @@ | |||
31 | #include <sound/initval.h> | 31 | #include <sound/initval.h> |
32 | #include <sound/soc.h> | 32 | #include <sound/soc.h> |
33 | 33 | ||
34 | #include <plat/control.h> | ||
35 | #include <plat/dma.h> | 34 | #include <plat/dma.h> |
36 | #include <plat/mcbsp.h> | 35 | #include <plat/mcbsp.h> |
37 | #include "omap-mcbsp.h" | 36 | #include "omap-mcbsp.h" |
@@ -598,93 +597,6 @@ static int omap_mcbsp_dai_set_clkdiv(struct snd_soc_dai *cpu_dai, | |||
598 | return 0; | 597 | return 0; |
599 | } | 598 | } |
600 | 599 | ||
601 | static int omap_mcbsp_dai_set_clks_src(struct omap_mcbsp_data *mcbsp_data, | ||
602 | int clk_id) | ||
603 | { | ||
604 | int sel_bit; | ||
605 | u16 reg, reg_devconf1 = OMAP243X_CONTROL_DEVCONF1; | ||
606 | |||
607 | if (cpu_class_is_omap1()) { | ||
608 | /* OMAP1's can use only external source clock */ | ||
609 | if (unlikely(clk_id == OMAP_MCBSP_SYSCLK_CLKS_FCLK)) | ||
610 | return -EINVAL; | ||
611 | else | ||
612 | return 0; | ||
613 | } | ||
614 | |||
615 | if (cpu_is_omap2420() && mcbsp_data->bus_id > 1) | ||
616 | return -EINVAL; | ||
617 | |||
618 | if (cpu_is_omap343x()) | ||
619 | reg_devconf1 = OMAP343X_CONTROL_DEVCONF1; | ||
620 | |||
621 | switch (mcbsp_data->bus_id) { | ||
622 | case 0: | ||
623 | reg = OMAP2_CONTROL_DEVCONF0; | ||
624 | sel_bit = 2; | ||
625 | break; | ||
626 | case 1: | ||
627 | reg = OMAP2_CONTROL_DEVCONF0; | ||
628 | sel_bit = 6; | ||
629 | break; | ||
630 | case 2: | ||
631 | reg = reg_devconf1; | ||
632 | sel_bit = 0; | ||
633 | break; | ||
634 | case 3: | ||
635 | reg = reg_devconf1; | ||
636 | sel_bit = 2; | ||
637 | break; | ||
638 | case 4: | ||
639 | reg = reg_devconf1; | ||
640 | sel_bit = 4; | ||
641 | break; | ||
642 | default: | ||
643 | return -EINVAL; | ||
644 | } | ||
645 | |||
646 | if (clk_id == OMAP_MCBSP_SYSCLK_CLKS_FCLK) | ||
647 | omap_ctrl_writel(omap_ctrl_readl(reg) & ~(1 << sel_bit), reg); | ||
648 | else | ||
649 | omap_ctrl_writel(omap_ctrl_readl(reg) | (1 << sel_bit), reg); | ||
650 | |||
651 | return 0; | ||
652 | } | ||
653 | |||
654 | static int omap_mcbsp_dai_set_rcvr_src(struct omap_mcbsp_data *mcbsp_data, | ||
655 | int clk_id) | ||
656 | { | ||
657 | int sel_bit, set = 0; | ||
658 | u16 reg = OMAP2_CONTROL_DEVCONF0; | ||
659 | |||
660 | if (cpu_class_is_omap1()) | ||
661 | return -EINVAL; /* TODO: Can this be implemented for OMAP1? */ | ||
662 | if (mcbsp_data->bus_id != 0) | ||
663 | return -EINVAL; | ||
664 | |||
665 | switch (clk_id) { | ||
666 | case OMAP_MCBSP_CLKR_SRC_CLKX: | ||
667 | set = 1; | ||
668 | case OMAP_MCBSP_CLKR_SRC_CLKR: | ||
669 | sel_bit = 3; | ||
670 | break; | ||
671 | case OMAP_MCBSP_FSR_SRC_FSX: | ||
672 | set = 1; | ||
673 | case OMAP_MCBSP_FSR_SRC_FSR: | ||
674 | sel_bit = 4; | ||
675 | break; | ||
676 | default: | ||
677 | return -EINVAL; | ||
678 | } | ||
679 | |||
680 | if (set) | ||
681 | omap_ctrl_writel(omap_ctrl_readl(reg) | (1 << sel_bit), reg); | ||
682 | else | ||
683 | omap_ctrl_writel(omap_ctrl_readl(reg) & ~(1 << sel_bit), reg); | ||
684 | |||
685 | return 0; | ||
686 | } | ||
687 | |||
688 | static int omap_mcbsp_dai_set_dai_sysclk(struct snd_soc_dai *cpu_dai, | 600 | static int omap_mcbsp_dai_set_dai_sysclk(struct snd_soc_dai *cpu_dai, |
689 | int clk_id, unsigned int freq, | 601 | int clk_id, unsigned int freq, |
690 | int dir) | 602 | int dir) |
@@ -693,6 +605,14 @@ static int omap_mcbsp_dai_set_dai_sysclk(struct snd_soc_dai *cpu_dai, | |||
693 | struct omap_mcbsp_reg_cfg *regs = &mcbsp_data->regs; | 605 | struct omap_mcbsp_reg_cfg *regs = &mcbsp_data->regs; |
694 | int err = 0; | 606 | int err = 0; |
695 | 607 | ||
608 | /* The McBSP signal muxing functions are only available on McBSP1 */ | ||
609 | if (clk_id == OMAP_MCBSP_CLKR_SRC_CLKR || | ||
610 | clk_id == OMAP_MCBSP_CLKR_SRC_CLKX || | ||
611 | clk_id == OMAP_MCBSP_FSR_SRC_FSR || | ||
612 | clk_id == OMAP_MCBSP_FSR_SRC_FSX) | ||
613 | if (cpu_class_is_omap1() || mcbsp_data->bus_id != 0) | ||
614 | return -EINVAL; | ||
615 | |||
696 | mcbsp_data->in_freq = freq; | 616 | mcbsp_data->in_freq = freq; |
697 | 617 | ||
698 | switch (clk_id) { | 618 | switch (clk_id) { |
@@ -700,8 +620,20 @@ static int omap_mcbsp_dai_set_dai_sysclk(struct snd_soc_dai *cpu_dai, | |||
700 | regs->srgr2 |= CLKSM; | 620 | regs->srgr2 |= CLKSM; |
701 | break; | 621 | break; |
702 | case OMAP_MCBSP_SYSCLK_CLKS_FCLK: | 622 | case OMAP_MCBSP_SYSCLK_CLKS_FCLK: |
623 | if (cpu_class_is_omap1()) { | ||
624 | err = -EINVAL; | ||
625 | break; | ||
626 | } | ||
627 | err = omap2_mcbsp_set_clks_src(mcbsp_data->bus_id, | ||
628 | MCBSP_CLKS_PRCM_SRC); | ||
629 | break; | ||
703 | case OMAP_MCBSP_SYSCLK_CLKS_EXT: | 630 | case OMAP_MCBSP_SYSCLK_CLKS_EXT: |
704 | err = omap_mcbsp_dai_set_clks_src(mcbsp_data, clk_id); | 631 | if (cpu_class_is_omap1()) { |
632 | err = 0; | ||
633 | break; | ||
634 | } | ||
635 | err = omap2_mcbsp_set_clks_src(mcbsp_data->bus_id, | ||
636 | MCBSP_CLKS_PAD_SRC); | ||
705 | break; | 637 | break; |
706 | 638 | ||
707 | case OMAP_MCBSP_SYSCLK_CLKX_EXT: | 639 | case OMAP_MCBSP_SYSCLK_CLKX_EXT: |
@@ -710,11 +642,18 @@ static int omap_mcbsp_dai_set_dai_sysclk(struct snd_soc_dai *cpu_dai, | |||
710 | regs->pcr0 |= SCLKME; | 642 | regs->pcr0 |= SCLKME; |
711 | break; | 643 | break; |
712 | 644 | ||
645 | |||
713 | case OMAP_MCBSP_CLKR_SRC_CLKR: | 646 | case OMAP_MCBSP_CLKR_SRC_CLKR: |
647 | omap2_mcbsp1_mux_clkr_src(CLKR_SRC_CLKR); | ||
648 | break; | ||
714 | case OMAP_MCBSP_CLKR_SRC_CLKX: | 649 | case OMAP_MCBSP_CLKR_SRC_CLKX: |
650 | omap2_mcbsp1_mux_clkr_src(CLKR_SRC_CLKX); | ||
651 | break; | ||
715 | case OMAP_MCBSP_FSR_SRC_FSR: | 652 | case OMAP_MCBSP_FSR_SRC_FSR: |
653 | omap2_mcbsp1_mux_fsr_src(FSR_SRC_FSR); | ||
654 | break; | ||
716 | case OMAP_MCBSP_FSR_SRC_FSX: | 655 | case OMAP_MCBSP_FSR_SRC_FSX: |
717 | err = omap_mcbsp_dai_set_rcvr_src(mcbsp_data, clk_id); | 656 | omap2_mcbsp1_mux_fsr_src(FSR_SRC_FSX); |
718 | break; | 657 | break; |
719 | default: | 658 | default: |
720 | err = -ENODEV; | 659 | err = -ENODEV; |
diff --git a/sound/soc/omap/omap-mcpdm.c b/sound/soc/omap/omap-mcpdm.c index f161c2f5ed36..bed09c27e44c 100644 --- a/sound/soc/omap/omap-mcpdm.c +++ b/sound/soc/omap/omap-mcpdm.c | |||
@@ -32,7 +32,6 @@ | |||
32 | #include <sound/initval.h> | 32 | #include <sound/initval.h> |
33 | #include <sound/soc.h> | 33 | #include <sound/soc.h> |
34 | 34 | ||
35 | #include <plat/control.h> | ||
36 | #include <plat/dma.h> | 35 | #include <plat/dma.h> |
37 | #include <plat/mcbsp.h> | 36 | #include <plat/mcbsp.h> |
38 | #include "mcpdm.h" | 37 | #include "mcpdm.h" |
diff --git a/sound/soc/sh/sh7760-ac97.c b/sound/soc/sh/sh7760-ac97.c index b897f7b96d89..f8e0ab82ef59 100644 --- a/sound/soc/sh/sh7760-ac97.c +++ b/sound/soc/sh/sh7760-ac97.c | |||
@@ -52,8 +52,8 @@ static int __init sh7760_ac97_init(void) | |||
52 | unsigned short ipsel; | 52 | unsigned short ipsel; |
53 | 53 | ||
54 | /* enable both AC97 controllers in pinmux reg */ | 54 | /* enable both AC97 controllers in pinmux reg */ |
55 | ipsel = ctrl_inw(IPSEL); | 55 | ipsel = __raw_readw(IPSEL); |
56 | ctrl_outw(ipsel | (3 << 10), IPSEL); | 56 | __raw_writew(ipsel | (3 << 10), IPSEL); |
57 | 57 | ||
58 | ret = -ENOMEM; | 58 | ret = -ENOMEM; |
59 | sh7760_ac97_snd_device = platform_device_alloc("soc-audio", -1); | 59 | sh7760_ac97_snd_device = platform_device_alloc("soc-audio", -1); |
diff --git a/sound/soc/sh/siu_pcm.c b/sound/soc/sh/siu_pcm.c index d6c79fa56d12..ed29c9e1ed4e 100644 --- a/sound/soc/sh/siu_pcm.c +++ b/sound/soc/sh/siu_pcm.c | |||
@@ -127,6 +127,7 @@ static int siu_pcm_wr_set(struct siu_port *port_info, | |||
127 | sg_init_table(&sg, 1); | 127 | sg_init_table(&sg, 1); |
128 | sg_set_page(&sg, pfn_to_page(PFN_DOWN(buff)), | 128 | sg_set_page(&sg, pfn_to_page(PFN_DOWN(buff)), |
129 | size, offset_in_page(buff)); | 129 | size, offset_in_page(buff)); |
130 | sg_dma_len(&sg) = size; | ||
130 | sg_dma_address(&sg) = buff; | 131 | sg_dma_address(&sg) = buff; |
131 | 132 | ||
132 | desc = siu_stream->chan->device->device_prep_slave_sg(siu_stream->chan, | 133 | desc = siu_stream->chan->device->device_prep_slave_sg(siu_stream->chan, |
@@ -176,6 +177,7 @@ static int siu_pcm_rd_set(struct siu_port *port_info, | |||
176 | sg_init_table(&sg, 1); | 177 | sg_init_table(&sg, 1); |
177 | sg_set_page(&sg, pfn_to_page(PFN_DOWN(buff)), | 178 | sg_set_page(&sg, pfn_to_page(PFN_DOWN(buff)), |
178 | size, offset_in_page(buff)); | 179 | size, offset_in_page(buff)); |
180 | sg_dma_len(&sg) = size; | ||
179 | sg_dma_address(&sg) = buff; | 181 | sg_dma_address(&sg) = buff; |
180 | 182 | ||
181 | desc = siu_stream->chan->device->device_prep_slave_sg(siu_stream->chan, | 183 | desc = siu_stream->chan->device->device_prep_slave_sg(siu_stream->chan, |
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 805343fe903b..614a8b30d87b 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c | |||
@@ -233,6 +233,7 @@ static const struct file_operations codec_reg_fops = { | |||
233 | .open = codec_reg_open_file, | 233 | .open = codec_reg_open_file, |
234 | .read = codec_reg_read_file, | 234 | .read = codec_reg_read_file, |
235 | .write = codec_reg_write_file, | 235 | .write = codec_reg_write_file, |
236 | .llseek = default_llseek, | ||
236 | }; | 237 | }; |
237 | 238 | ||
238 | static void soc_init_codec_debugfs(struct snd_soc_codec *codec) | 239 | static void soc_init_codec_debugfs(struct snd_soc_codec *codec) |
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c index 035cab85cb66..7d85c6496afa 100644 --- a/sound/soc/soc-dapm.c +++ b/sound/soc/soc-dapm.c | |||
@@ -1084,6 +1084,7 @@ static ssize_t dapm_widget_power_read_file(struct file *file, | |||
1084 | static const struct file_operations dapm_widget_power_fops = { | 1084 | static const struct file_operations dapm_widget_power_fops = { |
1085 | .open = dapm_widget_power_open_file, | 1085 | .open = dapm_widget_power_open_file, |
1086 | .read = dapm_widget_power_read_file, | 1086 | .read = dapm_widget_power_read_file, |
1087 | .llseek = default_llseek, | ||
1087 | }; | 1088 | }; |
1088 | 1089 | ||
1089 | void snd_soc_dapm_debugfs_init(struct snd_soc_codec *codec) | 1090 | void snd_soc_dapm_debugfs_init(struct snd_soc_codec *codec) |
diff --git a/sound/sound_core.c b/sound/sound_core.c index cb61317df509..c03bbaefdbc3 100644 --- a/sound/sound_core.c +++ b/sound/sound_core.c | |||
@@ -165,6 +165,7 @@ static const struct file_operations soundcore_fops = | |||
165 | /* We must have an owner or the module locking fails */ | 165 | /* We must have an owner or the module locking fails */ |
166 | .owner = THIS_MODULE, | 166 | .owner = THIS_MODULE, |
167 | .open = soundcore_open, | 167 | .open = soundcore_open, |
168 | .llseek = noop_llseek, | ||
168 | }; | 169 | }; |
169 | 170 | ||
170 | /* | 171 | /* |