diff options
author | Takashi Iwai <tiwai@suse.de> | 2011-05-02 04:41:40 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2011-05-02 04:41:40 -0400 |
commit | a3ea8e8f2474c35b4c3e22262991afddb93c4c0e (patch) | |
tree | 648bbeea304950d02e71863673be8154a5e491f6 /sound | |
parent | c2de187e5b0f25b572ac1cb6cdf383f16123717d (diff) | |
parent | ebb47241ea0eac6a5a23404821a2d62f64c68496 (diff) |
Merge branch 'fix/hda' into topic/hda
Diffstat (limited to 'sound')
91 files changed, 227 insertions, 185 deletions
diff --git a/sound/aoa/codecs/tas.c b/sound/aoa/codecs/tas.c index fd2188c3df2b..58804c7acfcf 100644 --- a/sound/aoa/codecs/tas.c +++ b/sound/aoa/codecs/tas.c | |||
@@ -170,7 +170,7 @@ static void tas_set_volume(struct tas *tas) | |||
170 | /* analysing the volume and mixer tables shows | 170 | /* analysing the volume and mixer tables shows |
171 | * that they are similar enough when we shift | 171 | * that they are similar enough when we shift |
172 | * the mixer table down by 4 bits. The error | 172 | * the mixer table down by 4 bits. The error |
173 | * is miniscule, in just one item the error | 173 | * is minuscule, in just one item the error |
174 | * is 1, at a value of 0x07f17b (mixer table | 174 | * is 1, at a value of 0x07f17b (mixer table |
175 | * value is 0x07f17a) */ | 175 | * value is 0x07f17a) */ |
176 | tmp = tas_gaintable[left]; | 176 | tmp = tas_gaintable[left]; |
diff --git a/sound/core/pcm_memory.c b/sound/core/pcm_memory.c index 917e4055ee30..150cb7edffee 100644 --- a/sound/core/pcm_memory.c +++ b/sound/core/pcm_memory.c | |||
@@ -253,7 +253,7 @@ static int snd_pcm_lib_preallocate_pages1(struct snd_pcm_substream *substream, | |||
253 | * snd_pcm_lib_preallocate_pages - pre-allocation for the given DMA type | 253 | * snd_pcm_lib_preallocate_pages - pre-allocation for the given DMA type |
254 | * @substream: the pcm substream instance | 254 | * @substream: the pcm substream instance |
255 | * @type: DMA type (SNDRV_DMA_TYPE_*) | 255 | * @type: DMA type (SNDRV_DMA_TYPE_*) |
256 | * @data: DMA type dependant data | 256 | * @data: DMA type dependent data |
257 | * @size: the requested pre-allocation size in bytes | 257 | * @size: the requested pre-allocation size in bytes |
258 | * @max: the max. allowed pre-allocation size | 258 | * @max: the max. allowed pre-allocation size |
259 | * | 259 | * |
@@ -278,10 +278,10 @@ int snd_pcm_lib_preallocate_pages(struct snd_pcm_substream *substream, | |||
278 | EXPORT_SYMBOL(snd_pcm_lib_preallocate_pages); | 278 | EXPORT_SYMBOL(snd_pcm_lib_preallocate_pages); |
279 | 279 | ||
280 | /** | 280 | /** |
281 | * snd_pcm_lib_preallocate_pages_for_all - pre-allocation for continous memory type (all substreams) | 281 | * snd_pcm_lib_preallocate_pages_for_all - pre-allocation for continuous memory type (all substreams) |
282 | * @pcm: the pcm instance | 282 | * @pcm: the pcm instance |
283 | * @type: DMA type (SNDRV_DMA_TYPE_*) | 283 | * @type: DMA type (SNDRV_DMA_TYPE_*) |
284 | * @data: DMA type dependant data | 284 | * @data: DMA type dependent data |
285 | * @size: the requested pre-allocation size in bytes | 285 | * @size: the requested pre-allocation size in bytes |
286 | * @max: the max. allowed pre-allocation size | 286 | * @max: the max. allowed pre-allocation size |
287 | * | 287 | * |
diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c index fe5c8036beba..1a07750f3836 100644 --- a/sound/core/pcm_native.c +++ b/sound/core/pcm_native.c | |||
@@ -460,7 +460,7 @@ static int snd_pcm_hw_params(struct snd_pcm_substream *substream, | |||
460 | PM_QOS_CPU_DMA_LATENCY, usecs); | 460 | PM_QOS_CPU_DMA_LATENCY, usecs); |
461 | return 0; | 461 | return 0; |
462 | _error: | 462 | _error: |
463 | /* hardware might be unuseable from this time, | 463 | /* hardware might be unusable from this time, |
464 | so we force application to retry to set | 464 | so we force application to retry to set |
465 | the correct hardware parameter settings */ | 465 | the correct hardware parameter settings */ |
466 | runtime->status->state = SNDRV_PCM_STATE_OPEN; | 466 | runtime->status->state = SNDRV_PCM_STATE_OPEN; |
diff --git a/sound/core/seq/seq_dummy.c b/sound/core/seq/seq_dummy.c index f3bdc54b429a..1d7d90ca455e 100644 --- a/sound/core/seq/seq_dummy.c +++ b/sound/core/seq/seq_dummy.c | |||
@@ -50,7 +50,7 @@ | |||
50 | 50 | ||
51 | option snd-seq-dummy ports=4 | 51 | option snd-seq-dummy ports=4 |
52 | 52 | ||
53 | The modle option "duplex=1" enables duplex operation to the port. | 53 | The model option "duplex=1" enables duplex operation to the port. |
54 | In duplex mode, a pair of ports are created instead of single port, | 54 | In duplex mode, a pair of ports are created instead of single port, |
55 | and events are tunneled between pair-ports. For example, input to | 55 | and events are tunneled between pair-ports. For example, input to |
56 | port A is sent to output port of another port B and vice versa. | 56 | port A is sent to output port of another port B and vice versa. |
diff --git a/sound/core/vmaster.c b/sound/core/vmaster.c index a89948ae9e8d..a39d3d8c2f9c 100644 --- a/sound/core/vmaster.c +++ b/sound/core/vmaster.c | |||
@@ -233,7 +233,7 @@ static void slave_free(struct snd_kcontrol *kcontrol) | |||
233 | * Add a slave control to the group with the given master control | 233 | * Add a slave control to the group with the given master control |
234 | * | 234 | * |
235 | * All slaves must be the same type (returning the same information | 235 | * All slaves must be the same type (returning the same information |
236 | * via info callback). The fucntion doesn't check it, so it's your | 236 | * via info callback). The function doesn't check it, so it's your |
237 | * responsibility. | 237 | * responsibility. |
238 | * | 238 | * |
239 | * Also, some additional limitations: | 239 | * Also, some additional limitations: |
diff --git a/sound/drivers/pcm-indirect2.c b/sound/drivers/pcm-indirect2.c index 3c93c23e4883..e73fafd761b3 100644 --- a/sound/drivers/pcm-indirect2.c +++ b/sound/drivers/pcm-indirect2.c | |||
@@ -264,7 +264,7 @@ snd_pcm_indirect2_playback_transfer(struct snd_pcm_substream *substream, | |||
264 | if (diff < -(snd_pcm_sframes_t) (runtime->boundary / 2)) | 264 | if (diff < -(snd_pcm_sframes_t) (runtime->boundary / 2)) |
265 | diff += runtime->boundary; | 265 | diff += runtime->boundary; |
266 | /* number of bytes "added" by ALSA increases the number of | 266 | /* number of bytes "added" by ALSA increases the number of |
267 | * bytes which are ready to "be transfered to HW"/"played" | 267 | * bytes which are ready to "be transferred to HW"/"played" |
268 | * Then, set rec->appl_ptr to not count bytes twice next time. | 268 | * Then, set rec->appl_ptr to not count bytes twice next time. |
269 | */ | 269 | */ |
270 | rec->sw_ready += (int)frames_to_bytes(runtime, diff); | 270 | rec->sw_ready += (int)frames_to_bytes(runtime, diff); |
@@ -330,7 +330,7 @@ snd_pcm_indirect2_playback_transfer(struct snd_pcm_substream *substream, | |||
330 | /* copy bytes from intermediate buffer position sw_data to the | 330 | /* copy bytes from intermediate buffer position sw_data to the |
331 | * HW and return number of bytes actually written | 331 | * HW and return number of bytes actually written |
332 | * Furthermore, set hw_ready to 0, if the fifo isn't empty | 332 | * Furthermore, set hw_ready to 0, if the fifo isn't empty |
333 | * now => more could be transfered to fifo | 333 | * now => more could be transferred to fifo |
334 | */ | 334 | */ |
335 | bytes = copy(substream, rec, bytes); | 335 | bytes = copy(substream, rec, bytes); |
336 | rec->bytes2hw += bytes; | 336 | rec->bytes2hw += bytes; |
diff --git a/sound/drivers/vx/vx_pcm.c b/sound/drivers/vx/vx_pcm.c index 35a2f71a6af5..5e897b236cec 100644 --- a/sound/drivers/vx/vx_pcm.c +++ b/sound/drivers/vx/vx_pcm.c | |||
@@ -1189,7 +1189,7 @@ void vx_pcm_update_intr(struct vx_core *chip, unsigned int events) | |||
1189 | 1189 | ||
1190 | 1190 | ||
1191 | /* | 1191 | /* |
1192 | * vx_init_audio_io - check the availabe audio i/o and allocate pipe arrays | 1192 | * vx_init_audio_io - check the available audio i/o and allocate pipe arrays |
1193 | */ | 1193 | */ |
1194 | static int vx_init_audio_io(struct vx_core *chip) | 1194 | static int vx_init_audio_io(struct vx_core *chip) |
1195 | { | 1195 | { |
diff --git a/sound/isa/sb/emu8000.c b/sound/isa/sb/emu8000.c index 0c40951b6523..5d61f5a29130 100644 --- a/sound/isa/sb/emu8000.c +++ b/sound/isa/sb/emu8000.c | |||
@@ -370,7 +370,7 @@ init_arrays(struct snd_emu8000 *emu) | |||
370 | 370 | ||
371 | /* | 371 | /* |
372 | * Size the onboard memory. | 372 | * Size the onboard memory. |
373 | * This is written so as not to need arbitary delays after the write. It | 373 | * This is written so as not to need arbitrary delays after the write. It |
374 | * seems that the only way to do this is to use the one channel and keep | 374 | * seems that the only way to do this is to use the one channel and keep |
375 | * reallocating between read and write. | 375 | * reallocating between read and write. |
376 | */ | 376 | */ |
diff --git a/sound/isa/wavefront/wavefront_midi.c b/sound/isa/wavefront/wavefront_midi.c index f14a7c0b6998..65329f3abc30 100644 --- a/sound/isa/wavefront/wavefront_midi.c +++ b/sound/isa/wavefront/wavefront_midi.c | |||
@@ -537,7 +537,7 @@ snd_wavefront_midi_start (snd_wavefront_card_t *card) | |||
537 | } | 537 | } |
538 | 538 | ||
539 | /* Turn on Virtual MIDI, but first *always* turn it off, | 539 | /* Turn on Virtual MIDI, but first *always* turn it off, |
540 | since otherwise consectutive reloads of the driver will | 540 | since otherwise consecutive reloads of the driver will |
541 | never cause the hardware to generate the initial "internal" or | 541 | never cause the hardware to generate the initial "internal" or |
542 | "external" source bytes in the MIDI data stream. This | 542 | "external" source bytes in the MIDI data stream. This |
543 | is pretty important, since the internal hardware generally will | 543 | is pretty important, since the internal hardware generally will |
diff --git a/sound/isa/wss/wss_lib.c b/sound/isa/wss/wss_lib.c index 9191b32d9130..2a42cc377957 100644 --- a/sound/isa/wss/wss_lib.c +++ b/sound/isa/wss/wss_lib.c | |||
@@ -424,7 +424,7 @@ void snd_wss_mce_down(struct snd_wss *chip) | |||
424 | 424 | ||
425 | /* | 425 | /* |
426 | * Wait for (possible -- during init auto-calibration may not be set) | 426 | * Wait for (possible -- during init auto-calibration may not be set) |
427 | * calibration process to start. Needs upto 5 sample periods on AD1848 | 427 | * calibration process to start. Needs up to 5 sample periods on AD1848 |
428 | * which at the slowest possible rate of 5.5125 kHz means 907 us. | 428 | * which at the slowest possible rate of 5.5125 kHz means 907 us. |
429 | */ | 429 | */ |
430 | msleep(1); | 430 | msleep(1); |
diff --git a/sound/oss/ac97_codec.c b/sound/oss/ac97_codec.c index 854c303264dc..0cd23d94888f 100644 --- a/sound/oss/ac97_codec.c +++ b/sound/oss/ac97_codec.c | |||
@@ -28,7 +28,7 @@ | |||
28 | * | 28 | * |
29 | * History | 29 | * History |
30 | * May 02, 2003 Liam Girdwood <lrg@slimlogic.co.uk> | 30 | * May 02, 2003 Liam Girdwood <lrg@slimlogic.co.uk> |
31 | * Removed non existant WM9700 | 31 | * Removed non existent WM9700 |
32 | * Added support for WM9705, WM9708, WM9709, WM9710, WM9711 | 32 | * Added support for WM9705, WM9708, WM9709, WM9710, WM9711 |
33 | * WM9712 and WM9717 | 33 | * WM9712 and WM9717 |
34 | * Mar 28, 2002 Randolph Bentson <bentson@holmsjoen.com> | 34 | * Mar 28, 2002 Randolph Bentson <bentson@holmsjoen.com> |
@@ -441,7 +441,7 @@ static void ac97_set_mixer(struct ac97_codec *codec, unsigned int oss_mixer, uns | |||
441 | } | 441 | } |
442 | 442 | ||
443 | /* read or write the recmask, the ac97 can really have left and right recording | 443 | /* read or write the recmask, the ac97 can really have left and right recording |
444 | inputs independantly set, but OSS doesn't seem to want us to express that to | 444 | inputs independently set, but OSS doesn't seem to want us to express that to |
445 | the user. the caller guarantees that we have a supported bit set, and they | 445 | the user. the caller guarantees that we have a supported bit set, and they |
446 | must be holding the card's spinlock */ | 446 | must be holding the card's spinlock */ |
447 | static int ac97_recmask_io(struct ac97_codec *codec, int rw, int mask) | 447 | static int ac97_recmask_io(struct ac97_codec *codec, int rw, int mask) |
@@ -754,7 +754,7 @@ int ac97_probe_codec(struct ac97_codec *codec) | |||
754 | if((codec->codec_ops == &null_ops) && (f & 4)) | 754 | if((codec->codec_ops == &null_ops) && (f & 4)) |
755 | codec->codec_ops = &default_digital_ops; | 755 | codec->codec_ops = &default_digital_ops; |
756 | 756 | ||
757 | /* A device which thinks its a modem but isnt */ | 757 | /* A device which thinks its a modem but isn't */ |
758 | if(codec->flags & AC97_DELUDED_MODEM) | 758 | if(codec->flags & AC97_DELUDED_MODEM) |
759 | codec->modem = 0; | 759 | codec->modem = 0; |
760 | 760 | ||
diff --git a/sound/oss/audio.c b/sound/oss/audio.c index 7df48a25c4ee..4b958b1c497c 100644 --- a/sound/oss/audio.c +++ b/sound/oss/audio.c | |||
@@ -514,7 +514,7 @@ int audio_ioctl(int dev, struct file *file, unsigned int cmd, void __user *arg) | |||
514 | count += dmap->bytes_in_use; /* Pointer wrap not handled yet */ | 514 | count += dmap->bytes_in_use; /* Pointer wrap not handled yet */ |
515 | count += dmap->byte_counter; | 515 | count += dmap->byte_counter; |
516 | 516 | ||
517 | /* Substract current count from the number of bytes written by app */ | 517 | /* Subtract current count from the number of bytes written by app */ |
518 | count = dmap->user_counter - count; | 518 | count = dmap->user_counter - count; |
519 | if (count < 0) | 519 | if (count < 0) |
520 | count = 0; | 520 | count = 0; |
@@ -931,7 +931,7 @@ static int dma_ioctl(int dev, unsigned int cmd, void __user *arg) | |||
931 | if (count < dmap_out->fragment_size && dmap_out->qhead != 0) | 931 | if (count < dmap_out->fragment_size && dmap_out->qhead != 0) |
932 | count += dmap_out->bytes_in_use; /* Pointer wrap not handled yet */ | 932 | count += dmap_out->bytes_in_use; /* Pointer wrap not handled yet */ |
933 | count += dmap_out->byte_counter; | 933 | count += dmap_out->byte_counter; |
934 | /* Substract current count from the number of bytes written by app */ | 934 | /* Subtract current count from the number of bytes written by app */ |
935 | count = dmap_out->user_counter - count; | 935 | count = dmap_out->user_counter - count; |
936 | if (count < 0) | 936 | if (count < 0) |
937 | count = 0; | 937 | count = 0; |
diff --git a/sound/oss/dmasound/dmasound_core.c b/sound/oss/dmasound/dmasound_core.c index 87e2c72651f5..c918313c2206 100644 --- a/sound/oss/dmasound/dmasound_core.c +++ b/sound/oss/dmasound/dmasound_core.c | |||
@@ -1021,7 +1021,7 @@ static int sq_ioctl(struct file *file, u_int cmd, u_long arg) | |||
1021 | case SNDCTL_DSP_SYNC: | 1021 | case SNDCTL_DSP_SYNC: |
1022 | /* This call, effectively, has the same behaviour as SNDCTL_DSP_RESET | 1022 | /* This call, effectively, has the same behaviour as SNDCTL_DSP_RESET |
1023 | except that it waits for output to finish before resetting | 1023 | except that it waits for output to finish before resetting |
1024 | everything - read, however, is killed imediately. | 1024 | everything - read, however, is killed immediately. |
1025 | */ | 1025 | */ |
1026 | result = 0 ; | 1026 | result = 0 ; |
1027 | if (file->f_mode & FMODE_WRITE) { | 1027 | if (file->f_mode & FMODE_WRITE) { |
diff --git a/sound/oss/midibuf.c b/sound/oss/midibuf.c index ceedb1eff203..8cdb2cfe65c8 100644 --- a/sound/oss/midibuf.c +++ b/sound/oss/midibuf.c | |||
@@ -295,7 +295,7 @@ int MIDIbuf_write(int dev, struct file *file, const char __user *buf, int count) | |||
295 | 295 | ||
296 | for (i = 0; i < n; i++) | 296 | for (i = 0; i < n; i++) |
297 | { | 297 | { |
298 | /* BROKE BROKE BROKE - CANT DO THIS WITH CLI !! */ | 298 | /* BROKE BROKE BROKE - CAN'T DO THIS WITH CLI !! */ |
299 | /* yes, think the same, so I removed the cli() brackets | 299 | /* yes, think the same, so I removed the cli() brackets |
300 | QUEUE_BYTE is protected against interrupts */ | 300 | QUEUE_BYTE is protected against interrupts */ |
301 | if (copy_from_user((char *) &tmp_data, &(buf)[c], 1)) { | 301 | if (copy_from_user((char *) &tmp_data, &(buf)[c], 1)) { |
diff --git a/sound/oss/sb_card.c b/sound/oss/sb_card.c index 84ef4d06c1c2..fb5d7250de38 100644 --- a/sound/oss/sb_card.c +++ b/sound/oss/sb_card.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * sound/oss/sb_card.c | 2 | * sound/oss/sb_card.c |
3 | * | 3 | * |
4 | * Detection routine for the ISA Sound Blaster and compatable sound | 4 | * Detection routine for the ISA Sound Blaster and compatible sound |
5 | * cards. | 5 | * cards. |
6 | * | 6 | * |
7 | * This file is distributed under the GNU GENERAL PUBLIC LICENSE (GPL) | 7 | * This file is distributed under the GNU GENERAL PUBLIC LICENSE (GPL) |
diff --git a/sound/oss/sb_ess.c b/sound/oss/sb_ess.c index 9890cf2066ff..5c773dff5ac5 100644 --- a/sound/oss/sb_ess.c +++ b/sound/oss/sb_ess.c | |||
@@ -168,7 +168,7 @@ | |||
168 | * corresponding playback levels, unless recmask says they aren't recorded. In | 168 | * corresponding playback levels, unless recmask says they aren't recorded. In |
169 | * the latter case the recording volumes are 0. | 169 | * the latter case the recording volumes are 0. |
170 | * Now recording levels of inputs can be controlled, by changing the playback | 170 | * Now recording levels of inputs can be controlled, by changing the playback |
171 | * levels. Futhermore several devices can be recorded together (which is not | 171 | * levels. Furthermore several devices can be recorded together (which is not |
172 | * possible with the ES1688). | 172 | * possible with the ES1688). |
173 | * Besides the separate recording level control for each input, the common | 173 | * Besides the separate recording level control for each input, the common |
174 | * recording level can also be controlled by RECLEV as described above. | 174 | * recording level can also be controlled by RECLEV as described above. |
diff --git a/sound/oss/swarm_cs4297a.c b/sound/oss/swarm_cs4297a.c index 44357d877a27..09d46484bc1a 100644 --- a/sound/oss/swarm_cs4297a.c +++ b/sound/oss/swarm_cs4297a.c | |||
@@ -875,7 +875,7 @@ static void start_adc(struct cs4297a_state *s) | |||
875 | if (s->prop_adc.fmt & AFMT_S8 || s->prop_adc.fmt & AFMT_U8) { | 875 | if (s->prop_adc.fmt & AFMT_S8 || s->prop_adc.fmt & AFMT_U8) { |
876 | // | 876 | // |
877 | // now only use 16 bit capture, due to truncation issue | 877 | // now only use 16 bit capture, due to truncation issue |
878 | // in the chip, noticable distortion occurs. | 878 | // in the chip, noticeable distortion occurs. |
879 | // allocate buffer and then convert from 16 bit to | 879 | // allocate buffer and then convert from 16 bit to |
880 | // 8 bit for the user buffer. | 880 | // 8 bit for the user buffer. |
881 | // | 881 | // |
diff --git a/sound/oss/vidc.c b/sound/oss/vidc.c index f0e0caa53200..12ba28e7b933 100644 --- a/sound/oss/vidc.c +++ b/sound/oss/vidc.c | |||
@@ -227,7 +227,7 @@ static int vidc_audio_set_speed(int dev, int rate) | |||
227 | } else { | 227 | } else { |
228 | /*printk("VIDC: internal %d %d %d\n", rate, rate_int, hwrate);*/ | 228 | /*printk("VIDC: internal %d %d %d\n", rate, rate_int, hwrate);*/ |
229 | hwctrl=0x00000003; | 229 | hwctrl=0x00000003; |
230 | /* Allow rougly 0.4% tolerance */ | 230 | /* Allow roughly 0.4% tolerance */ |
231 | if (diff_int > (rate/256)) | 231 | if (diff_int > (rate/256)) |
232 | rate=rate_int; | 232 | rate=rate_int; |
233 | } | 233 | } |
diff --git a/sound/pci/ad1889.c b/sound/pci/ad1889.c index 4382d0fa6b9a..d8f6fd65ebbb 100644 --- a/sound/pci/ad1889.c +++ b/sound/pci/ad1889.c | |||
@@ -29,7 +29,7 @@ | |||
29 | * PM support | 29 | * PM support |
30 | * MIDI support | 30 | * MIDI support |
31 | * Game Port support | 31 | * Game Port support |
32 | * SG DMA support (this will need *alot* of work) | 32 | * SG DMA support (this will need *a lot* of work) |
33 | */ | 33 | */ |
34 | 34 | ||
35 | #include <linux/init.h> | 35 | #include <linux/init.h> |
diff --git a/sound/pci/asihpi/asihpi.c b/sound/pci/asihpi/asihpi.c index f53a31e939c1..f8ccc9677c6f 100644 --- a/sound/pci/asihpi/asihpi.c +++ b/sound/pci/asihpi/asihpi.c | |||
@@ -963,7 +963,7 @@ static int snd_card_asihpi_playback_open(struct snd_pcm_substream *substream) | |||
963 | 963 | ||
964 | /*? also check ASI5000 samplerate source | 964 | /*? also check ASI5000 samplerate source |
965 | If external, only support external rate. | 965 | If external, only support external rate. |
966 | If internal and other stream playing, cant switch | 966 | If internal and other stream playing, can't switch |
967 | */ | 967 | */ |
968 | 968 | ||
969 | init_timer(&dpcm->timer); | 969 | init_timer(&dpcm->timer); |
diff --git a/sound/pci/asihpi/hpi.h b/sound/pci/asihpi/hpi.h index 6fc025c448de..255429c32c1c 100644 --- a/sound/pci/asihpi/hpi.h +++ b/sound/pci/asihpi/hpi.h | |||
@@ -725,7 +725,7 @@ enum HPI_AESEBU_ERRORS { | |||
725 | #define HPI_PAD_TITLE_LEN 64 | 725 | #define HPI_PAD_TITLE_LEN 64 |
726 | /** The text string containing the comment. */ | 726 | /** The text string containing the comment. */ |
727 | #define HPI_PAD_COMMENT_LEN 256 | 727 | #define HPI_PAD_COMMENT_LEN 256 |
728 | /** The PTY when the tuner has not recieved any PTY. */ | 728 | /** The PTY when the tuner has not received any PTY. */ |
729 | #define HPI_PAD_PROGRAM_TYPE_INVALID 0xffff | 729 | #define HPI_PAD_PROGRAM_TYPE_INVALID 0xffff |
730 | /** \} */ | 730 | /** \} */ |
731 | 731 | ||
diff --git a/sound/pci/asihpi/hpi6000.c b/sound/pci/asihpi/hpi6000.c index 3e3c2ef6efd8..8c8aac4c567e 100644 --- a/sound/pci/asihpi/hpi6000.c +++ b/sound/pci/asihpi/hpi6000.c | |||
@@ -423,7 +423,7 @@ static void subsys_create_adapter(struct hpi_message *phm, | |||
423 | 423 | ||
424 | ao.priv = kzalloc(sizeof(struct hpi_hw_obj), GFP_KERNEL); | 424 | ao.priv = kzalloc(sizeof(struct hpi_hw_obj), GFP_KERNEL); |
425 | if (!ao.priv) { | 425 | if (!ao.priv) { |
426 | HPI_DEBUG_LOG(ERROR, "cant get mem for adapter object\n"); | 426 | HPI_DEBUG_LOG(ERROR, "can't get mem for adapter object\n"); |
427 | phr->error = HPI_ERROR_MEMORY_ALLOC; | 427 | phr->error = HPI_ERROR_MEMORY_ALLOC; |
428 | return; | 428 | return; |
429 | } | 429 | } |
diff --git a/sound/pci/asihpi/hpi6205.c b/sound/pci/asihpi/hpi6205.c index 620525bdac59..22e9f08dea6d 100644 --- a/sound/pci/asihpi/hpi6205.c +++ b/sound/pci/asihpi/hpi6205.c | |||
@@ -466,7 +466,7 @@ static void subsys_create_adapter(struct hpi_message *phm, | |||
466 | 466 | ||
467 | ao.priv = kzalloc(sizeof(struct hpi_hw_obj), GFP_KERNEL); | 467 | ao.priv = kzalloc(sizeof(struct hpi_hw_obj), GFP_KERNEL); |
468 | if (!ao.priv) { | 468 | if (!ao.priv) { |
469 | HPI_DEBUG_LOG(ERROR, "cant get mem for adapter object\n"); | 469 | HPI_DEBUG_LOG(ERROR, "can't get mem for adapter object\n"); |
470 | phr->error = HPI_ERROR_MEMORY_ALLOC; | 470 | phr->error = HPI_ERROR_MEMORY_ALLOC; |
471 | return; | 471 | return; |
472 | } | 472 | } |
diff --git a/sound/pci/asihpi/hpi_internal.h b/sound/pci/asihpi/hpi_internal.h index af678be0aa15..3b9fd115da36 100644 --- a/sound/pci/asihpi/hpi_internal.h +++ b/sound/pci/asihpi/hpi_internal.h | |||
@@ -607,7 +607,7 @@ struct hpi_data_compat32 { | |||
607 | #endif | 607 | #endif |
608 | 608 | ||
609 | struct hpi_buffer { | 609 | struct hpi_buffer { |
610 | /** placehoder for backward compatability (see dwBufferSize) */ | 610 | /** placehoder for backward compatibility (see dwBufferSize) */ |
611 | struct hpi_msg_format reserved; | 611 | struct hpi_msg_format reserved; |
612 | u32 command; /**< HPI_BUFFER_CMD_xxx*/ | 612 | u32 command; /**< HPI_BUFFER_CMD_xxx*/ |
613 | u32 pci_address; /**< PCI physical address of buffer for DSP DMA */ | 613 | u32 pci_address; /**< PCI physical address of buffer for DSP DMA */ |
diff --git a/sound/pci/asihpi/hpimsgx.c b/sound/pci/asihpi/hpimsgx.c index bcbdf30a6aa0..360028b9abf5 100644 --- a/sound/pci/asihpi/hpimsgx.c +++ b/sound/pci/asihpi/hpimsgx.c | |||
@@ -722,7 +722,7 @@ static u16 HPIMSGX__init(struct hpi_message *phm, | |||
722 | return phr->error; | 722 | return phr->error; |
723 | } | 723 | } |
724 | if (hr.error == 0) { | 724 | if (hr.error == 0) { |
725 | /* the adapter was created succesfully | 725 | /* the adapter was created successfully |
726 | save the mapping for future use */ | 726 | save the mapping for future use */ |
727 | hpi_entry_points[hr.u.s.adapter_index] = entry_point_func; | 727 | hpi_entry_points[hr.u.s.adapter_index] = entry_point_func; |
728 | /* prepare adapter (pre-open streams etc.) */ | 728 | /* prepare adapter (pre-open streams etc.) */ |
diff --git a/sound/pci/au88x0/au88x0.h b/sound/pci/au88x0/au88x0.h index ecb8f4daf408..02f6e08f7592 100644 --- a/sound/pci/au88x0/au88x0.h +++ b/sound/pci/au88x0/au88x0.h | |||
@@ -104,7 +104,7 @@ | |||
104 | #define MIX_PLAYB(x) (vortex->mixplayb[x]) | 104 | #define MIX_PLAYB(x) (vortex->mixplayb[x]) |
105 | #define MIX_SPDIF(x) (vortex->mixspdif[x]) | 105 | #define MIX_SPDIF(x) (vortex->mixspdif[x]) |
106 | 106 | ||
107 | #define NR_WTPB 0x20 /* WT channels per eahc bank. */ | 107 | #define NR_WTPB 0x20 /* WT channels per each bank. */ |
108 | 108 | ||
109 | /* Structs */ | 109 | /* Structs */ |
110 | typedef struct { | 110 | typedef struct { |
diff --git a/sound/pci/au88x0/au88x0_a3d.c b/sound/pci/au88x0/au88x0_a3d.c index f4aa8ff6f5f9..9ae8b3b17651 100644 --- a/sound/pci/au88x0/au88x0_a3d.c +++ b/sound/pci/au88x0/au88x0_a3d.c | |||
@@ -53,7 +53,7 @@ a3dsrc_GetTimeConsts(a3dsrc_t * a, short *HrtfTrack, short *ItdTrack, | |||
53 | } | 53 | } |
54 | 54 | ||
55 | #endif | 55 | #endif |
56 | /* Atmospheric absorbtion. */ | 56 | /* Atmospheric absorption. */ |
57 | 57 | ||
58 | static void | 58 | static void |
59 | a3dsrc_SetAtmosTarget(a3dsrc_t * a, short aa, short b, short c, short d, | 59 | a3dsrc_SetAtmosTarget(a3dsrc_t * a, short aa, short b, short c, short d, |
@@ -835,7 +835,7 @@ snd_vortex_a3d_filter_put(struct snd_kcontrol *kcontrol, | |||
835 | params[i] = ucontrol->value.integer.value[i]; | 835 | params[i] = ucontrol->value.integer.value[i]; |
836 | /* Translate generic filter params to a3d filter params. */ | 836 | /* Translate generic filter params to a3d filter params. */ |
837 | vortex_a3d_translate_filter(a->filter, params); | 837 | vortex_a3d_translate_filter(a->filter, params); |
838 | /* Atmospheric absorbtion and filtering. */ | 838 | /* Atmospheric absorption and filtering. */ |
839 | a3dsrc_SetAtmosTarget(a, a->filter[0], | 839 | a3dsrc_SetAtmosTarget(a, a->filter[0], |
840 | a->filter[1], a->filter[2], | 840 | a->filter[1], a->filter[2], |
841 | a->filter[3], a->filter[4]); | 841 | a->filter[3], a->filter[4]); |
diff --git a/sound/pci/au88x0/au88x0_pcm.c b/sound/pci/au88x0/au88x0_pcm.c index 5439d662d104..62e959120c44 100644 --- a/sound/pci/au88x0/au88x0_pcm.c +++ b/sound/pci/au88x0/au88x0_pcm.c | |||
@@ -44,10 +44,10 @@ static struct snd_pcm_hardware snd_vortex_playback_hw_adb = { | |||
44 | .channels_min = 1, | 44 | .channels_min = 1, |
45 | .channels_max = 2, | 45 | .channels_max = 2, |
46 | .buffer_bytes_max = 0x10000, | 46 | .buffer_bytes_max = 0x10000, |
47 | .period_bytes_min = 0x1, | 47 | .period_bytes_min = 0x20, |
48 | .period_bytes_max = 0x1000, | 48 | .period_bytes_max = 0x1000, |
49 | .periods_min = 2, | 49 | .periods_min = 2, |
50 | .periods_max = 32, | 50 | .periods_max = 1024, |
51 | }; | 51 | }; |
52 | 52 | ||
53 | #ifndef CHIP_AU8820 | 53 | #ifndef CHIP_AU8820 |
@@ -140,6 +140,9 @@ static int snd_vortex_pcm_open(struct snd_pcm_substream *substream) | |||
140 | SNDRV_PCM_HW_PARAM_PERIOD_BYTES)) < 0) | 140 | SNDRV_PCM_HW_PARAM_PERIOD_BYTES)) < 0) |
141 | return err; | 141 | return err; |
142 | 142 | ||
143 | snd_pcm_hw_constraint_step(runtime, 0, | ||
144 | SNDRV_PCM_HW_PARAM_BUFFER_BYTES, 64); | ||
145 | |||
143 | if (VORTEX_PCM_TYPE(substream->pcm) != VORTEX_PCM_WT) { | 146 | if (VORTEX_PCM_TYPE(substream->pcm) != VORTEX_PCM_WT) { |
144 | #ifndef CHIP_AU8820 | 147 | #ifndef CHIP_AU8820 |
145 | if (VORTEX_PCM_TYPE(substream->pcm) == VORTEX_PCM_A3D) { | 148 | if (VORTEX_PCM_TYPE(substream->pcm) == VORTEX_PCM_A3D) { |
@@ -515,7 +518,7 @@ static int __devinit snd_vortex_new_pcm(vortex_t *chip, int idx, int nr) | |||
515 | return -ENODEV; | 518 | return -ENODEV; |
516 | 519 | ||
517 | /* idx indicates which kind of PCM device. ADB, SPDIF, I2S and A3D share the | 520 | /* idx indicates which kind of PCM device. ADB, SPDIF, I2S and A3D share the |
518 | * same dma engine. WT uses it own separate dma engine whcih cant capture. */ | 521 | * same dma engine. WT uses it own separate dma engine which can't capture. */ |
519 | if (idx == VORTEX_PCM_ADB) | 522 | if (idx == VORTEX_PCM_ADB) |
520 | nr_capt = nr; | 523 | nr_capt = nr; |
521 | else | 524 | else |
diff --git a/sound/pci/azt3328.c b/sound/pci/azt3328.c index 5715c4d05573..9b7a6346037a 100644 --- a/sound/pci/azt3328.c +++ b/sound/pci/azt3328.c | |||
@@ -140,7 +140,7 @@ | |||
140 | * Possible remedies: | 140 | * Possible remedies: |
141 | * - use speaker (amplifier) output instead of headphone output | 141 | * - use speaker (amplifier) output instead of headphone output |
142 | * (in case crackling is due to overloaded output clipping) | 142 | * (in case crackling is due to overloaded output clipping) |
143 | * - plug card into a different PCI slot, preferrably one that isn't shared | 143 | * - plug card into a different PCI slot, preferably one that isn't shared |
144 | * too much (this helps a lot, but not completely!) | 144 | * too much (this helps a lot, but not completely!) |
145 | * - get rid of PCI VGA card, use AGP instead | 145 | * - get rid of PCI VGA card, use AGP instead |
146 | * - upgrade or downgrade BIOS | 146 | * - upgrade or downgrade BIOS |
diff --git a/sound/pci/ca0106/ca0106.h b/sound/pci/ca0106/ca0106.h index fc53b9bca26d..e8e8ccc96403 100644 --- a/sound/pci/ca0106/ca0106.h +++ b/sound/pci/ca0106/ca0106.h | |||
@@ -51,7 +51,7 @@ | |||
51 | * Add support for mute control on SB Live 24bit (cards w/ SPI DAC) | 51 | * Add support for mute control on SB Live 24bit (cards w/ SPI DAC) |
52 | * | 52 | * |
53 | * | 53 | * |
54 | * This code was initally based on code from ALSA's emu10k1x.c which is: | 54 | * This code was initially based on code from ALSA's emu10k1x.c which is: |
55 | * Copyright (c) by Francisco Moraes <fmoraes@nc.rr.com> | 55 | * Copyright (c) by Francisco Moraes <fmoraes@nc.rr.com> |
56 | * | 56 | * |
57 | * This program is free software; you can redistribute it and/or modify | 57 | * This program is free software; you can redistribute it and/or modify |
@@ -175,7 +175,7 @@ | |||
175 | /* CA0106 pointer-offset register set, accessed through the PTR and DATA registers */ | 175 | /* CA0106 pointer-offset register set, accessed through the PTR and DATA registers */ |
176 | /********************************************************************************************************/ | 176 | /********************************************************************************************************/ |
177 | 177 | ||
178 | /* Initally all registers from 0x00 to 0x3f have zero contents. */ | 178 | /* Initially all registers from 0x00 to 0x3f have zero contents. */ |
179 | #define PLAYBACK_LIST_ADDR 0x00 /* Base DMA address of a list of pointers to each period/size */ | 179 | #define PLAYBACK_LIST_ADDR 0x00 /* Base DMA address of a list of pointers to each period/size */ |
180 | /* One list entry: 4 bytes for DMA address, | 180 | /* One list entry: 4 bytes for DMA address, |
181 | * 4 bytes for period_size << 16. | 181 | * 4 bytes for period_size << 16. |
@@ -223,7 +223,7 @@ | |||
223 | * The jack has 4 poles. I will call 1 - Tip, 2 - Next to 1, 3 - Next to 2, 4 - Next to 3 | 223 | * The jack has 4 poles. I will call 1 - Tip, 2 - Next to 1, 3 - Next to 2, 4 - Next to 3 |
224 | * For Analogue: 1 -> Center Speaker, 2 -> Sub Woofer, 3 -> Ground, 4 -> Ground | 224 | * For Analogue: 1 -> Center Speaker, 2 -> Sub Woofer, 3 -> Ground, 4 -> Ground |
225 | * For Digital: 1 -> Front SPDIF, 2 -> Rear SPDIF, 3 -> Center/Subwoofer SPDIF, 4 -> Ground. | 225 | * For Digital: 1 -> Front SPDIF, 2 -> Rear SPDIF, 3 -> Center/Subwoofer SPDIF, 4 -> Ground. |
226 | * Standard 4 pole Video A/V cable with RCA outputs: 1 -> White, 2 -> Yellow, 3 -> Sheild on all three, 4 -> Red. | 226 | * Standard 4 pole Video A/V cable with RCA outputs: 1 -> White, 2 -> Yellow, 3 -> Shield on all three, 4 -> Red. |
227 | * So, from this you can see that you cannot use a Standard 4 pole Video A/V cable with the SB Audigy LS card. | 227 | * So, from this you can see that you cannot use a Standard 4 pole Video A/V cable with the SB Audigy LS card. |
228 | */ | 228 | */ |
229 | /* The Front SPDIF PCM gets mixed with samples from the AC97 codec, so can only work for Stereo PCM and not AC3/DTS | 229 | /* The Front SPDIF PCM gets mixed with samples from the AC97 codec, so can only work for Stereo PCM and not AC3/DTS |
diff --git a/sound/pci/ca0106/ca0106_main.c b/sound/pci/ca0106/ca0106_main.c index 01b49388fafd..437759239694 100644 --- a/sound/pci/ca0106/ca0106_main.c +++ b/sound/pci/ca0106/ca0106_main.c | |||
@@ -117,7 +117,7 @@ | |||
117 | * DAC: Unknown | 117 | * DAC: Unknown |
118 | * Trying to handle it like the SB0410. | 118 | * Trying to handle it like the SB0410. |
119 | * | 119 | * |
120 | * This code was initally based on code from ALSA's emu10k1x.c which is: | 120 | * This code was initially based on code from ALSA's emu10k1x.c which is: |
121 | * Copyright (c) by Francisco Moraes <fmoraes@nc.rr.com> | 121 | * Copyright (c) by Francisco Moraes <fmoraes@nc.rr.com> |
122 | * | 122 | * |
123 | * This program is free software; you can redistribute it and/or modify | 123 | * This program is free software; you can redistribute it and/or modify |
diff --git a/sound/pci/ca0106/ca0106_mixer.c b/sound/pci/ca0106/ca0106_mixer.c index 630aa4998189..84f3f92436b5 100644 --- a/sound/pci/ca0106/ca0106_mixer.c +++ b/sound/pci/ca0106/ca0106_mixer.c | |||
@@ -42,7 +42,7 @@ | |||
42 | * 0.0.18 | 42 | * 0.0.18 |
43 | * Add support for mute control on SB Live 24bit (cards w/ SPI DAC) | 43 | * Add support for mute control on SB Live 24bit (cards w/ SPI DAC) |
44 | * | 44 | * |
45 | * This code was initally based on code from ALSA's emu10k1x.c which is: | 45 | * This code was initially based on code from ALSA's emu10k1x.c which is: |
46 | * Copyright (c) by Francisco Moraes <fmoraes@nc.rr.com> | 46 | * Copyright (c) by Francisco Moraes <fmoraes@nc.rr.com> |
47 | * | 47 | * |
48 | * This program is free software; you can redistribute it and/or modify | 48 | * This program is free software; you can redistribute it and/or modify |
diff --git a/sound/pci/ca0106/ca0106_proc.c b/sound/pci/ca0106/ca0106_proc.c index ba96428c9f4c..c694464b1168 100644 --- a/sound/pci/ca0106/ca0106_proc.c +++ b/sound/pci/ca0106/ca0106_proc.c | |||
@@ -42,7 +42,7 @@ | |||
42 | * 0.0.18 | 42 | * 0.0.18 |
43 | * Implement support for Line-in capture on SB Live 24bit. | 43 | * Implement support for Line-in capture on SB Live 24bit. |
44 | * | 44 | * |
45 | * This code was initally based on code from ALSA's emu10k1x.c which is: | 45 | * This code was initially based on code from ALSA's emu10k1x.c which is: |
46 | * Copyright (c) by Francisco Moraes <fmoraes@nc.rr.com> | 46 | * Copyright (c) by Francisco Moraes <fmoraes@nc.rr.com> |
47 | * | 47 | * |
48 | * This program is free software; you can redistribute it and/or modify | 48 | * This program is free software; you can redistribute it and/or modify |
diff --git a/sound/pci/cmipci.c b/sound/pci/cmipci.c index b5bb036ef73c..f4e573555da3 100644 --- a/sound/pci/cmipci.c +++ b/sound/pci/cmipci.c | |||
@@ -73,7 +73,7 @@ MODULE_PARM_DESC(mpu_port, "MPU-401 port."); | |||
73 | module_param_array(fm_port, long, NULL, 0444); | 73 | module_param_array(fm_port, long, NULL, 0444); |
74 | MODULE_PARM_DESC(fm_port, "FM port."); | 74 | MODULE_PARM_DESC(fm_port, "FM port."); |
75 | module_param_array(soft_ac3, bool, NULL, 0444); | 75 | module_param_array(soft_ac3, bool, NULL, 0444); |
76 | MODULE_PARM_DESC(soft_ac3, "Sofware-conversion of raw SPDIF packets (model 033 only)."); | 76 | MODULE_PARM_DESC(soft_ac3, "Software-conversion of raw SPDIF packets (model 033 only)."); |
77 | #ifdef SUPPORT_JOYSTICK | 77 | #ifdef SUPPORT_JOYSTICK |
78 | module_param_array(joystick_port, int, NULL, 0444); | 78 | module_param_array(joystick_port, int, NULL, 0444); |
79 | MODULE_PARM_DESC(joystick_port, "Joystick port address."); | 79 | MODULE_PARM_DESC(joystick_port, "Joystick port address."); |
@@ -656,8 +656,8 @@ out: | |||
656 | } | 656 | } |
657 | 657 | ||
658 | /* | 658 | /* |
659 | * Program pll register bits, I assume that the 8 registers 0xf8 upto 0xff | 659 | * Program pll register bits, I assume that the 8 registers 0xf8 up to 0xff |
660 | * are mapped onto the 8 ADC/DAC sampling frequency which can be choosen | 660 | * are mapped onto the 8 ADC/DAC sampling frequency which can be chosen |
661 | * at the register CM_REG_FUNCTRL1 (0x04). | 661 | * at the register CM_REG_FUNCTRL1 (0x04). |
662 | * Problem: other ways are also possible (any information about that?) | 662 | * Problem: other ways are also possible (any information about that?) |
663 | */ | 663 | */ |
@@ -666,7 +666,7 @@ static void snd_cmipci_set_pll(struct cmipci *cm, unsigned int rate, unsigned in | |||
666 | unsigned int reg = CM_REG_PLL + slot; | 666 | unsigned int reg = CM_REG_PLL + slot; |
667 | /* | 667 | /* |
668 | * Guess that this programs at reg. 0x04 the pos 15:13/12:10 | 668 | * Guess that this programs at reg. 0x04 the pos 15:13/12:10 |
669 | * for DSFC/ASFC (000 upto 111). | 669 | * for DSFC/ASFC (000 up to 111). |
670 | */ | 670 | */ |
671 | 671 | ||
672 | /* FIXME: Init (Do we've to set an other register first before programming?) */ | 672 | /* FIXME: Init (Do we've to set an other register first before programming?) */ |
diff --git a/sound/pci/ctxfi/ctatc.c b/sound/pci/ctxfi/ctatc.c index b9321544c31c..13f33c0719d3 100644 --- a/sound/pci/ctxfi/ctatc.c +++ b/sound/pci/ctxfi/ctatc.c | |||
@@ -1627,7 +1627,7 @@ static struct ct_atc atc_preset __devinitdata = { | |||
1627 | * Creates and initializes a hardware manager. | 1627 | * Creates and initializes a hardware manager. |
1628 | * | 1628 | * |
1629 | * Creates kmallocated ct_atc structure. Initializes hardware. | 1629 | * Creates kmallocated ct_atc structure. Initializes hardware. |
1630 | * Returns 0 if suceeds, or negative error code if fails. | 1630 | * Returns 0 if succeeds, or negative error code if fails. |
1631 | */ | 1631 | */ |
1632 | 1632 | ||
1633 | int __devinit ct_atc_create(struct snd_card *card, struct pci_dev *pci, | 1633 | int __devinit ct_atc_create(struct snd_card *card, struct pci_dev *pci, |
diff --git a/sound/pci/ctxfi/cthw20k1.c b/sound/pci/ctxfi/cthw20k1.c index 0cf400f879f9..a5c957db5cea 100644 --- a/sound/pci/ctxfi/cthw20k1.c +++ b/sound/pci/ctxfi/cthw20k1.c | |||
@@ -1285,7 +1285,7 @@ static int hw_trn_init(struct hw *hw, const struct trn_conf *info) | |||
1285 | hw_write_20kx(hw, PTPALX, ptp_phys_low); | 1285 | hw_write_20kx(hw, PTPALX, ptp_phys_low); |
1286 | hw_write_20kx(hw, PTPAHX, ptp_phys_high); | 1286 | hw_write_20kx(hw, PTPAHX, ptp_phys_high); |
1287 | hw_write_20kx(hw, TRNCTL, trnctl); | 1287 | hw_write_20kx(hw, TRNCTL, trnctl); |
1288 | hw_write_20kx(hw, TRNIS, 0x200c01); /* realy needed? */ | 1288 | hw_write_20kx(hw, TRNIS, 0x200c01); /* really needed? */ |
1289 | 1289 | ||
1290 | return 0; | 1290 | return 0; |
1291 | } | 1291 | } |
diff --git a/sound/pci/emu10k1/memory.c b/sound/pci/emu10k1/memory.c index 957a311514c8..c250614dadd0 100644 --- a/sound/pci/emu10k1/memory.c +++ b/sound/pci/emu10k1/memory.c | |||
@@ -248,7 +248,7 @@ static int is_valid_page(struct snd_emu10k1 *emu, dma_addr_t addr) | |||
248 | /* | 248 | /* |
249 | * map the given memory block on PTB. | 249 | * map the given memory block on PTB. |
250 | * if the block is already mapped, update the link order. | 250 | * if the block is already mapped, update the link order. |
251 | * if no empty pages are found, tries to release unsed memory blocks | 251 | * if no empty pages are found, tries to release unused memory blocks |
252 | * and retry the mapping. | 252 | * and retry the mapping. |
253 | */ | 253 | */ |
254 | int snd_emu10k1_memblk_map(struct snd_emu10k1 *emu, struct snd_emu10k1_memblk *blk) | 254 | int snd_emu10k1_memblk_map(struct snd_emu10k1 *emu, struct snd_emu10k1_memblk *blk) |
diff --git a/sound/pci/emu10k1/p16v.c b/sound/pci/emu10k1/p16v.c index 61b8ab39800f..a81dc44228ea 100644 --- a/sound/pci/emu10k1/p16v.c +++ b/sound/pci/emu10k1/p16v.c | |||
@@ -69,7 +69,7 @@ | |||
69 | * ADC: Philips 1361T (Stereo 24bit) | 69 | * ADC: Philips 1361T (Stereo 24bit) |
70 | * DAC: CS4382-K (8-channel, 24bit, 192Khz) | 70 | * DAC: CS4382-K (8-channel, 24bit, 192Khz) |
71 | * | 71 | * |
72 | * This code was initally based on code from ALSA's emu10k1x.c which is: | 72 | * This code was initially based on code from ALSA's emu10k1x.c which is: |
73 | * Copyright (c) by Francisco Moraes <fmoraes@nc.rr.com> | 73 | * Copyright (c) by Francisco Moraes <fmoraes@nc.rr.com> |
74 | * | 74 | * |
75 | * This program is free software; you can redistribute it and/or modify | 75 | * This program is free software; you can redistribute it and/or modify |
diff --git a/sound/pci/emu10k1/p16v.h b/sound/pci/emu10k1/p16v.h index 00f4817533b1..4e0ee1a9747a 100644 --- a/sound/pci/emu10k1/p16v.h +++ b/sound/pci/emu10k1/p16v.h | |||
@@ -59,7 +59,7 @@ | |||
59 | * ADC: Philips 1361T (Stereo 24bit) | 59 | * ADC: Philips 1361T (Stereo 24bit) |
60 | * DAC: CS4382-K (8-channel, 24bit, 192Khz) | 60 | * DAC: CS4382-K (8-channel, 24bit, 192Khz) |
61 | * | 61 | * |
62 | * This code was initally based on code from ALSA's emu10k1x.c which is: | 62 | * This code was initially based on code from ALSA's emu10k1x.c which is: |
63 | * Copyright (c) by Francisco Moraes <fmoraes@nc.rr.com> | 63 | * Copyright (c) by Francisco Moraes <fmoraes@nc.rr.com> |
64 | * | 64 | * |
65 | * This program is free software; you can redistribute it and/or modify | 65 | * This program is free software; you can redistribute it and/or modify |
@@ -86,7 +86,7 @@ | |||
86 | * The sample rate is also controlled by the same registers that control the rate of the EMU10K2 sample rate converters. | 86 | * The sample rate is also controlled by the same registers that control the rate of the EMU10K2 sample rate converters. |
87 | */ | 87 | */ |
88 | 88 | ||
89 | /* Initally all registers from 0x00 to 0x3f have zero contents. */ | 89 | /* Initially all registers from 0x00 to 0x3f have zero contents. */ |
90 | #define PLAYBACK_LIST_ADDR 0x00 /* Base DMA address of a list of pointers to each period/size */ | 90 | #define PLAYBACK_LIST_ADDR 0x00 /* Base DMA address of a list of pointers to each period/size */ |
91 | /* One list entry: 4 bytes for DMA address, | 91 | /* One list entry: 4 bytes for DMA address, |
92 | * 4 bytes for period_size << 16. | 92 | * 4 bytes for period_size << 16. |
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c index 10f429f96163..2c40e415852b 100644 --- a/sound/pci/hda/hda_codec.c +++ b/sound/pci/hda/hda_codec.c | |||
@@ -3730,7 +3730,7 @@ int snd_hda_codec_build_pcms(struct hda_codec *codec) | |||
3730 | * with the proper parameters for set up. | 3730 | * with the proper parameters for set up. |
3731 | * ops.cleanup should be called in hw_free for clean up of streams. | 3731 | * ops.cleanup should be called in hw_free for clean up of streams. |
3732 | * | 3732 | * |
3733 | * This function returns 0 if successfull, or a negative error code. | 3733 | * This function returns 0 if successful, or a negative error code. |
3734 | */ | 3734 | */ |
3735 | int __devinit snd_hda_build_pcms(struct hda_bus *bus) | 3735 | int __devinit snd_hda_build_pcms(struct hda_bus *bus) |
3736 | { | 3736 | { |
@@ -4923,7 +4923,7 @@ EXPORT_SYMBOL_HDA(snd_hda_suspend); | |||
4923 | * | 4923 | * |
4924 | * Returns 0 if successful. | 4924 | * Returns 0 if successful. |
4925 | * | 4925 | * |
4926 | * This fucntion is defined only when POWER_SAVE isn't set. | 4926 | * This function is defined only when POWER_SAVE isn't set. |
4927 | * In the power-save mode, the codec is resumed dynamically. | 4927 | * In the power-save mode, the codec is resumed dynamically. |
4928 | */ | 4928 | */ |
4929 | int snd_hda_resume(struct hda_bus *bus) | 4929 | int snd_hda_resume(struct hda_bus *bus) |
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index faede0f49cca..46959159a77e 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -575,7 +575,7 @@ static int alc_ch_mode_put(struct snd_kcontrol *kcontrol, | |||
575 | 575 | ||
576 | /* | 576 | /* |
577 | * Control the mode of pin widget settings via the mixer. "pc" is used | 577 | * Control the mode of pin widget settings via the mixer. "pc" is used |
578 | * instead of "%" to avoid consequences of accidently treating the % as | 578 | * instead of "%" to avoid consequences of accidentally treating the % as |
579 | * being part of a format specifier. Maximum allowed length of a value is | 579 | * being part of a format specifier. Maximum allowed length of a value is |
580 | * 63 characters plus NULL terminator. | 580 | * 63 characters plus NULL terminator. |
581 | * | 581 | * |
@@ -5896,6 +5896,7 @@ static void fillup_priv_adc_nids(struct hda_codec *codec, hda_nid_t *nids, | |||
5896 | static struct snd_pci_quirk beep_white_list[] = { | 5896 | static struct snd_pci_quirk beep_white_list[] = { |
5897 | SND_PCI_QUIRK(0x1043, 0x829f, "ASUS", 1), | 5897 | SND_PCI_QUIRK(0x1043, 0x829f, "ASUS", 1), |
5898 | SND_PCI_QUIRK(0x1043, 0x83ce, "EeePC", 1), | 5898 | SND_PCI_QUIRK(0x1043, 0x83ce, "EeePC", 1), |
5899 | SND_PCI_QUIRK(0x1043, 0x831a, "EeePC", 1), | ||
5899 | SND_PCI_QUIRK(0x8086, 0xd613, "Intel", 1), | 5900 | SND_PCI_QUIRK(0x8086, 0xd613, "Intel", 1), |
5900 | {} | 5901 | {} |
5901 | }; | 5902 | }; |
@@ -10066,7 +10067,7 @@ static struct snd_pci_quirk alc882_cfg_tbl[] = { | |||
10066 | 10067 | ||
10067 | SND_PCI_QUIRK(0x1028, 0x020d, "Dell Inspiron 530", ALC888_6ST_DELL), | 10068 | SND_PCI_QUIRK(0x1028, 0x020d, "Dell Inspiron 530", ALC888_6ST_DELL), |
10068 | 10069 | ||
10069 | SND_PCI_QUIRK(0x103c, 0x2a3d, "HP Pavillion", ALC883_6ST_DIG), | 10070 | SND_PCI_QUIRK(0x103c, 0x2a3d, "HP Pavilion", ALC883_6ST_DIG), |
10070 | SND_PCI_QUIRK(0x103c, 0x2a4f, "HP Samba", ALC888_3ST_HP), | 10071 | SND_PCI_QUIRK(0x103c, 0x2a4f, "HP Samba", ALC888_3ST_HP), |
10071 | SND_PCI_QUIRK(0x103c, 0x2a60, "HP Lucknow", ALC888_3ST_HP), | 10072 | SND_PCI_QUIRK(0x103c, 0x2a60, "HP Lucknow", ALC888_3ST_HP), |
10072 | SND_PCI_QUIRK(0x103c, 0x2a61, "HP Nettle", ALC883_6ST_DIG), | 10073 | SND_PCI_QUIRK(0x103c, 0x2a61, "HP Nettle", ALC883_6ST_DIG), |
@@ -10093,6 +10094,7 @@ static struct snd_pci_quirk alc882_cfg_tbl[] = { | |||
10093 | SND_PCI_QUIRK(0x1071, 0x8258, "Evesham Voyaeger", ALC883_LAPTOP_EAPD), | 10094 | SND_PCI_QUIRK(0x1071, 0x8258, "Evesham Voyaeger", ALC883_LAPTOP_EAPD), |
10094 | SND_PCI_QUIRK(0x10f1, 0x2350, "TYAN-S2350", ALC888_6ST_DELL), | 10095 | SND_PCI_QUIRK(0x10f1, 0x2350, "TYAN-S2350", ALC888_6ST_DELL), |
10095 | SND_PCI_QUIRK(0x108e, 0x534d, NULL, ALC883_3ST_6ch), | 10096 | SND_PCI_QUIRK(0x108e, 0x534d, NULL, ALC883_3ST_6ch), |
10097 | SND_PCI_QUIRK(0x1458, 0xa002, "Gigabyte P35 DS3R", ALC882_6ST_DIG), | ||
10096 | 10098 | ||
10097 | SND_PCI_QUIRK(0x1462, 0x0349, "MSI", ALC883_TARGA_2ch_DIG), | 10099 | SND_PCI_QUIRK(0x1462, 0x0349, "MSI", ALC883_TARGA_2ch_DIG), |
10098 | SND_PCI_QUIRK(0x1462, 0x040d, "MSI", ALC883_TARGA_2ch_DIG), | 10100 | SND_PCI_QUIRK(0x1462, 0x040d, "MSI", ALC883_TARGA_2ch_DIG), |
@@ -10931,7 +10933,6 @@ enum { | |||
10931 | PINFIX_LENOVO_Y530, | 10933 | PINFIX_LENOVO_Y530, |
10932 | PINFIX_PB_M5210, | 10934 | PINFIX_PB_M5210, |
10933 | PINFIX_ACER_ASPIRE_7736, | 10935 | PINFIX_ACER_ASPIRE_7736, |
10934 | PINFIX_GIGABYTE_880GM, | ||
10935 | }; | 10936 | }; |
10936 | 10937 | ||
10937 | static const struct alc_fixup alc882_fixups[] = { | 10938 | static const struct alc_fixup alc882_fixups[] = { |
@@ -10963,13 +10964,6 @@ static const struct alc_fixup alc882_fixups[] = { | |||
10963 | .type = ALC_FIXUP_SKU, | 10964 | .type = ALC_FIXUP_SKU, |
10964 | .v.sku = ALC_FIXUP_SKU_IGNORE, | 10965 | .v.sku = ALC_FIXUP_SKU_IGNORE, |
10965 | }, | 10966 | }, |
10966 | [PINFIX_GIGABYTE_880GM] = { | ||
10967 | .type = ALC_FIXUP_PINS, | ||
10968 | .v.pins = (const struct alc_pincfg[]) { | ||
10969 | { 0x14, 0x1114410 }, /* set as speaker */ | ||
10970 | { } | ||
10971 | } | ||
10972 | }, | ||
10973 | }; | 10967 | }; |
10974 | 10968 | ||
10975 | static struct snd_pci_quirk alc882_fixup_tbl[] = { | 10969 | static struct snd_pci_quirk alc882_fixup_tbl[] = { |
@@ -10977,7 +10971,6 @@ static struct snd_pci_quirk alc882_fixup_tbl[] = { | |||
10977 | SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo Y530", PINFIX_LENOVO_Y530), | 10971 | SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo Y530", PINFIX_LENOVO_Y530), |
10978 | SND_PCI_QUIRK(0x147b, 0x107a, "Abit AW9D-MAX", PINFIX_ABIT_AW9D_MAX), | 10972 | SND_PCI_QUIRK(0x147b, 0x107a, "Abit AW9D-MAX", PINFIX_ABIT_AW9D_MAX), |
10979 | SND_PCI_QUIRK(0x1025, 0x0296, "Acer Aspire 7736z", PINFIX_ACER_ASPIRE_7736), | 10973 | SND_PCI_QUIRK(0x1025, 0x0296, "Acer Aspire 7736z", PINFIX_ACER_ASPIRE_7736), |
10980 | SND_PCI_QUIRK(0x1458, 0xa002, "Gigabyte", PINFIX_GIGABYTE_880GM), | ||
10981 | {} | 10974 | {} |
10982 | }; | 10975 | }; |
10983 | 10976 | ||
@@ -18489,6 +18482,8 @@ static struct snd_pci_quirk alc662_cfg_tbl[] = { | |||
18489 | ALC662_3ST_6ch_DIG), | 18482 | ALC662_3ST_6ch_DIG), |
18490 | SND_PCI_QUIRK(0x1179, 0xff6e, "Toshiba NB20x", ALC662_AUTO), | 18483 | SND_PCI_QUIRK(0x1179, 0xff6e, "Toshiba NB20x", ALC662_AUTO), |
18491 | SND_PCI_QUIRK(0x144d, 0xca00, "Samsung NC10", ALC272_SAMSUNG_NC10), | 18484 | SND_PCI_QUIRK(0x144d, 0xca00, "Samsung NC10", ALC272_SAMSUNG_NC10), |
18485 | SND_PCI_QUIRK(0x1458, 0xa002, "Gigabyte 945GCM-S2L", | ||
18486 | ALC662_3ST_6ch_DIG), | ||
18492 | SND_PCI_QUIRK(0x152d, 0x2304, "Quanta WH1", ALC663_ASUS_H13), | 18487 | SND_PCI_QUIRK(0x152d, 0x2304, "Quanta WH1", ALC663_ASUS_H13), |
18493 | SND_PCI_QUIRK(0x1565, 0x820f, "Biostar TA780G M2+", ALC662_3ST_6ch_DIG), | 18488 | SND_PCI_QUIRK(0x1565, 0x820f, "Biostar TA780G M2+", ALC662_3ST_6ch_DIG), |
18494 | SND_PCI_QUIRK(0x1631, 0xc10c, "PB RS65", ALC663_ASUS_M51VA), | 18489 | SND_PCI_QUIRK(0x1631, 0xc10c, "PB RS65", ALC663_ASUS_M51VA), |
@@ -19387,7 +19382,7 @@ enum { | |||
19387 | ALC662_FIXUP_IDEAPAD, | 19382 | ALC662_FIXUP_IDEAPAD, |
19388 | ALC272_FIXUP_MARIO, | 19383 | ALC272_FIXUP_MARIO, |
19389 | ALC662_FIXUP_CZC_P10T, | 19384 | ALC662_FIXUP_CZC_P10T, |
19390 | ALC662_FIXUP_GIGABYTE, | 19385 | ALC662_FIXUP_SKU_IGNORE, |
19391 | }; | 19386 | }; |
19392 | 19387 | ||
19393 | static const struct alc_fixup alc662_fixups[] = { | 19388 | static const struct alc_fixup alc662_fixups[] = { |
@@ -19416,20 +19411,17 @@ static const struct alc_fixup alc662_fixups[] = { | |||
19416 | {} | 19411 | {} |
19417 | } | 19412 | } |
19418 | }, | 19413 | }, |
19419 | [ALC662_FIXUP_GIGABYTE] = { | 19414 | [ALC662_FIXUP_SKU_IGNORE] = { |
19420 | .type = ALC_FIXUP_PINS, | 19415 | .type = ALC_FIXUP_SKU, |
19421 | .v.pins = (const struct alc_pincfg[]) { | 19416 | .v.sku = ALC_FIXUP_SKU_IGNORE, |
19422 | { 0x14, 0x1114410 }, /* set as speaker */ | ||
19423 | { } | ||
19424 | } | ||
19425 | }, | 19417 | }, |
19426 | }; | 19418 | }; |
19427 | 19419 | ||
19428 | static struct snd_pci_quirk alc662_fixup_tbl[] = { | 19420 | static struct snd_pci_quirk alc662_fixup_tbl[] = { |
19429 | SND_PCI_QUIRK(0x1025, 0x0308, "Acer Aspire 8942G", ALC662_FIXUP_ASPIRE), | 19421 | SND_PCI_QUIRK(0x1025, 0x0308, "Acer Aspire 8942G", ALC662_FIXUP_ASPIRE), |
19422 | SND_PCI_QUIRK(0x1025, 0x031c, "Gateway NV79", ALC662_FIXUP_SKU_IGNORE), | ||
19430 | SND_PCI_QUIRK(0x1025, 0x038b, "Acer Aspire 8943G", ALC662_FIXUP_ASPIRE), | 19423 | SND_PCI_QUIRK(0x1025, 0x038b, "Acer Aspire 8943G", ALC662_FIXUP_ASPIRE), |
19431 | SND_PCI_QUIRK(0x144d, 0xc051, "Samsung R720", ALC662_FIXUP_IDEAPAD), | 19424 | SND_PCI_QUIRK(0x144d, 0xc051, "Samsung R720", ALC662_FIXUP_IDEAPAD), |
19432 | SND_PCI_QUIRK(0x1458, 0xa002, "Gigabyte", ALC662_FIXUP_GIGABYTE), | ||
19433 | SND_PCI_QUIRK(0x17aa, 0x38af, "Lenovo Ideapad Y550P", ALC662_FIXUP_IDEAPAD), | 19425 | SND_PCI_QUIRK(0x17aa, 0x38af, "Lenovo Ideapad Y550P", ALC662_FIXUP_IDEAPAD), |
19434 | SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo Ideapad Y550", ALC662_FIXUP_IDEAPAD), | 19426 | SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo Ideapad Y550", ALC662_FIXUP_IDEAPAD), |
19435 | SND_PCI_QUIRK(0x1b35, 0x2206, "CZC P10T", ALC662_FIXUP_CZC_P10T), | 19427 | SND_PCI_QUIRK(0x1b35, 0x2206, "CZC P10T", ALC662_FIXUP_CZC_P10T), |
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 6c5af3e77d86..2b590d92ff90 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c | |||
@@ -2475,7 +2475,7 @@ static int stac92xx_hp_switch_put(struct snd_kcontrol *kcontrol, | |||
2475 | 2475 | ||
2476 | spec->hp_switch = ucontrol->value.integer.value[0] ? nid : 0; | 2476 | spec->hp_switch = ucontrol->value.integer.value[0] ? nid : 0; |
2477 | 2477 | ||
2478 | /* check to be sure that the ports are upto date with | 2478 | /* check to be sure that the ports are up to date with |
2479 | * switch changes | 2479 | * switch changes |
2480 | */ | 2480 | */ |
2481 | stac_issue_unsol_event(codec, nid); | 2481 | stac_issue_unsol_event(codec, nid); |
diff --git a/sound/pci/hda/patch_via.c b/sound/pci/hda/patch_via.c index 62fe64c419d5..6a51ffb266f9 100644 --- a/sound/pci/hda/patch_via.c +++ b/sound/pci/hda/patch_via.c | |||
@@ -844,14 +844,18 @@ static void notify_aa_path_ctls(struct hda_codec *codec) | |||
844 | { | 844 | { |
845 | int i; | 845 | int i; |
846 | struct snd_ctl_elem_id id; | 846 | struct snd_ctl_elem_id id; |
847 | const char *labels[] = {"Mic", "Front Mic", "Line"}; | 847 | const char *labels[] = {"Mic", "Front Mic", "Line", "Rear Mic"}; |
848 | struct snd_kcontrol *ctl; | ||
848 | 849 | ||
849 | memset(&id, 0, sizeof(id)); | 850 | memset(&id, 0, sizeof(id)); |
850 | id.iface = SNDRV_CTL_ELEM_IFACE_MIXER; | 851 | id.iface = SNDRV_CTL_ELEM_IFACE_MIXER; |
851 | for (i = 0; i < ARRAY_SIZE(labels); i++) { | 852 | for (i = 0; i < ARRAY_SIZE(labels); i++) { |
852 | sprintf(id.name, "%s Playback Volume", labels[i]); | 853 | sprintf(id.name, "%s Playback Volume", labels[i]); |
853 | snd_ctl_notify(codec->bus->card, SNDRV_CTL_EVENT_MASK_VALUE, | 854 | ctl = snd_hda_find_mixer_ctl(codec, id.name); |
854 | &id); | 855 | if (ctl) |
856 | snd_ctl_notify(codec->bus->card, | ||
857 | SNDRV_CTL_EVENT_MASK_VALUE, | ||
858 | &ctl->id); | ||
855 | } | 859 | } |
856 | } | 860 | } |
857 | 861 | ||
diff --git a/sound/pci/ice1712/aureon.c b/sound/pci/ice1712/aureon.c index 2f6252266a02..3e4f8c12ffce 100644 --- a/sound/pci/ice1712/aureon.c +++ b/sound/pci/ice1712/aureon.c | |||
@@ -148,7 +148,7 @@ static void aureon_pca9554_write(struct snd_ice1712 *ice, unsigned char reg, | |||
148 | udelay(100); | 148 | udelay(100); |
149 | /* | 149 | /* |
150 | * send device address, command and value, | 150 | * send device address, command and value, |
151 | * skipping ack cycles inbetween | 151 | * skipping ack cycles in between |
152 | */ | 152 | */ |
153 | for (j = 0; j < 3; j++) { | 153 | for (j = 0; j < 3; j++) { |
154 | switch (j) { | 154 | switch (j) { |
@@ -2143,7 +2143,7 @@ static int __devinit aureon_init(struct snd_ice1712 *ice) | |||
2143 | ice->num_total_adcs = 2; | 2143 | ice->num_total_adcs = 2; |
2144 | } | 2144 | } |
2145 | 2145 | ||
2146 | /* to remeber the register values of CS8415 */ | 2146 | /* to remember the register values of CS8415 */ |
2147 | ice->akm = kzalloc(sizeof(struct snd_akm4xxx), GFP_KERNEL); | 2147 | ice->akm = kzalloc(sizeof(struct snd_akm4xxx), GFP_KERNEL); |
2148 | if (!ice->akm) | 2148 | if (!ice->akm) |
2149 | return -ENOMEM; | 2149 | return -ENOMEM; |
diff --git a/sound/pci/ice1712/ice1712.c b/sound/pci/ice1712/ice1712.c index 4fc6d8bc637e..f4594d76b6ea 100644 --- a/sound/pci/ice1712/ice1712.c +++ b/sound/pci/ice1712/ice1712.c | |||
@@ -2755,7 +2755,7 @@ static int __devinit snd_ice1712_probe(struct pci_dev *pci, | |||
2755 | return err; | 2755 | return err; |
2756 | } | 2756 | } |
2757 | if (c->mpu401_1_name) | 2757 | if (c->mpu401_1_name) |
2758 | /* Prefered name available in card_info */ | 2758 | /* Preferred name available in card_info */ |
2759 | snprintf(ice->rmidi[0]->name, | 2759 | snprintf(ice->rmidi[0]->name, |
2760 | sizeof(ice->rmidi[0]->name), | 2760 | sizeof(ice->rmidi[0]->name), |
2761 | "%s %d", c->mpu401_1_name, card->number); | 2761 | "%s %d", c->mpu401_1_name, card->number); |
@@ -2772,7 +2772,7 @@ static int __devinit snd_ice1712_probe(struct pci_dev *pci, | |||
2772 | return err; | 2772 | return err; |
2773 | } | 2773 | } |
2774 | if (c->mpu401_2_name) | 2774 | if (c->mpu401_2_name) |
2775 | /* Prefered name available in card_info */ | 2775 | /* Preferred name available in card_info */ |
2776 | snprintf(ice->rmidi[1]->name, | 2776 | snprintf(ice->rmidi[1]->name, |
2777 | sizeof(ice->rmidi[1]->name), | 2777 | sizeof(ice->rmidi[1]->name), |
2778 | "%s %d", c->mpu401_2_name, | 2778 | "%s %d", c->mpu401_2_name, |
diff --git a/sound/pci/ice1712/pontis.c b/sound/pci/ice1712/pontis.c index cdb873f5da50..92c1160d7ab5 100644 --- a/sound/pci/ice1712/pontis.c +++ b/sound/pci/ice1712/pontis.c | |||
@@ -768,7 +768,7 @@ static int __devinit pontis_init(struct snd_ice1712 *ice) | |||
768 | ice->num_total_dacs = 2; | 768 | ice->num_total_dacs = 2; |
769 | ice->num_total_adcs = 2; | 769 | ice->num_total_adcs = 2; |
770 | 770 | ||
771 | /* to remeber the register values */ | 771 | /* to remember the register values */ |
772 | ice->akm = kzalloc(sizeof(struct snd_akm4xxx), GFP_KERNEL); | 772 | ice->akm = kzalloc(sizeof(struct snd_akm4xxx), GFP_KERNEL); |
773 | if (! ice->akm) | 773 | if (! ice->akm) |
774 | return -ENOMEM; | 774 | return -ENOMEM; |
diff --git a/sound/pci/ice1712/prodigy_hifi.c b/sound/pci/ice1712/prodigy_hifi.c index 6a9fee3ee78f..764cc93dbca4 100644 --- a/sound/pci/ice1712/prodigy_hifi.c +++ b/sound/pci/ice1712/prodigy_hifi.c | |||
@@ -1046,7 +1046,7 @@ static int __devinit prodigy_hifi_init(struct snd_ice1712 *ice) | |||
1046 | * don't call snd_ice1712_gpio_get/put(), otherwise it's overwritten | 1046 | * don't call snd_ice1712_gpio_get/put(), otherwise it's overwritten |
1047 | */ | 1047 | */ |
1048 | ice->gpio.saved[0] = 0; | 1048 | ice->gpio.saved[0] = 0; |
1049 | /* to remeber the register values */ | 1049 | /* to remember the register values */ |
1050 | 1050 | ||
1051 | ice->akm = kzalloc(sizeof(struct snd_akm4xxx), GFP_KERNEL); | 1051 | ice->akm = kzalloc(sizeof(struct snd_akm4xxx), GFP_KERNEL); |
1052 | if (! ice->akm) | 1052 | if (! ice->akm) |
@@ -1128,7 +1128,7 @@ static int __devinit prodigy_hd2_init(struct snd_ice1712 *ice) | |||
1128 | * don't call snd_ice1712_gpio_get/put(), otherwise it's overwritten | 1128 | * don't call snd_ice1712_gpio_get/put(), otherwise it's overwritten |
1129 | */ | 1129 | */ |
1130 | ice->gpio.saved[0] = 0; | 1130 | ice->gpio.saved[0] = 0; |
1131 | /* to remeber the register values */ | 1131 | /* to remember the register values */ |
1132 | 1132 | ||
1133 | ice->akm = kzalloc(sizeof(struct snd_akm4xxx), GFP_KERNEL); | 1133 | ice->akm = kzalloc(sizeof(struct snd_akm4xxx), GFP_KERNEL); |
1134 | if (! ice->akm) | 1134 | if (! ice->akm) |
diff --git a/sound/pci/intel8x0.c b/sound/pci/intel8x0.c index 629a5494347a..6c896dbfd796 100644 --- a/sound/pci/intel8x0.c +++ b/sound/pci/intel8x0.c | |||
@@ -534,7 +534,7 @@ static int snd_intel8x0_codec_semaphore(struct intel8x0 *chip, unsigned int code | |||
534 | udelay(10); | 534 | udelay(10); |
535 | } while (time--); | 535 | } while (time--); |
536 | 536 | ||
537 | /* access to some forbidden (non existant) ac97 registers will not | 537 | /* access to some forbidden (non existent) ac97 registers will not |
538 | * reset the semaphore. So even if you don't get the semaphore, still | 538 | * reset the semaphore. So even if you don't get the semaphore, still |
539 | * continue the access. We don't need the semaphore anyway. */ | 539 | * continue the access. We don't need the semaphore anyway. */ |
540 | snd_printk(KERN_ERR "codec_semaphore: semaphore is not ready [0x%x][0x%x]\n", | 540 | snd_printk(KERN_ERR "codec_semaphore: semaphore is not ready [0x%x][0x%x]\n", |
diff --git a/sound/pci/intel8x0m.c b/sound/pci/intel8x0m.c index 2ae8d29500a8..27709f0cd2a6 100644 --- a/sound/pci/intel8x0m.c +++ b/sound/pci/intel8x0m.c | |||
@@ -331,7 +331,7 @@ static int snd_intel8x0m_codec_semaphore(struct intel8x0m *chip, unsigned int co | |||
331 | udelay(10); | 331 | udelay(10); |
332 | } while (time--); | 332 | } while (time--); |
333 | 333 | ||
334 | /* access to some forbidden (non existant) ac97 registers will not | 334 | /* access to some forbidden (non existent) ac97 registers will not |
335 | * reset the semaphore. So even if you don't get the semaphore, still | 335 | * reset the semaphore. So even if you don't get the semaphore, still |
336 | * continue the access. We don't need the semaphore anyway. */ | 336 | * continue the access. We don't need the semaphore anyway. */ |
337 | snd_printk(KERN_ERR "codec_semaphore: semaphore is not ready [0x%x][0x%x]\n", | 337 | snd_printk(KERN_ERR "codec_semaphore: semaphore is not ready [0x%x][0x%x]\n", |
diff --git a/sound/pci/mixart/mixart_core.c b/sound/pci/mixart/mixart_core.c index d3350f383966..3df0f530f67c 100644 --- a/sound/pci/mixart/mixart_core.c +++ b/sound/pci/mixart/mixart_core.c | |||
@@ -265,7 +265,7 @@ int snd_mixart_send_msg(struct mixart_mgr *mgr, struct mixart_msg *request, int | |||
265 | if (! timeout) { | 265 | if (! timeout) { |
266 | /* error - no ack */ | 266 | /* error - no ack */ |
267 | mutex_unlock(&mgr->msg_mutex); | 267 | mutex_unlock(&mgr->msg_mutex); |
268 | snd_printk(KERN_ERR "error: no reponse on msg %x\n", msg_frame); | 268 | snd_printk(KERN_ERR "error: no response on msg %x\n", msg_frame); |
269 | return -EIO; | 269 | return -EIO; |
270 | } | 270 | } |
271 | 271 | ||
@@ -278,7 +278,7 @@ int snd_mixart_send_msg(struct mixart_mgr *mgr, struct mixart_msg *request, int | |||
278 | err = get_msg(mgr, &resp, msg_frame); | 278 | err = get_msg(mgr, &resp, msg_frame); |
279 | 279 | ||
280 | if( request->message_id != resp.message_id ) | 280 | if( request->message_id != resp.message_id ) |
281 | snd_printk(KERN_ERR "REPONSE ERROR!\n"); | 281 | snd_printk(KERN_ERR "RESPONSE ERROR!\n"); |
282 | 282 | ||
283 | mutex_unlock(&mgr->msg_mutex); | 283 | mutex_unlock(&mgr->msg_mutex); |
284 | return err; | 284 | return err; |
diff --git a/sound/pci/pcxhr/pcxhr_core.c b/sound/pci/pcxhr/pcxhr_core.c index 833e7180ad2d..304411c1fe4b 100644 --- a/sound/pci/pcxhr/pcxhr_core.c +++ b/sound/pci/pcxhr/pcxhr_core.c | |||
@@ -1042,11 +1042,11 @@ void pcxhr_msg_tasklet(unsigned long arg) | |||
1042 | int i, j; | 1042 | int i, j; |
1043 | 1043 | ||
1044 | if (mgr->src_it_dsp & PCXHR_IRQ_FREQ_CHANGE) | 1044 | if (mgr->src_it_dsp & PCXHR_IRQ_FREQ_CHANGE) |
1045 | snd_printdd("TASKLET : PCXHR_IRQ_FREQ_CHANGE event occured\n"); | 1045 | snd_printdd("TASKLET : PCXHR_IRQ_FREQ_CHANGE event occurred\n"); |
1046 | if (mgr->src_it_dsp & PCXHR_IRQ_TIME_CODE) | 1046 | if (mgr->src_it_dsp & PCXHR_IRQ_TIME_CODE) |
1047 | snd_printdd("TASKLET : PCXHR_IRQ_TIME_CODE event occured\n"); | 1047 | snd_printdd("TASKLET : PCXHR_IRQ_TIME_CODE event occurred\n"); |
1048 | if (mgr->src_it_dsp & PCXHR_IRQ_NOTIFY) | 1048 | if (mgr->src_it_dsp & PCXHR_IRQ_NOTIFY) |
1049 | snd_printdd("TASKLET : PCXHR_IRQ_NOTIFY event occured\n"); | 1049 | snd_printdd("TASKLET : PCXHR_IRQ_NOTIFY event occurred\n"); |
1050 | if (mgr->src_it_dsp & (PCXHR_IRQ_FREQ_CHANGE | PCXHR_IRQ_TIME_CODE)) { | 1050 | if (mgr->src_it_dsp & (PCXHR_IRQ_FREQ_CHANGE | PCXHR_IRQ_TIME_CODE)) { |
1051 | /* clear events FREQ_CHANGE and TIME_CODE */ | 1051 | /* clear events FREQ_CHANGE and TIME_CODE */ |
1052 | pcxhr_init_rmh(prmh, CMD_TEST_IT); | 1052 | pcxhr_init_rmh(prmh, CMD_TEST_IT); |
@@ -1055,7 +1055,7 @@ void pcxhr_msg_tasklet(unsigned long arg) | |||
1055 | err, prmh->stat[0]); | 1055 | err, prmh->stat[0]); |
1056 | } | 1056 | } |
1057 | if (mgr->src_it_dsp & PCXHR_IRQ_ASYNC) { | 1057 | if (mgr->src_it_dsp & PCXHR_IRQ_ASYNC) { |
1058 | snd_printdd("TASKLET : PCXHR_IRQ_ASYNC event occured\n"); | 1058 | snd_printdd("TASKLET : PCXHR_IRQ_ASYNC event occurred\n"); |
1059 | 1059 | ||
1060 | pcxhr_init_rmh(prmh, CMD_ASYNC); | 1060 | pcxhr_init_rmh(prmh, CMD_ASYNC); |
1061 | prmh->cmd[0] |= 1; /* add SEL_ASYNC_EVENTS */ | 1061 | prmh->cmd[0] |= 1; /* add SEL_ASYNC_EVENTS */ |
@@ -1233,7 +1233,7 @@ irqreturn_t pcxhr_interrupt(int irq, void *dev_id) | |||
1233 | reg = PCXHR_INPL(mgr, PCXHR_PLX_L2PCIDB); | 1233 | reg = PCXHR_INPL(mgr, PCXHR_PLX_L2PCIDB); |
1234 | PCXHR_OUTPL(mgr, PCXHR_PLX_L2PCIDB, reg); | 1234 | PCXHR_OUTPL(mgr, PCXHR_PLX_L2PCIDB, reg); |
1235 | 1235 | ||
1236 | /* timer irq occured */ | 1236 | /* timer irq occurred */ |
1237 | if (reg & PCXHR_IRQ_TIMER) { | 1237 | if (reg & PCXHR_IRQ_TIMER) { |
1238 | int timer_toggle = reg & PCXHR_IRQ_TIMER; | 1238 | int timer_toggle = reg & PCXHR_IRQ_TIMER; |
1239 | /* is a 24 bit counter */ | 1239 | /* is a 24 bit counter */ |
@@ -1288,7 +1288,7 @@ irqreturn_t pcxhr_interrupt(int irq, void *dev_id) | |||
1288 | if (reg & PCXHR_IRQ_MASK) { | 1288 | if (reg & PCXHR_IRQ_MASK) { |
1289 | if (reg & PCXHR_IRQ_ASYNC) { | 1289 | if (reg & PCXHR_IRQ_ASYNC) { |
1290 | /* as we didn't request any async notifications, | 1290 | /* as we didn't request any async notifications, |
1291 | * some kind of xrun error will probably occured | 1291 | * some kind of xrun error will probably occurred |
1292 | */ | 1292 | */ |
1293 | /* better resynchronize all streams next interrupt : */ | 1293 | /* better resynchronize all streams next interrupt : */ |
1294 | mgr->dsp_time_last = PCXHR_DSP_TIME_INVALID; | 1294 | mgr->dsp_time_last = PCXHR_DSP_TIME_INVALID; |
diff --git a/sound/pci/rme96.c b/sound/pci/rme96.c index d5f5b440fc40..9ff247fc8871 100644 --- a/sound/pci/rme96.c +++ b/sound/pci/rme96.c | |||
@@ -150,7 +150,7 @@ MODULE_PARM_DESC(enable, "Enable RME Digi96 soundcard."); | |||
150 | #define RME96_RCR_BITPOS_F1 28 | 150 | #define RME96_RCR_BITPOS_F1 28 |
151 | #define RME96_RCR_BITPOS_F2 29 | 151 | #define RME96_RCR_BITPOS_F2 29 |
152 | 152 | ||
153 | /* Additonal register bits */ | 153 | /* Additional register bits */ |
154 | #define RME96_AR_WSEL (1 << 0) | 154 | #define RME96_AR_WSEL (1 << 0) |
155 | #define RME96_AR_ANALOG (1 << 1) | 155 | #define RME96_AR_ANALOG (1 << 1) |
156 | #define RME96_AR_FREQPAD_0 (1 << 2) | 156 | #define RME96_AR_FREQPAD_0 (1 << 2) |
diff --git a/sound/pci/rme9652/hdspm.c b/sound/pci/rme9652/hdspm.c index a323eafb9e03..949691a876d3 100644 --- a/sound/pci/rme9652/hdspm.c +++ b/sound/pci/rme9652/hdspm.c | |||
@@ -391,7 +391,7 @@ MODULE_SUPPORTED_DEVICE("{{RME HDSPM-MADI}}"); | |||
391 | 391 | ||
392 | /* Status2 Register bits */ /* MADI ONLY */ | 392 | /* Status2 Register bits */ /* MADI ONLY */ |
393 | 393 | ||
394 | #define HDSPM_version0 (1<<0) /* not realy defined but I guess */ | 394 | #define HDSPM_version0 (1<<0) /* not really defined but I guess */ |
395 | #define HDSPM_version1 (1<<1) /* in former cards it was ??? */ | 395 | #define HDSPM_version1 (1<<1) /* in former cards it was ??? */ |
396 | #define HDSPM_version2 (1<<2) | 396 | #define HDSPM_version2 (1<<2) |
397 | 397 | ||
@@ -936,7 +936,7 @@ struct hdspm { | |||
936 | struct snd_kcontrol *playback_mixer_ctls[HDSPM_MAX_CHANNELS]; | 936 | struct snd_kcontrol *playback_mixer_ctls[HDSPM_MAX_CHANNELS]; |
937 | /* but input to much, so not used */ | 937 | /* but input to much, so not used */ |
938 | struct snd_kcontrol *input_mixer_ctls[HDSPM_MAX_CHANNELS]; | 938 | struct snd_kcontrol *input_mixer_ctls[HDSPM_MAX_CHANNELS]; |
939 | /* full mixer accessable over mixer ioctl or hwdep-device */ | 939 | /* full mixer accessible over mixer ioctl or hwdep-device */ |
940 | struct hdspm_mixer *mixer; | 940 | struct hdspm_mixer *mixer; |
941 | 941 | ||
942 | struct hdspm_tco *tco; /* NULL if no TCO detected */ | 942 | struct hdspm_tco *tco; /* NULL if no TCO detected */ |
diff --git a/sound/pci/sis7019.c b/sound/pci/sis7019.c index 1b8f6742b5fa..2b5c7a95ae1f 100644 --- a/sound/pci/sis7019.c +++ b/sound/pci/sis7019.c | |||
@@ -308,7 +308,7 @@ static irqreturn_t sis_interrupt(int irq, void *dev) | |||
308 | u32 intr, status; | 308 | u32 intr, status; |
309 | 309 | ||
310 | /* We only use the DMA interrupts, and we don't enable any other | 310 | /* We only use the DMA interrupts, and we don't enable any other |
311 | * source of interrupts. But, it is possible to see an interupt | 311 | * source of interrupts. But, it is possible to see an interrupt |
312 | * status that didn't actually interrupt us, so eliminate anything | 312 | * status that didn't actually interrupt us, so eliminate anything |
313 | * we're not expecting to avoid falsely claiming an IRQ, and an | 313 | * we're not expecting to avoid falsely claiming an IRQ, and an |
314 | * ensuing endless loop. | 314 | * ensuing endless loop. |
@@ -773,7 +773,7 @@ static void sis_prepare_timing_voice(struct voice *voice, | |||
773 | vperiod = 0; | 773 | vperiod = 0; |
774 | } | 774 | } |
775 | 775 | ||
776 | /* The interrupt handler implements the timing syncronization, so | 776 | /* The interrupt handler implements the timing synchronization, so |
777 | * setup its state. | 777 | * setup its state. |
778 | */ | 778 | */ |
779 | timing->flags |= VOICE_SYNC_TIMING; | 779 | timing->flags |= VOICE_SYNC_TIMING; |
@@ -1139,7 +1139,7 @@ static int sis_chip_init(struct sis7019 *sis) | |||
1139 | */ | 1139 | */ |
1140 | outl(SIS_DMA_CSR_PCI_SETTINGS, io + SIS_DMA_CSR); | 1140 | outl(SIS_DMA_CSR_PCI_SETTINGS, io + SIS_DMA_CSR); |
1141 | 1141 | ||
1142 | /* Reset the syncronization groups for all of the channels | 1142 | /* Reset the synchronization groups for all of the channels |
1143 | * to be asyncronous. If we start doing SPDIF or 5.1 sound, etc. | 1143 | * to be asyncronous. If we start doing SPDIF or 5.1 sound, etc. |
1144 | * we'll need to change how we handle these. Until then, we just | 1144 | * we'll need to change how we handle these. Until then, we just |
1145 | * assign sub-mixer 0 to all playback channels, and avoid any | 1145 | * assign sub-mixer 0 to all playback channels, and avoid any |
diff --git a/sound/ppc/snd_ps3.c b/sound/ppc/snd_ps3.c index edce8a27e3ee..bc823a547550 100644 --- a/sound/ppc/snd_ps3.c +++ b/sound/ppc/snd_ps3.c | |||
@@ -358,7 +358,7 @@ static irqreturn_t snd_ps3_interrupt(int irq, void *dev_id) | |||
358 | * filling dummy data, serial automatically start to | 358 | * filling dummy data, serial automatically start to |
359 | * consume them and then will generate normal buffer | 359 | * consume them and then will generate normal buffer |
360 | * empty interrupts. | 360 | * empty interrupts. |
361 | * If both buffer underflow and buffer empty are occured, | 361 | * If both buffer underflow and buffer empty are occurred, |
362 | * it is better to do nomal data transfer than empty one | 362 | * it is better to do nomal data transfer than empty one |
363 | */ | 363 | */ |
364 | snd_ps3_program_dma(card, | 364 | snd_ps3_program_dma(card, |
diff --git a/sound/ppc/snd_ps3_reg.h b/sound/ppc/snd_ps3_reg.h index 03fdee4aaaf2..2e6302079566 100644 --- a/sound/ppc/snd_ps3_reg.h +++ b/sound/ppc/snd_ps3_reg.h | |||
@@ -125,7 +125,7 @@ | |||
125 | transfers. Any interrupts associated with the canceled transfers | 125 | transfers. Any interrupts associated with the canceled transfers |
126 | will occur as if the transfer had finished. | 126 | will occur as if the transfer had finished. |
127 | Since this bit is designed to recover from DMA related issues | 127 | Since this bit is designed to recover from DMA related issues |
128 | which are caused by unpredictable situations, it is prefered to wait | 128 | which are caused by unpredictable situations, it is preferred to wait |
129 | for normal DMA transfer end without using this bit. | 129 | for normal DMA transfer end without using this bit. |
130 | */ | 130 | */ |
131 | #define PS3_AUDIO_CONFIG_CLEAR (1 << 8) /* RWIVF */ | 131 | #define PS3_AUDIO_CONFIG_CLEAR (1 << 8) /* RWIVF */ |
@@ -316,13 +316,13 @@ DISABLED=Interrupt generation disabled. | |||
316 | 316 | ||
317 | /* | 317 | /* |
318 | Audio Port Interrupt Status Register | 318 | Audio Port Interrupt Status Register |
319 | Indicates Interrupt status, which interrupt has occured, and can clear | 319 | Indicates Interrupt status, which interrupt has occurred, and can clear |
320 | each interrupt in this register. | 320 | each interrupt in this register. |
321 | Writing 1b to a field containing 1b clears field and de-asserts interrupt. | 321 | Writing 1b to a field containing 1b clears field and de-asserts interrupt. |
322 | Writing 0b to a field has no effect. | 322 | Writing 0b to a field has no effect. |
323 | Field vaules are the following: | 323 | Field vaules are the following: |
324 | 0 - Interrupt hasn't occured. | 324 | 0 - Interrupt hasn't occurred. |
325 | 1 - Interrupt has occured. | 325 | 1 - Interrupt has occurred. |
326 | 326 | ||
327 | 327 | ||
328 | 31 24 23 16 15 8 7 0 | 328 | 31 24 23 16 15 8 7 0 |
@@ -473,7 +473,7 @@ Channel N is out of action by setting 0 to asoen. | |||
473 | /* | 473 | /* |
474 | Sampling Rate | 474 | Sampling Rate |
475 | Specifies the divide ratio of the bit clock (clock output | 475 | Specifies the divide ratio of the bit clock (clock output |
476 | from bclko) used by the 3-wire Audio Output Clock, whcih | 476 | from bclko) used by the 3-wire Audio Output Clock, which |
477 | is applied to the master clock selected by mcksel. | 477 | is applied to the master clock selected by mcksel. |
478 | Data output is synchronized with this clock. | 478 | Data output is synchronized with this clock. |
479 | */ | 479 | */ |
@@ -756,7 +756,7 @@ The STATUS field can be used to monitor the progress of a DMA request. | |||
756 | DONE indicates the previous request has completed. | 756 | DONE indicates the previous request has completed. |
757 | EVENT indicates that the DMA engine is waiting for the EVENT to occur. | 757 | EVENT indicates that the DMA engine is waiting for the EVENT to occur. |
758 | PENDING indicates that the DMA engine has not started processing this | 758 | PENDING indicates that the DMA engine has not started processing this |
759 | request, but the EVENT has occured. | 759 | request, but the EVENT has occurred. |
760 | DMA indicates that the data transfer is in progress. | 760 | DMA indicates that the data transfer is in progress. |
761 | NOTIFY indicates that the notifier signalling end of transfer is being written. | 761 | NOTIFY indicates that the notifier signalling end of transfer is being written. |
762 | CLEAR indicated that the previous transfer was cleared. | 762 | CLEAR indicated that the previous transfer was cleared. |
@@ -824,7 +824,7 @@ AUDIOFIFO = Audio WriteData FIFO, | |||
824 | 824 | ||
825 | /* | 825 | /* |
826 | PS3_AUDIO_DMASIZE specifies the number of 128-byte blocks + 1 to transfer. | 826 | PS3_AUDIO_DMASIZE specifies the number of 128-byte blocks + 1 to transfer. |
827 | So a value of 0 means 128-bytes will get transfered. | 827 | So a value of 0 means 128-bytes will get transferred. |
828 | 828 | ||
829 | 829 | ||
830 | 31 24 23 16 15 8 7 0 | 830 | 31 24 23 16 15 8 7 0 |
diff --git a/sound/soc/atmel/atmel_ssc_dai.c b/sound/soc/atmel/atmel_ssc_dai.c index 5d230cee3fa7..7fbfa051f6e1 100644 --- a/sound/soc/atmel/atmel_ssc_dai.c +++ b/sound/soc/atmel/atmel_ssc_dai.c | |||
@@ -672,7 +672,7 @@ static int atmel_ssc_resume(struct snd_soc_dai *cpu_dai) | |||
672 | /* re-enable interrupts */ | 672 | /* re-enable interrupts */ |
673 | ssc_writel(ssc_p->ssc->regs, IER, ssc_p->ssc_state.ssc_imr); | 673 | ssc_writel(ssc_p->ssc->regs, IER, ssc_p->ssc_state.ssc_imr); |
674 | 674 | ||
675 | /* Re-enable recieve and transmit as appropriate */ | 675 | /* Re-enable receive and transmit as appropriate */ |
676 | cr = 0; | 676 | cr = 0; |
677 | cr |= | 677 | cr |= |
678 | (ssc_p->ssc_state.ssc_sr & SSC_BIT(SR_RXEN)) ? SSC_BIT(CR_RXEN) : 0; | 678 | (ssc_p->ssc_state.ssc_sr & SSC_BIT(SR_RXEN)) ? SSC_BIT(CR_RXEN) : 0; |
diff --git a/sound/soc/codecs/alc5623.c b/sound/soc/codecs/alc5623.c index 4f377c9e868d..eecffb548947 100644 --- a/sound/soc/codecs/alc5623.c +++ b/sound/soc/codecs/alc5623.c | |||
@@ -481,7 +481,7 @@ struct _pll_div { | |||
481 | }; | 481 | }; |
482 | 482 | ||
483 | /* Note : pll code from original alc5623 driver. Not sure of how good it is */ | 483 | /* Note : pll code from original alc5623 driver. Not sure of how good it is */ |
484 | /* usefull only for master mode */ | 484 | /* useful only for master mode */ |
485 | static const struct _pll_div codec_master_pll_div[] = { | 485 | static const struct _pll_div codec_master_pll_div[] = { |
486 | 486 | ||
487 | { 2048000, 8192000, 0x0ea0}, | 487 | { 2048000, 8192000, 0x0ea0}, |
diff --git a/sound/soc/codecs/jz4740.c b/sound/soc/codecs/jz4740.c index f7cd346fd727..f5ccdbf7ebc6 100644 --- a/sound/soc/codecs/jz4740.c +++ b/sound/soc/codecs/jz4740.c | |||
@@ -308,8 +308,6 @@ static int jz4740_codec_dev_probe(struct snd_soc_codec *codec) | |||
308 | snd_soc_dapm_add_routes(dapm, jz4740_codec_dapm_routes, | 308 | snd_soc_dapm_add_routes(dapm, jz4740_codec_dapm_routes, |
309 | ARRAY_SIZE(jz4740_codec_dapm_routes)); | 309 | ARRAY_SIZE(jz4740_codec_dapm_routes)); |
310 | 310 | ||
311 | snd_soc_dapm_new_widgets(codec); | ||
312 | |||
313 | jz4740_codec_set_bias_level(codec, SND_SOC_BIAS_STANDBY); | 311 | jz4740_codec_set_bias_level(codec, SND_SOC_BIAS_STANDBY); |
314 | 312 | ||
315 | return 0; | 313 | return 0; |
diff --git a/sound/soc/codecs/lm4857.c b/sound/soc/codecs/lm4857.c index 72de47e5d040..2c2a681da0d7 100644 --- a/sound/soc/codecs/lm4857.c +++ b/sound/soc/codecs/lm4857.c | |||
@@ -161,7 +161,7 @@ static const struct snd_kcontrol_new lm4857_controls[] = { | |||
161 | lm4857_get_mode, lm4857_set_mode), | 161 | lm4857_get_mode, lm4857_set_mode), |
162 | }; | 162 | }; |
163 | 163 | ||
164 | /* There is a demux inbetween the the input signal and the output signals. | 164 | /* There is a demux between the input signal and the output signals. |
165 | * Currently there is no easy way to model it in ASoC and since it does not make | 165 | * Currently there is no easy way to model it in ASoC and since it does not make |
166 | * much of a difference in practice simply connect the input direclty to the | 166 | * much of a difference in practice simply connect the input direclty to the |
167 | * outputs. */ | 167 | * outputs. */ |
diff --git a/sound/soc/codecs/sn95031.c b/sound/soc/codecs/sn95031.c index 2a30eae1881c..4d9fb279e146 100644 --- a/sound/soc/codecs/sn95031.c +++ b/sound/soc/codecs/sn95031.c | |||
@@ -26,7 +26,9 @@ | |||
26 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt | 26 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
27 | 27 | ||
28 | #include <linux/platform_device.h> | 28 | #include <linux/platform_device.h> |
29 | #include <linux/delay.h> | ||
29 | #include <linux/slab.h> | 30 | #include <linux/slab.h> |
31 | |||
30 | #include <asm/intel_scu_ipc.h> | 32 | #include <asm/intel_scu_ipc.h> |
31 | #include <sound/pcm.h> | 33 | #include <sound/pcm.h> |
32 | #include <sound/pcm_params.h> | 34 | #include <sound/pcm_params.h> |
@@ -925,7 +927,7 @@ static struct platform_driver sn95031_codec_driver = { | |||
925 | .owner = THIS_MODULE, | 927 | .owner = THIS_MODULE, |
926 | }, | 928 | }, |
927 | .probe = sn95031_device_probe, | 929 | .probe = sn95031_device_probe, |
928 | .remove = sn95031_device_remove, | 930 | .remove = __devexit_p(sn95031_device_remove), |
929 | }; | 931 | }; |
930 | 932 | ||
931 | static int __init sn95031_init(void) | 933 | static int __init sn95031_init(void) |
diff --git a/sound/soc/codecs/tlv320aic26.h b/sound/soc/codecs/tlv320aic26.h index 62b1f2261429..67f19c3bebe6 100644 --- a/sound/soc/codecs/tlv320aic26.h +++ b/sound/soc/codecs/tlv320aic26.h | |||
@@ -14,14 +14,14 @@ | |||
14 | #define AIC26_PAGE_ADDR(page, offset) ((page << 6) | offset) | 14 | #define AIC26_PAGE_ADDR(page, offset) ((page << 6) | offset) |
15 | #define AIC26_NUM_REGS AIC26_PAGE_ADDR(3, 0) | 15 | #define AIC26_NUM_REGS AIC26_PAGE_ADDR(3, 0) |
16 | 16 | ||
17 | /* Page 0: Auxillary data registers */ | 17 | /* Page 0: Auxiliary data registers */ |
18 | #define AIC26_REG_BAT1 AIC26_PAGE_ADDR(0, 0x05) | 18 | #define AIC26_REG_BAT1 AIC26_PAGE_ADDR(0, 0x05) |
19 | #define AIC26_REG_BAT2 AIC26_PAGE_ADDR(0, 0x06) | 19 | #define AIC26_REG_BAT2 AIC26_PAGE_ADDR(0, 0x06) |
20 | #define AIC26_REG_AUX AIC26_PAGE_ADDR(0, 0x07) | 20 | #define AIC26_REG_AUX AIC26_PAGE_ADDR(0, 0x07) |
21 | #define AIC26_REG_TEMP1 AIC26_PAGE_ADDR(0, 0x09) | 21 | #define AIC26_REG_TEMP1 AIC26_PAGE_ADDR(0, 0x09) |
22 | #define AIC26_REG_TEMP2 AIC26_PAGE_ADDR(0, 0x0A) | 22 | #define AIC26_REG_TEMP2 AIC26_PAGE_ADDR(0, 0x0A) |
23 | 23 | ||
24 | /* Page 1: Auxillary control registers */ | 24 | /* Page 1: Auxiliary control registers */ |
25 | #define AIC26_REG_AUX_ADC AIC26_PAGE_ADDR(1, 0x00) | 25 | #define AIC26_REG_AUX_ADC AIC26_PAGE_ADDR(1, 0x00) |
26 | #define AIC26_REG_STATUS AIC26_PAGE_ADDR(1, 0x01) | 26 | #define AIC26_REG_STATUS AIC26_PAGE_ADDR(1, 0x01) |
27 | #define AIC26_REG_REFERENCE AIC26_PAGE_ADDR(1, 0x03) | 27 | #define AIC26_REG_REFERENCE AIC26_PAGE_ADDR(1, 0x03) |
diff --git a/sound/soc/codecs/tlv320aic3x.c b/sound/soc/codecs/tlv320aic3x.c index 3bedab26892f..6c43c13f0430 100644 --- a/sound/soc/codecs/tlv320aic3x.c +++ b/sound/soc/codecs/tlv320aic3x.c | |||
@@ -884,7 +884,7 @@ static int aic3x_hw_params(struct snd_pcm_substream *substream, | |||
884 | if (bypass_pll) | 884 | if (bypass_pll) |
885 | return 0; | 885 | return 0; |
886 | 886 | ||
887 | /* Use PLL, compute apropriate setup for j, d, r and p, the closest | 887 | /* Use PLL, compute appropriate setup for j, d, r and p, the closest |
888 | * one wins the game. Try with d==0 first, next with d!=0. | 888 | * one wins the game. Try with d==0 first, next with d!=0. |
889 | * Constraints for j are according to the datasheet. | 889 | * Constraints for j are according to the datasheet. |
890 | * The sysclk is divided by 1000 to prevent integer overflows. | 890 | * The sysclk is divided by 1000 to prevent integer overflows. |
diff --git a/sound/soc/codecs/tlv320dac33.c b/sound/soc/codecs/tlv320dac33.c index eb1a0b4e09b6..082e9d51963f 100644 --- a/sound/soc/codecs/tlv320dac33.c +++ b/sound/soc/codecs/tlv320dac33.c | |||
@@ -1027,7 +1027,7 @@ static int dac33_prepare_chip(struct snd_pcm_substream *substream) | |||
1027 | /* | 1027 | /* |
1028 | * For FIFO bypass mode: | 1028 | * For FIFO bypass mode: |
1029 | * Enable the FIFO bypass (Disable the FIFO use) | 1029 | * Enable the FIFO bypass (Disable the FIFO use) |
1030 | * Set the BCLK as continous | 1030 | * Set the BCLK as continuous |
1031 | */ | 1031 | */ |
1032 | fifoctrl_a |= DAC33_FBYPAS; | 1032 | fifoctrl_a |= DAC33_FBYPAS; |
1033 | aictrl_b |= DAC33_BCLKON; | 1033 | aictrl_b |= DAC33_BCLKON; |
diff --git a/sound/soc/codecs/twl4030.c b/sound/soc/codecs/twl4030.c index 8512800f6326..575238d68e5e 100644 --- a/sound/soc/codecs/twl4030.c +++ b/sound/soc/codecs/twl4030.c | |||
@@ -281,7 +281,7 @@ static inline void twl4030_check_defaults(struct snd_soc_codec *codec) | |||
281 | i, val, twl4030_reg[i]); | 281 | i, val, twl4030_reg[i]); |
282 | } | 282 | } |
283 | } | 283 | } |
284 | dev_dbg(codec->dev, "Found %d non maching registers. %s\n", | 284 | dev_dbg(codec->dev, "Found %d non-matching registers. %s\n", |
285 | difference, difference ? "Not OK" : "OK"); | 285 | difference, difference ? "Not OK" : "OK"); |
286 | } | 286 | } |
287 | 287 | ||
@@ -2018,7 +2018,7 @@ static int twl4030_voice_startup(struct snd_pcm_substream *substream, | |||
2018 | u8 mode; | 2018 | u8 mode; |
2019 | 2019 | ||
2020 | /* If the system master clock is not 26MHz, the voice PCM interface is | 2020 | /* If the system master clock is not 26MHz, the voice PCM interface is |
2021 | * not avilable. | 2021 | * not available. |
2022 | */ | 2022 | */ |
2023 | if (twl4030->sysclk != 26000) { | 2023 | if (twl4030->sysclk != 26000) { |
2024 | dev_err(codec->dev, "The board is configured for %u Hz, while" | 2024 | dev_err(codec->dev, "The board is configured for %u Hz, while" |
@@ -2028,7 +2028,7 @@ static int twl4030_voice_startup(struct snd_pcm_substream *substream, | |||
2028 | } | 2028 | } |
2029 | 2029 | ||
2030 | /* If the codec mode is not option2, the voice PCM interface is not | 2030 | /* If the codec mode is not option2, the voice PCM interface is not |
2031 | * avilable. | 2031 | * available. |
2032 | */ | 2032 | */ |
2033 | mode = twl4030_read_reg_cache(codec, TWL4030_REG_CODEC_MODE) | 2033 | mode = twl4030_read_reg_cache(codec, TWL4030_REG_CODEC_MODE) |
2034 | & TWL4030_OPT_MODE; | 2034 | & TWL4030_OPT_MODE; |
diff --git a/sound/soc/codecs/wm8580.c b/sound/soc/codecs/wm8580.c index 8f6b5ee6645b..4bbc0a79f01e 100644 --- a/sound/soc/codecs/wm8580.c +++ b/sound/soc/codecs/wm8580.c | |||
@@ -772,7 +772,7 @@ static int wm8580_set_bias_level(struct snd_soc_codec *codec, | |||
772 | reg &= ~(WM8580_PWRDN1_PWDN | WM8580_PWRDN1_ALLDACPD); | 772 | reg &= ~(WM8580_PWRDN1_PWDN | WM8580_PWRDN1_ALLDACPD); |
773 | snd_soc_write(codec, WM8580_PWRDN1, reg); | 773 | snd_soc_write(codec, WM8580_PWRDN1, reg); |
774 | 774 | ||
775 | /* Make VMID high impedence */ | 775 | /* Make VMID high impedance */ |
776 | reg = snd_soc_read(codec, WM8580_ADC_CONTROL1); | 776 | reg = snd_soc_read(codec, WM8580_ADC_CONTROL1); |
777 | reg &= ~0x100; | 777 | reg &= ~0x100; |
778 | snd_soc_write(codec, WM8580_ADC_CONTROL1, reg); | 778 | snd_soc_write(codec, WM8580_ADC_CONTROL1, reg); |
diff --git a/sound/soc/codecs/wm8753.c b/sound/soc/codecs/wm8753.c index 3f09deea8d9d..ffa2ffe5ec11 100644 --- a/sound/soc/codecs/wm8753.c +++ b/sound/soc/codecs/wm8753.c | |||
@@ -1312,7 +1312,7 @@ static int wm8753_set_bias_level(struct snd_soc_codec *codec, | |||
1312 | SNDRV_PCM_FMTBIT_S24_LE) | 1312 | SNDRV_PCM_FMTBIT_S24_LE) |
1313 | 1313 | ||
1314 | /* | 1314 | /* |
1315 | * The WM8753 supports upto 4 different and mutually exclusive DAI | 1315 | * The WM8753 supports up to 4 different and mutually exclusive DAI |
1316 | * configurations. This gives 2 PCM's available for use, hifi and voice. | 1316 | * configurations. This gives 2 PCM's available for use, hifi and voice. |
1317 | * NOTE: The Voice PCM cannot play or capture audio to the CPU as it's DAI | 1317 | * NOTE: The Voice PCM cannot play or capture audio to the CPU as it's DAI |
1318 | * is connected between the wm8753 and a BT codec or GSM modem. | 1318 | * is connected between the wm8753 and a BT codec or GSM modem. |
diff --git a/sound/soc/codecs/wm8903.c b/sound/soc/codecs/wm8903.c index ae1cadfae84c..f52b623bb692 100644 --- a/sound/soc/codecs/wm8903.c +++ b/sound/soc/codecs/wm8903.c | |||
@@ -247,8 +247,6 @@ static int wm8903_volatile_register(struct snd_soc_codec *codec, unsigned int re | |||
247 | case WM8903_REVISION_NUMBER: | 247 | case WM8903_REVISION_NUMBER: |
248 | case WM8903_INTERRUPT_STATUS_1: | 248 | case WM8903_INTERRUPT_STATUS_1: |
249 | case WM8903_WRITE_SEQUENCER_4: | 249 | case WM8903_WRITE_SEQUENCER_4: |
250 | case WM8903_POWER_MANAGEMENT_3: | ||
251 | case WM8903_POWER_MANAGEMENT_2: | ||
252 | case WM8903_DC_SERVO_READBACK_1: | 250 | case WM8903_DC_SERVO_READBACK_1: |
253 | case WM8903_DC_SERVO_READBACK_2: | 251 | case WM8903_DC_SERVO_READBACK_2: |
254 | case WM8903_DC_SERVO_READBACK_3: | 252 | case WM8903_DC_SERVO_READBACK_3: |
@@ -875,34 +873,40 @@ SND_SOC_DAPM_MIXER("Left Speaker Mixer", WM8903_POWER_MANAGEMENT_4, 1, 0, | |||
875 | SND_SOC_DAPM_MIXER("Right Speaker Mixer", WM8903_POWER_MANAGEMENT_4, 0, 0, | 873 | SND_SOC_DAPM_MIXER("Right Speaker Mixer", WM8903_POWER_MANAGEMENT_4, 0, 0, |
876 | right_speaker_mixer, ARRAY_SIZE(right_speaker_mixer)), | 874 | right_speaker_mixer, ARRAY_SIZE(right_speaker_mixer)), |
877 | 875 | ||
878 | SND_SOC_DAPM_PGA_S("Left Headphone Output PGA", 0, WM8903_ANALOGUE_HP_0, | 876 | SND_SOC_DAPM_PGA_S("Left Headphone Output PGA", 0, WM8903_POWER_MANAGEMENT_2, |
879 | 4, 0, NULL, 0), | 877 | 1, 0, NULL, 0), |
880 | SND_SOC_DAPM_PGA_S("Right Headphone Output PGA", 0, WM8903_ANALOGUE_HP_0, | 878 | SND_SOC_DAPM_PGA_S("Right Headphone Output PGA", 0, WM8903_POWER_MANAGEMENT_2, |
881 | 0, 0, NULL, 0), | 879 | 0, 0, NULL, 0), |
882 | 880 | ||
883 | SND_SOC_DAPM_PGA_S("Left Line Output PGA", 0, WM8903_ANALOGUE_LINEOUT_0, 4, 0, | 881 | SND_SOC_DAPM_PGA_S("Left Line Output PGA", 0, WM8903_POWER_MANAGEMENT_3, 1, 0, |
884 | NULL, 0), | 882 | NULL, 0), |
885 | SND_SOC_DAPM_PGA_S("Right Line Output PGA", 0, WM8903_ANALOGUE_LINEOUT_0, 0, 0, | 883 | SND_SOC_DAPM_PGA_S("Right Line Output PGA", 0, WM8903_POWER_MANAGEMENT_3, 0, 0, |
886 | NULL, 0), | 884 | NULL, 0), |
887 | 885 | ||
888 | SND_SOC_DAPM_PGA_S("HPL_RMV_SHORT", 4, WM8903_ANALOGUE_HP_0, 7, 0, NULL, 0), | 886 | SND_SOC_DAPM_PGA_S("HPL_RMV_SHORT", 4, WM8903_ANALOGUE_HP_0, 7, 0, NULL, 0), |
889 | SND_SOC_DAPM_PGA_S("HPL_ENA_OUTP", 3, WM8903_ANALOGUE_HP_0, 6, 0, NULL, 0), | 887 | SND_SOC_DAPM_PGA_S("HPL_ENA_OUTP", 3, WM8903_ANALOGUE_HP_0, 6, 0, NULL, 0), |
890 | SND_SOC_DAPM_PGA_S("HPL_ENA_DLY", 1, WM8903_ANALOGUE_HP_0, 5, 0, NULL, 0), | 888 | SND_SOC_DAPM_PGA_S("HPL_ENA_DLY", 2, WM8903_ANALOGUE_HP_0, 5, 0, NULL, 0), |
889 | SND_SOC_DAPM_PGA_S("HPL_ENA", 1, WM8903_ANALOGUE_HP_0, 4, 0, NULL, 0), | ||
891 | SND_SOC_DAPM_PGA_S("HPR_RMV_SHORT", 4, WM8903_ANALOGUE_HP_0, 3, 0, NULL, 0), | 890 | SND_SOC_DAPM_PGA_S("HPR_RMV_SHORT", 4, WM8903_ANALOGUE_HP_0, 3, 0, NULL, 0), |
892 | SND_SOC_DAPM_PGA_S("HPR_ENA_OUTP", 3, WM8903_ANALOGUE_HP_0, 2, 0, NULL, 0), | 891 | SND_SOC_DAPM_PGA_S("HPR_ENA_OUTP", 3, WM8903_ANALOGUE_HP_0, 2, 0, NULL, 0), |
893 | SND_SOC_DAPM_PGA_S("HPR_ENA_DLY", 1, WM8903_ANALOGUE_HP_0, 1, 0, NULL, 0), | 892 | SND_SOC_DAPM_PGA_S("HPR_ENA_DLY", 2, WM8903_ANALOGUE_HP_0, 1, 0, NULL, 0), |
893 | SND_SOC_DAPM_PGA_S("HPR_ENA", 1, WM8903_ANALOGUE_HP_0, 0, 0, NULL, 0), | ||
894 | 894 | ||
895 | SND_SOC_DAPM_PGA_S("LINEOUTL_RMV_SHORT", 4, WM8903_ANALOGUE_LINEOUT_0, 7, 0, | 895 | SND_SOC_DAPM_PGA_S("LINEOUTL_RMV_SHORT", 4, WM8903_ANALOGUE_LINEOUT_0, 7, 0, |
896 | NULL, 0), | 896 | NULL, 0), |
897 | SND_SOC_DAPM_PGA_S("LINEOUTL_ENA_OUTP", 3, WM8903_ANALOGUE_LINEOUT_0, 6, 0, | 897 | SND_SOC_DAPM_PGA_S("LINEOUTL_ENA_OUTP", 3, WM8903_ANALOGUE_LINEOUT_0, 6, 0, |
898 | NULL, 0), | 898 | NULL, 0), |
899 | SND_SOC_DAPM_PGA_S("LINEOUTL_ENA_DLY", 1, WM8903_ANALOGUE_LINEOUT_0, 5, 0, | 899 | SND_SOC_DAPM_PGA_S("LINEOUTL_ENA_DLY", 2, WM8903_ANALOGUE_LINEOUT_0, 5, 0, |
900 | NULL, 0), | ||
901 | SND_SOC_DAPM_PGA_S("LINEOUTL_ENA", 1, WM8903_ANALOGUE_LINEOUT_0, 4, 0, | ||
900 | NULL, 0), | 902 | NULL, 0), |
901 | SND_SOC_DAPM_PGA_S("LINEOUTR_RMV_SHORT", 4, WM8903_ANALOGUE_LINEOUT_0, 3, 0, | 903 | SND_SOC_DAPM_PGA_S("LINEOUTR_RMV_SHORT", 4, WM8903_ANALOGUE_LINEOUT_0, 3, 0, |
902 | NULL, 0), | 904 | NULL, 0), |
903 | SND_SOC_DAPM_PGA_S("LINEOUTR_ENA_OUTP", 3, WM8903_ANALOGUE_LINEOUT_0, 2, 0, | 905 | SND_SOC_DAPM_PGA_S("LINEOUTR_ENA_OUTP", 3, WM8903_ANALOGUE_LINEOUT_0, 2, 0, |
904 | NULL, 0), | 906 | NULL, 0), |
905 | SND_SOC_DAPM_PGA_S("LINEOUTR_ENA_DLY", 1, WM8903_ANALOGUE_LINEOUT_0, 1, 0, | 907 | SND_SOC_DAPM_PGA_S("LINEOUTR_ENA_DLY", 2, WM8903_ANALOGUE_LINEOUT_0, 1, 0, |
908 | NULL, 0), | ||
909 | SND_SOC_DAPM_PGA_S("LINEOUTR_ENA", 1, WM8903_ANALOGUE_LINEOUT_0, 0, 0, | ||
906 | NULL, 0), | 910 | NULL, 0), |
907 | 911 | ||
908 | SND_SOC_DAPM_SUPPLY("DCS Master", WM8903_DC_SERVO_0, 4, 0, NULL, 0), | 912 | SND_SOC_DAPM_SUPPLY("DCS Master", WM8903_DC_SERVO_0, 4, 0, NULL, 0), |
@@ -1037,10 +1041,14 @@ static const struct snd_soc_dapm_route intercon[] = { | |||
1037 | { "Left Speaker PGA", NULL, "Left Speaker Mixer" }, | 1041 | { "Left Speaker PGA", NULL, "Left Speaker Mixer" }, |
1038 | { "Right Speaker PGA", NULL, "Right Speaker Mixer" }, | 1042 | { "Right Speaker PGA", NULL, "Right Speaker Mixer" }, |
1039 | 1043 | ||
1040 | { "HPL_ENA_DLY", NULL, "Left Headphone Output PGA" }, | 1044 | { "HPL_ENA", NULL, "Left Headphone Output PGA" }, |
1041 | { "HPR_ENA_DLY", NULL, "Right Headphone Output PGA" }, | 1045 | { "HPR_ENA", NULL, "Right Headphone Output PGA" }, |
1042 | { "LINEOUTL_ENA_DLY", NULL, "Left Line Output PGA" }, | 1046 | { "HPL_ENA_DLY", NULL, "HPL_ENA" }, |
1043 | { "LINEOUTR_ENA_DLY", NULL, "Right Line Output PGA" }, | 1047 | { "HPR_ENA_DLY", NULL, "HPR_ENA" }, |
1048 | { "LINEOUTL_ENA", NULL, "Left Line Output PGA" }, | ||
1049 | { "LINEOUTR_ENA", NULL, "Right Line Output PGA" }, | ||
1050 | { "LINEOUTL_ENA_DLY", NULL, "LINEOUTL_ENA" }, | ||
1051 | { "LINEOUTR_ENA_DLY", NULL, "LINEOUTR_ENA" }, | ||
1044 | 1052 | ||
1045 | { "HPL_DCS", NULL, "DCS Master" }, | 1053 | { "HPL_DCS", NULL, "DCS Master" }, |
1046 | { "HPR_DCS", NULL, "DCS Master" }, | 1054 | { "HPR_DCS", NULL, "DCS Master" }, |
diff --git a/sound/soc/codecs/wm8904.c b/sound/soc/codecs/wm8904.c index 443ae580445c..9b3bba4df5b3 100644 --- a/sound/soc/codecs/wm8904.c +++ b/sound/soc/codecs/wm8904.c | |||
@@ -1895,7 +1895,7 @@ static int fll_factors(struct _fll_div *fll_div, unsigned int Fref, | |||
1895 | 1895 | ||
1896 | pr_debug("Fvco=%dHz\n", target); | 1896 | pr_debug("Fvco=%dHz\n", target); |
1897 | 1897 | ||
1898 | /* Find an appropraite FLL_FRATIO and factor it out of the target */ | 1898 | /* Find an appropriate FLL_FRATIO and factor it out of the target */ |
1899 | for (i = 0; i < ARRAY_SIZE(fll_fratios); i++) { | 1899 | for (i = 0; i < ARRAY_SIZE(fll_fratios); i++) { |
1900 | if (fll_fratios[i].min <= Fref && Fref <= fll_fratios[i].max) { | 1900 | if (fll_fratios[i].min <= Fref && Fref <= fll_fratios[i].max) { |
1901 | fll_div->fll_fratio = fll_fratios[i].fll_fratio; | 1901 | fll_div->fll_fratio = fll_fratios[i].fll_fratio; |
diff --git a/sound/soc/codecs/wm8955.c b/sound/soc/codecs/wm8955.c index 5e0214d6293e..3c7198779c31 100644 --- a/sound/soc/codecs/wm8955.c +++ b/sound/soc/codecs/wm8955.c | |||
@@ -176,7 +176,7 @@ static int wm8995_pll_factors(struct device *dev, | |||
176 | return 0; | 176 | return 0; |
177 | } | 177 | } |
178 | 178 | ||
179 | /* Lookup table specifiying SRATE (table 25 in datasheet); some of the | 179 | /* Lookup table specifying SRATE (table 25 in datasheet); some of the |
180 | * output frequencies have been rounded to the standard frequencies | 180 | * output frequencies have been rounded to the standard frequencies |
181 | * they are intended to match where the error is slight. */ | 181 | * they are intended to match where the error is slight. */ |
182 | static struct { | 182 | static struct { |
diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c index 3b71dd65c966..500011eb8b2b 100644 --- a/sound/soc/codecs/wm8962.c +++ b/sound/soc/codecs/wm8962.c | |||
@@ -3137,7 +3137,7 @@ static int fll_factors(struct _fll_div *fll_div, unsigned int Fref, | |||
3137 | 3137 | ||
3138 | pr_debug("FLL Fvco=%dHz\n", target); | 3138 | pr_debug("FLL Fvco=%dHz\n", target); |
3139 | 3139 | ||
3140 | /* Find an appropraite FLL_FRATIO and factor it out of the target */ | 3140 | /* Find an appropriate FLL_FRATIO and factor it out of the target */ |
3141 | for (i = 0; i < ARRAY_SIZE(fll_fratios); i++) { | 3141 | for (i = 0; i < ARRAY_SIZE(fll_fratios); i++) { |
3142 | if (fll_fratios[i].min <= Fref && Fref <= fll_fratios[i].max) { | 3142 | if (fll_fratios[i].min <= Fref && Fref <= fll_fratios[i].max) { |
3143 | fll_div->fll_fratio = fll_fratios[i].fll_fratio; | 3143 | fll_div->fll_fratio = fll_fratios[i].fll_fratio; |
diff --git a/sound/soc/codecs/wm8991.c b/sound/soc/codecs/wm8991.c index 28fdfd66661d..3c2ee1bb73cd 100644 --- a/sound/soc/codecs/wm8991.c +++ b/sound/soc/codecs/wm8991.c | |||
@@ -981,7 +981,7 @@ static int wm8991_set_dai_pll(struct snd_soc_dai *codec_dai, | |||
981 | reg = snd_soc_read(codec, WM8991_CLOCKING_2); | 981 | reg = snd_soc_read(codec, WM8991_CLOCKING_2); |
982 | snd_soc_write(codec, WM8991_CLOCKING_2, reg | WM8991_SYSCLK_SRC); | 982 | snd_soc_write(codec, WM8991_CLOCKING_2, reg | WM8991_SYSCLK_SRC); |
983 | 983 | ||
984 | /* set up N , fractional mode and pre-divisor if neccessary */ | 984 | /* set up N , fractional mode and pre-divisor if necessary */ |
985 | snd_soc_write(codec, WM8991_PLL1, pll_div.n | WM8991_SDM | | 985 | snd_soc_write(codec, WM8991_PLL1, pll_div.n | WM8991_SDM | |
986 | (pll_div.div2 ? WM8991_PRESCALE : 0)); | 986 | (pll_div.div2 ? WM8991_PRESCALE : 0)); |
987 | snd_soc_write(codec, WM8991_PLL2, (u8)(pll_div.k>>8)); | 987 | snd_soc_write(codec, WM8991_PLL2, (u8)(pll_div.k>>8)); |
diff --git a/sound/soc/codecs/wm8993.c b/sound/soc/codecs/wm8993.c index 379fa22c5b6c..056aef904347 100644 --- a/sound/soc/codecs/wm8993.c +++ b/sound/soc/codecs/wm8993.c | |||
@@ -324,7 +324,7 @@ static int fll_factors(struct _fll_div *fll_div, unsigned int Fref, | |||
324 | 324 | ||
325 | pr_debug("Fvco=%dHz\n", target); | 325 | pr_debug("Fvco=%dHz\n", target); |
326 | 326 | ||
327 | /* Find an appropraite FLL_FRATIO and factor it out of the target */ | 327 | /* Find an appropriate FLL_FRATIO and factor it out of the target */ |
328 | for (i = 0; i < ARRAY_SIZE(fll_fratios); i++) { | 328 | for (i = 0; i < ARRAY_SIZE(fll_fratios); i++) { |
329 | if (fll_fratios[i].min <= Fref && Fref <= fll_fratios[i].max) { | 329 | if (fll_fratios[i].min <= Fref && Fref <= fll_fratios[i].max) { |
330 | fll_div->fll_fratio = fll_fratios[i].fll_fratio; | 330 | fll_div->fll_fratio = fll_fratios[i].fll_fratio; |
diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c index 3dc64c8b6a5c..84e1bd1d2822 100644 --- a/sound/soc/codecs/wm8994.c +++ b/sound/soc/codecs/wm8994.c | |||
@@ -82,18 +82,18 @@ struct wm8994_priv { | |||
82 | 82 | ||
83 | int mbc_ena[3]; | 83 | int mbc_ena[3]; |
84 | 84 | ||
85 | /* Platform dependant DRC configuration */ | 85 | /* Platform dependent DRC configuration */ |
86 | const char **drc_texts; | 86 | const char **drc_texts; |
87 | int drc_cfg[WM8994_NUM_DRC]; | 87 | int drc_cfg[WM8994_NUM_DRC]; |
88 | struct soc_enum drc_enum; | 88 | struct soc_enum drc_enum; |
89 | 89 | ||
90 | /* Platform dependant ReTune mobile configuration */ | 90 | /* Platform dependent ReTune mobile configuration */ |
91 | int num_retune_mobile_texts; | 91 | int num_retune_mobile_texts; |
92 | const char **retune_mobile_texts; | 92 | const char **retune_mobile_texts; |
93 | int retune_mobile_cfg[WM8994_NUM_EQ]; | 93 | int retune_mobile_cfg[WM8994_NUM_EQ]; |
94 | struct soc_enum retune_mobile_enum; | 94 | struct soc_enum retune_mobile_enum; |
95 | 95 | ||
96 | /* Platform dependant MBC configuration */ | 96 | /* Platform dependent MBC configuration */ |
97 | int mbc_cfg; | 97 | int mbc_cfg; |
98 | const char **mbc_texts; | 98 | const char **mbc_texts; |
99 | struct soc_enum mbc_enum; | 99 | struct soc_enum mbc_enum; |
@@ -3261,20 +3261,36 @@ static int wm8994_codec_probe(struct snd_soc_codec *codec) | |||
3261 | wm8994_set_bias_level(codec, SND_SOC_BIAS_STANDBY); | 3261 | wm8994_set_bias_level(codec, SND_SOC_BIAS_STANDBY); |
3262 | 3262 | ||
3263 | /* Latch volume updates (right only; we always do left then right). */ | 3263 | /* Latch volume updates (right only; we always do left then right). */ |
3264 | snd_soc_update_bits(codec, WM8994_AIF1_DAC1_LEFT_VOLUME, | ||
3265 | WM8994_AIF1DAC1_VU, WM8994_AIF1DAC1_VU); | ||
3264 | snd_soc_update_bits(codec, WM8994_AIF1_DAC1_RIGHT_VOLUME, | 3266 | snd_soc_update_bits(codec, WM8994_AIF1_DAC1_RIGHT_VOLUME, |
3265 | WM8994_AIF1DAC1_VU, WM8994_AIF1DAC1_VU); | 3267 | WM8994_AIF1DAC1_VU, WM8994_AIF1DAC1_VU); |
3268 | snd_soc_update_bits(codec, WM8994_AIF1_DAC2_LEFT_VOLUME, | ||
3269 | WM8994_AIF1DAC2_VU, WM8994_AIF1DAC2_VU); | ||
3266 | snd_soc_update_bits(codec, WM8994_AIF1_DAC2_RIGHT_VOLUME, | 3270 | snd_soc_update_bits(codec, WM8994_AIF1_DAC2_RIGHT_VOLUME, |
3267 | WM8994_AIF1DAC2_VU, WM8994_AIF1DAC2_VU); | 3271 | WM8994_AIF1DAC2_VU, WM8994_AIF1DAC2_VU); |
3272 | snd_soc_update_bits(codec, WM8994_AIF2_DAC_LEFT_VOLUME, | ||
3273 | WM8994_AIF2DAC_VU, WM8994_AIF2DAC_VU); | ||
3268 | snd_soc_update_bits(codec, WM8994_AIF2_DAC_RIGHT_VOLUME, | 3274 | snd_soc_update_bits(codec, WM8994_AIF2_DAC_RIGHT_VOLUME, |
3269 | WM8994_AIF2DAC_VU, WM8994_AIF2DAC_VU); | 3275 | WM8994_AIF2DAC_VU, WM8994_AIF2DAC_VU); |
3276 | snd_soc_update_bits(codec, WM8994_AIF1_ADC1_LEFT_VOLUME, | ||
3277 | WM8994_AIF1ADC1_VU, WM8994_AIF1ADC1_VU); | ||
3270 | snd_soc_update_bits(codec, WM8994_AIF1_ADC1_RIGHT_VOLUME, | 3278 | snd_soc_update_bits(codec, WM8994_AIF1_ADC1_RIGHT_VOLUME, |
3271 | WM8994_AIF1ADC1_VU, WM8994_AIF1ADC1_VU); | 3279 | WM8994_AIF1ADC1_VU, WM8994_AIF1ADC1_VU); |
3280 | snd_soc_update_bits(codec, WM8994_AIF1_ADC2_LEFT_VOLUME, | ||
3281 | WM8994_AIF1ADC2_VU, WM8994_AIF1ADC2_VU); | ||
3272 | snd_soc_update_bits(codec, WM8994_AIF1_ADC2_RIGHT_VOLUME, | 3282 | snd_soc_update_bits(codec, WM8994_AIF1_ADC2_RIGHT_VOLUME, |
3273 | WM8994_AIF1ADC2_VU, WM8994_AIF1ADC2_VU); | 3283 | WM8994_AIF1ADC2_VU, WM8994_AIF1ADC2_VU); |
3284 | snd_soc_update_bits(codec, WM8994_AIF2_ADC_LEFT_VOLUME, | ||
3285 | WM8994_AIF2ADC_VU, WM8994_AIF1ADC2_VU); | ||
3274 | snd_soc_update_bits(codec, WM8994_AIF2_ADC_RIGHT_VOLUME, | 3286 | snd_soc_update_bits(codec, WM8994_AIF2_ADC_RIGHT_VOLUME, |
3275 | WM8994_AIF2ADC_VU, WM8994_AIF1ADC2_VU); | 3287 | WM8994_AIF2ADC_VU, WM8994_AIF1ADC2_VU); |
3288 | snd_soc_update_bits(codec, WM8994_DAC1_LEFT_VOLUME, | ||
3289 | WM8994_DAC1_VU, WM8994_DAC1_VU); | ||
3276 | snd_soc_update_bits(codec, WM8994_DAC1_RIGHT_VOLUME, | 3290 | snd_soc_update_bits(codec, WM8994_DAC1_RIGHT_VOLUME, |
3277 | WM8994_DAC1_VU, WM8994_DAC1_VU); | 3291 | WM8994_DAC1_VU, WM8994_DAC1_VU); |
3292 | snd_soc_update_bits(codec, WM8994_DAC2_LEFT_VOLUME, | ||
3293 | WM8994_DAC2_VU, WM8994_DAC2_VU); | ||
3278 | snd_soc_update_bits(codec, WM8994_DAC2_RIGHT_VOLUME, | 3294 | snd_soc_update_bits(codec, WM8994_DAC2_RIGHT_VOLUME, |
3279 | WM8994_DAC2_VU, WM8994_DAC2_VU); | 3295 | WM8994_DAC2_VU, WM8994_DAC2_VU); |
3280 | 3296 | ||
diff --git a/sound/soc/codecs/wm9081.c b/sound/soc/codecs/wm9081.c index 55cdf2982020..91c6b39de50c 100644 --- a/sound/soc/codecs/wm9081.c +++ b/sound/soc/codecs/wm9081.c | |||
@@ -305,7 +305,7 @@ static int speaker_mode_get(struct snd_kcontrol *kcontrol, | |||
305 | /* | 305 | /* |
306 | * Stop any attempts to change speaker mode while the speaker is enabled. | 306 | * Stop any attempts to change speaker mode while the speaker is enabled. |
307 | * | 307 | * |
308 | * We also have some special anti-pop controls dependant on speaker | 308 | * We also have some special anti-pop controls dependent on speaker |
309 | * mode which must be changed along with the mode. | 309 | * mode which must be changed along with the mode. |
310 | */ | 310 | */ |
311 | static int speaker_mode_put(struct snd_kcontrol *kcontrol, | 311 | static int speaker_mode_put(struct snd_kcontrol *kcontrol, |
@@ -456,7 +456,7 @@ static int fll_factors(struct _fll_div *fll_div, unsigned int Fref, | |||
456 | 456 | ||
457 | pr_debug("Fvco=%dHz\n", target); | 457 | pr_debug("Fvco=%dHz\n", target); |
458 | 458 | ||
459 | /* Find an appropraite FLL_FRATIO and factor it out of the target */ | 459 | /* Find an appropriate FLL_FRATIO and factor it out of the target */ |
460 | for (i = 0; i < ARRAY_SIZE(fll_fratios); i++) { | 460 | for (i = 0; i < ARRAY_SIZE(fll_fratios); i++) { |
461 | if (fll_fratios[i].min <= Fref && Fref <= fll_fratios[i].max) { | 461 | if (fll_fratios[i].min <= Fref && Fref <= fll_fratios[i].max) { |
462 | fll_div->fll_fratio = fll_fratios[i].fll_fratio; | 462 | fll_div->fll_fratio = fll_fratios[i].fll_fratio; |
diff --git a/sound/soc/codecs/wm_hubs.c b/sound/soc/codecs/wm_hubs.c index 7b6b3c18e299..4005e9af5d61 100644 --- a/sound/soc/codecs/wm_hubs.c +++ b/sound/soc/codecs/wm_hubs.c | |||
@@ -740,12 +740,12 @@ static const struct snd_soc_dapm_route analogue_routes[] = { | |||
740 | 740 | ||
741 | { "SPKL", "Input Switch", "MIXINL" }, | 741 | { "SPKL", "Input Switch", "MIXINL" }, |
742 | { "SPKL", "IN1LP Switch", "IN1LP" }, | 742 | { "SPKL", "IN1LP Switch", "IN1LP" }, |
743 | { "SPKL", "Output Switch", "Left Output Mixer" }, | 743 | { "SPKL", "Output Switch", "Left Output PGA" }, |
744 | { "SPKL", NULL, "TOCLK" }, | 744 | { "SPKL", NULL, "TOCLK" }, |
745 | 745 | ||
746 | { "SPKR", "Input Switch", "MIXINR" }, | 746 | { "SPKR", "Input Switch", "MIXINR" }, |
747 | { "SPKR", "IN1RP Switch", "IN1RP" }, | 747 | { "SPKR", "IN1RP Switch", "IN1RP" }, |
748 | { "SPKR", "Output Switch", "Right Output Mixer" }, | 748 | { "SPKR", "Output Switch", "Right Output PGA" }, |
749 | { "SPKR", NULL, "TOCLK" }, | 749 | { "SPKR", NULL, "TOCLK" }, |
750 | 750 | ||
751 | { "SPKL Boost", "Direct Voice Switch", "Direct Voice" }, | 751 | { "SPKL Boost", "Direct Voice Switch", "Direct Voice" }, |
@@ -767,8 +767,8 @@ static const struct snd_soc_dapm_route analogue_routes[] = { | |||
767 | { "SPKOUTRP", NULL, "SPKR Driver" }, | 767 | { "SPKOUTRP", NULL, "SPKR Driver" }, |
768 | { "SPKOUTRN", NULL, "SPKR Driver" }, | 768 | { "SPKOUTRN", NULL, "SPKR Driver" }, |
769 | 769 | ||
770 | { "Left Headphone Mux", "Mixer", "Left Output Mixer" }, | 770 | { "Left Headphone Mux", "Mixer", "Left Output PGA" }, |
771 | { "Right Headphone Mux", "Mixer", "Right Output Mixer" }, | 771 | { "Right Headphone Mux", "Mixer", "Right Output PGA" }, |
772 | 772 | ||
773 | { "Headphone PGA", NULL, "Left Headphone Mux" }, | 773 | { "Headphone PGA", NULL, "Left Headphone Mux" }, |
774 | { "Headphone PGA", NULL, "Right Headphone Mux" }, | 774 | { "Headphone PGA", NULL, "Right Headphone Mux" }, |
diff --git a/sound/soc/imx/imx-ssi.c b/sound/soc/imx/imx-ssi.c index bc92ec620004..ac2ded969253 100644 --- a/sound/soc/imx/imx-ssi.c +++ b/sound/soc/imx/imx-ssi.c | |||
@@ -16,7 +16,7 @@ | |||
16 | * sane processor vendors have a FIFO per AC97 slot, the i.MX has only | 16 | * sane processor vendors have a FIFO per AC97 slot, the i.MX has only |
17 | * one FIFO which combines all valid receive slots. We cannot even select | 17 | * one FIFO which combines all valid receive slots. We cannot even select |
18 | * which slots we want to receive. The WM9712 with which this driver | 18 | * which slots we want to receive. The WM9712 with which this driver |
19 | * was developped with always sends GPIO status data in slot 12 which | 19 | * was developed with always sends GPIO status data in slot 12 which |
20 | * we receive in our (PCM-) data stream. The only chance we have is to | 20 | * we receive in our (PCM-) data stream. The only chance we have is to |
21 | * manually skip this data in the FIQ handler. With sampling rates different | 21 | * manually skip this data in the FIQ handler. With sampling rates different |
22 | * from 48000Hz not every frame has valid receive data, so the ratio | 22 | * from 48000Hz not every frame has valid receive data, so the ratio |
diff --git a/sound/soc/kirkwood/kirkwood-dma.c b/sound/soc/kirkwood/kirkwood-dma.c index 0fd6a630db01..e13c6ce46328 100644 --- a/sound/soc/kirkwood/kirkwood-dma.c +++ b/sound/soc/kirkwood/kirkwood-dma.c | |||
@@ -132,7 +132,7 @@ static int kirkwood_dma_open(struct snd_pcm_substream *substream) | |||
132 | priv = snd_soc_dai_get_dma_data(cpu_dai, substream); | 132 | priv = snd_soc_dai_get_dma_data(cpu_dai, substream); |
133 | snd_soc_set_runtime_hwparams(substream, &kirkwood_dma_snd_hw); | 133 | snd_soc_set_runtime_hwparams(substream, &kirkwood_dma_snd_hw); |
134 | 134 | ||
135 | /* Ensure that all constraints linked to dma burst are fullfilled */ | 135 | /* Ensure that all constraints linked to dma burst are fulfilled */ |
136 | err = snd_pcm_hw_constraint_minmax(runtime, | 136 | err = snd_pcm_hw_constraint_minmax(runtime, |
137 | SNDRV_PCM_HW_PARAM_BUFFER_BYTES, | 137 | SNDRV_PCM_HW_PARAM_BUFFER_BYTES, |
138 | priv->burst * 2, | 138 | priv->burst * 2, |
@@ -170,7 +170,7 @@ static int kirkwood_dma_open(struct snd_pcm_substream *substream) | |||
170 | 170 | ||
171 | /* | 171 | /* |
172 | * Enable Error interrupts. We're only ack'ing them but | 172 | * Enable Error interrupts. We're only ack'ing them but |
173 | * it's usefull for diagnostics | 173 | * it's useful for diagnostics |
174 | */ | 174 | */ |
175 | writel((unsigned long)-1, priv->io + KIRKWOOD_ERR_MASK); | 175 | writel((unsigned long)-1, priv->io + KIRKWOOD_ERR_MASK); |
176 | } | 176 | } |
diff --git a/sound/soc/mid-x86/sst_platform.c b/sound/soc/mid-x86/sst_platform.c index ee2c22475a76..d567c322a2fb 100644 --- a/sound/soc/mid-x86/sst_platform.c +++ b/sound/soc/mid-x86/sst_platform.c | |||
@@ -116,18 +116,20 @@ struct snd_soc_dai_driver sst_platform_dai[] = { | |||
116 | static inline void sst_set_stream_status(struct sst_runtime_stream *stream, | 116 | static inline void sst_set_stream_status(struct sst_runtime_stream *stream, |
117 | int state) | 117 | int state) |
118 | { | 118 | { |
119 | spin_lock(&stream->status_lock); | 119 | unsigned long flags; |
120 | spin_lock_irqsave(&stream->status_lock, flags); | ||
120 | stream->stream_status = state; | 121 | stream->stream_status = state; |
121 | spin_unlock(&stream->status_lock); | 122 | spin_unlock_irqrestore(&stream->status_lock, flags); |
122 | } | 123 | } |
123 | 124 | ||
124 | static inline int sst_get_stream_status(struct sst_runtime_stream *stream) | 125 | static inline int sst_get_stream_status(struct sst_runtime_stream *stream) |
125 | { | 126 | { |
126 | int state; | 127 | int state; |
128 | unsigned long flags; | ||
127 | 129 | ||
128 | spin_lock(&stream->status_lock); | 130 | spin_lock_irqsave(&stream->status_lock, flags); |
129 | state = stream->stream_status; | 131 | state = stream->stream_status; |
130 | spin_unlock(&stream->status_lock); | 132 | spin_unlock_irqrestore(&stream->status_lock, flags); |
131 | return state; | 133 | return state; |
132 | } | 134 | } |
133 | 135 | ||
@@ -440,7 +442,7 @@ static int sst_platform_remove(struct platform_device *pdev) | |||
440 | 442 | ||
441 | snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(sst_platform_dai)); | 443 | snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(sst_platform_dai)); |
442 | snd_soc_unregister_platform(&pdev->dev); | 444 | snd_soc_unregister_platform(&pdev->dev); |
443 | pr_debug("sst_platform_remove sucess\n"); | 445 | pr_debug("sst_platform_remove success\n"); |
444 | return 0; | 446 | return 0; |
445 | } | 447 | } |
446 | 448 | ||
@@ -463,7 +465,7 @@ module_init(sst_soc_platform_init); | |||
463 | static void __exit sst_soc_platform_exit(void) | 465 | static void __exit sst_soc_platform_exit(void) |
464 | { | 466 | { |
465 | platform_driver_unregister(&sst_platform_driver); | 467 | platform_driver_unregister(&sst_platform_driver); |
466 | pr_debug("sst_soc_platform_exit sucess\n"); | 468 | pr_debug("sst_soc_platform_exit success\n"); |
467 | } | 469 | } |
468 | module_exit(sst_soc_platform_exit); | 470 | module_exit(sst_soc_platform_exit); |
469 | 471 | ||
diff --git a/sound/soc/omap/ams-delta.c b/sound/soc/omap/ams-delta.c index 3167be689621..462cbcbea74a 100644 --- a/sound/soc/omap/ams-delta.c +++ b/sound/soc/omap/ams-delta.c | |||
@@ -248,7 +248,7 @@ static struct snd_soc_jack_pin ams_delta_hook_switch_pins[] = { | |||
248 | */ | 248 | */ |
249 | 249 | ||
250 | /* To actually apply any modem controlled configuration changes to the codec, | 250 | /* To actually apply any modem controlled configuration changes to the codec, |
251 | * we must connect codec DAI pins to the modem for a moment. Be carefull not | 251 | * we must connect codec DAI pins to the modem for a moment. Be careful not |
252 | * to interfere with our digital mute function that shares the same hardware. */ | 252 | * to interfere with our digital mute function that shares the same hardware. */ |
253 | static struct timer_list cx81801_timer; | 253 | static struct timer_list cx81801_timer; |
254 | static bool cx81801_cmd_pending; | 254 | static bool cx81801_cmd_pending; |
@@ -402,9 +402,9 @@ static struct tty_ldisc_ops cx81801_ops = { | |||
402 | 402 | ||
403 | 403 | ||
404 | /* | 404 | /* |
405 | * Even if not very usefull, the sound card can still work without any of the | 405 | * Even if not very useful, the sound card can still work without any of the |
406 | * above functonality activated. You can still control its audio input/output | 406 | * above functonality activated. You can still control its audio input/output |
407 | * constellation and speakerphone gain from userspace by issueing AT commands | 407 | * constellation and speakerphone gain from userspace by issuing AT commands |
408 | * over the modem port. | 408 | * over the modem port. |
409 | */ | 409 | */ |
410 | 410 | ||
diff --git a/sound/soc/samsung/neo1973_wm8753.c b/sound/soc/samsung/neo1973_wm8753.c index 78bfdb3f5d7e..452230975632 100644 --- a/sound/soc/samsung/neo1973_wm8753.c +++ b/sound/soc/samsung/neo1973_wm8753.c | |||
@@ -228,7 +228,7 @@ static const struct snd_kcontrol_new neo1973_wm8753_controls[] = { | |||
228 | SOC_DAPM_PIN_SWITCH("Handset Mic"), | 228 | SOC_DAPM_PIN_SWITCH("Handset Mic"), |
229 | }; | 229 | }; |
230 | 230 | ||
231 | /* GTA02 specific routes and controlls */ | 231 | /* GTA02 specific routes and controls */ |
232 | 232 | ||
233 | #ifdef CONFIG_MACH_NEO1973_GTA02 | 233 | #ifdef CONFIG_MACH_NEO1973_GTA02 |
234 | 234 | ||
@@ -372,7 +372,7 @@ static int neo1973_wm8753_init(struct snd_soc_pcm_runtime *rtd) | |||
372 | return 0; | 372 | return 0; |
373 | } | 373 | } |
374 | 374 | ||
375 | /* GTA01 specific controlls */ | 375 | /* GTA01 specific controls */ |
376 | 376 | ||
377 | #ifdef CONFIG_MACH_NEO1973_GTA01 | 377 | #ifdef CONFIG_MACH_NEO1973_GTA01 |
378 | 378 | ||
diff --git a/sound/soc/samsung/pcm.c b/sound/soc/samsung/pcm.c index 38aac7d57a59..9c7e8b48aed6 100644 --- a/sound/soc/samsung/pcm.c +++ b/sound/soc/samsung/pcm.c | |||
@@ -350,8 +350,8 @@ static int s3c_pcm_set_fmt(struct snd_soc_dai *cpu_dai, | |||
350 | ctl = readl(regs + S3C_PCM_CTL); | 350 | ctl = readl(regs + S3C_PCM_CTL); |
351 | 351 | ||
352 | switch (fmt & SND_SOC_DAIFMT_INV_MASK) { | 352 | switch (fmt & SND_SOC_DAIFMT_INV_MASK) { |
353 | case SND_SOC_DAIFMT_NB_NF: | 353 | case SND_SOC_DAIFMT_IB_NF: |
354 | /* Nothing to do, NB_NF by default */ | 354 | /* Nothing to do, IB_NF by default */ |
355 | break; | 355 | break; |
356 | default: | 356 | default: |
357 | dev_err(pcm->dev, "Unsupported clock inversion!\n"); | 357 | dev_err(pcm->dev, "Unsupported clock inversion!\n"); |
diff --git a/sound/soc/sh/fsi.c b/sound/soc/sh/fsi.c index 0c9997e2d8c0..23c0e83d4c19 100644 --- a/sound/soc/sh/fsi.c +++ b/sound/soc/sh/fsi.c | |||
@@ -1200,10 +1200,11 @@ static int fsi_probe(struct platform_device *pdev) | |||
1200 | master->fsib.master = master; | 1200 | master->fsib.master = master; |
1201 | 1201 | ||
1202 | pm_runtime_enable(&pdev->dev); | 1202 | pm_runtime_enable(&pdev->dev); |
1203 | pm_runtime_resume(&pdev->dev); | ||
1204 | dev_set_drvdata(&pdev->dev, master); | 1203 | dev_set_drvdata(&pdev->dev, master); |
1205 | 1204 | ||
1205 | pm_runtime_get_sync(&pdev->dev); | ||
1206 | fsi_soft_all_reset(master); | 1206 | fsi_soft_all_reset(master); |
1207 | pm_runtime_put_sync(&pdev->dev); | ||
1207 | 1208 | ||
1208 | ret = request_irq(irq, &fsi_interrupt, IRQF_DISABLED, | 1209 | ret = request_irq(irq, &fsi_interrupt, IRQF_DISABLED, |
1209 | id_entry->name, master); | 1210 | id_entry->name, master); |
@@ -1218,8 +1219,17 @@ static int fsi_probe(struct platform_device *pdev) | |||
1218 | goto exit_free_irq; | 1219 | goto exit_free_irq; |
1219 | } | 1220 | } |
1220 | 1221 | ||
1221 | return snd_soc_register_dais(&pdev->dev, fsi_soc_dai, ARRAY_SIZE(fsi_soc_dai)); | 1222 | ret = snd_soc_register_dais(&pdev->dev, fsi_soc_dai, |
1223 | ARRAY_SIZE(fsi_soc_dai)); | ||
1224 | if (ret < 0) { | ||
1225 | dev_err(&pdev->dev, "cannot snd dai register\n"); | ||
1226 | goto exit_snd_soc; | ||
1227 | } | ||
1228 | |||
1229 | return ret; | ||
1222 | 1230 | ||
1231 | exit_snd_soc: | ||
1232 | snd_soc_unregister_platform(&pdev->dev); | ||
1223 | exit_free_irq: | 1233 | exit_free_irq: |
1224 | free_irq(irq, master); | 1234 | free_irq(irq, master); |
1225 | exit_iounmap: | 1235 | exit_iounmap: |
@@ -1238,12 +1248,11 @@ static int fsi_remove(struct platform_device *pdev) | |||
1238 | 1248 | ||
1239 | master = dev_get_drvdata(&pdev->dev); | 1249 | master = dev_get_drvdata(&pdev->dev); |
1240 | 1250 | ||
1241 | snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(fsi_soc_dai)); | 1251 | free_irq(master->irq, master); |
1242 | snd_soc_unregister_platform(&pdev->dev); | ||
1243 | |||
1244 | pm_runtime_disable(&pdev->dev); | 1252 | pm_runtime_disable(&pdev->dev); |
1245 | 1253 | ||
1246 | free_irq(master->irq, master); | 1254 | snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(fsi_soc_dai)); |
1255 | snd_soc_unregister_platform(&pdev->dev); | ||
1247 | 1256 | ||
1248 | iounmap(master->base); | 1257 | iounmap(master->base); |
1249 | kfree(master); | 1258 | kfree(master); |
@@ -1321,3 +1330,4 @@ module_exit(fsi_mobile_exit); | |||
1321 | MODULE_LICENSE("GPL"); | 1330 | MODULE_LICENSE("GPL"); |
1322 | MODULE_DESCRIPTION("SuperH onchip FSI audio driver"); | 1331 | MODULE_DESCRIPTION("SuperH onchip FSI audio driver"); |
1323 | MODULE_AUTHOR("Kuninori Morimoto <morimoto.kuninori@renesas.com>"); | 1332 | MODULE_AUTHOR("Kuninori Morimoto <morimoto.kuninori@renesas.com>"); |
1333 | MODULE_ALIAS("platform:fsi-pcm-audio"); | ||
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index b76b74db0968..d8562ce4de7a 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c | |||
@@ -629,6 +629,7 @@ static int soc_pcm_open(struct snd_pcm_substream *substream) | |||
629 | runtime->hw.rates |= codec_dai_drv->capture.rates; | 629 | runtime->hw.rates |= codec_dai_drv->capture.rates; |
630 | } | 630 | } |
631 | 631 | ||
632 | ret = -EINVAL; | ||
632 | snd_pcm_limit_hw_rates(runtime); | 633 | snd_pcm_limit_hw_rates(runtime); |
633 | if (!runtime->hw.rates) { | 634 | if (!runtime->hw.rates) { |
634 | printk(KERN_ERR "asoc: %s <-> %s No matching rates\n", | 635 | printk(KERN_ERR "asoc: %s <-> %s No matching rates\n", |
@@ -640,7 +641,8 @@ static int soc_pcm_open(struct snd_pcm_substream *substream) | |||
640 | codec_dai->name, cpu_dai->name); | 641 | codec_dai->name, cpu_dai->name); |
641 | goto config_err; | 642 | goto config_err; |
642 | } | 643 | } |
643 | if (!runtime->hw.channels_min || !runtime->hw.channels_max) { | 644 | if (!runtime->hw.channels_min || !runtime->hw.channels_max || |
645 | runtime->hw.channels_min > runtime->hw.channels_max) { | ||
644 | printk(KERN_ERR "asoc: %s <-> %s No matching channels\n", | 646 | printk(KERN_ERR "asoc: %s <-> %s No matching channels\n", |
645 | codec_dai->name, cpu_dai->name); | 647 | codec_dai->name, cpu_dai->name); |
646 | goto config_err; | 648 | goto config_err; |
@@ -2060,6 +2062,7 @@ const struct dev_pm_ops snd_soc_pm_ops = { | |||
2060 | .resume = snd_soc_resume, | 2062 | .resume = snd_soc_resume, |
2061 | .poweroff = snd_soc_poweroff, | 2063 | .poweroff = snd_soc_poweroff, |
2062 | }; | 2064 | }; |
2065 | EXPORT_SYMBOL_GPL(snd_soc_pm_ops); | ||
2063 | 2066 | ||
2064 | /* ASoC platform driver */ | 2067 | /* ASoC platform driver */ |
2065 | static struct platform_driver soc_driver = { | 2068 | static struct platform_driver soc_driver = { |
diff --git a/sound/soc/soc-jack.c b/sound/soc/soc-jack.c index fcab80b36a37..fc017c0a7b5d 100644 --- a/sound/soc/soc-jack.c +++ b/sound/soc/soc-jack.c | |||
@@ -331,7 +331,7 @@ int snd_soc_jack_add_gpios(struct snd_soc_jack *jack, int count, | |||
331 | goto err; | 331 | goto err; |
332 | 332 | ||
333 | if (gpios[i].wake) { | 333 | if (gpios[i].wake) { |
334 | ret = set_irq_wake(gpio_to_irq(gpios[i].gpio), 1); | 334 | ret = irq_set_irq_wake(gpio_to_irq(gpios[i].gpio), 1); |
335 | if (ret != 0) | 335 | if (ret != 0) |
336 | printk(KERN_ERR | 336 | printk(KERN_ERR |
337 | "Failed to mark GPIO %d as wake source: %d\n", | 337 | "Failed to mark GPIO %d as wake source: %d\n", |
diff --git a/sound/soc/tegra/harmony.c b/sound/soc/tegra/harmony.c index 8585957477eb..556a57133925 100644 --- a/sound/soc/tegra/harmony.c +++ b/sound/soc/tegra/harmony.c | |||
@@ -370,6 +370,7 @@ static struct platform_driver tegra_snd_harmony_driver = { | |||
370 | .driver = { | 370 | .driver = { |
371 | .name = DRV_NAME, | 371 | .name = DRV_NAME, |
372 | .owner = THIS_MODULE, | 372 | .owner = THIS_MODULE, |
373 | .pm = &snd_soc_pm_ops, | ||
373 | }, | 374 | }, |
374 | .probe = tegra_snd_harmony_probe, | 375 | .probe = tegra_snd_harmony_probe, |
375 | .remove = __devexit_p(tegra_snd_harmony_remove), | 376 | .remove = __devexit_p(tegra_snd_harmony_remove), |
diff --git a/sound/usb/6fire/firmware.c b/sound/usb/6fire/firmware.c index 9081a54a9c6c..86c1a3103760 100644 --- a/sound/usb/6fire/firmware.c +++ b/sound/usb/6fire/firmware.c | |||
@@ -76,7 +76,7 @@ struct ihex_record { | |||
76 | u16 address; | 76 | u16 address; |
77 | u8 len; | 77 | u8 len; |
78 | u8 data[256]; | 78 | u8 data[256]; |
79 | char error; /* true if an error occured parsing this record */ | 79 | char error; /* true if an error occurred parsing this record */ |
80 | 80 | ||
81 | u8 max_len; /* maximum record length in whole ihex */ | 81 | u8 max_len; /* maximum record length in whole ihex */ |
82 | 82 | ||
@@ -107,7 +107,7 @@ static u8 usb6fire_fw_ihex_hex(const u8 *data, u8 *crc) | |||
107 | 107 | ||
108 | /* | 108 | /* |
109 | * returns true if record is available, false otherwise. | 109 | * returns true if record is available, false otherwise. |
110 | * iff an error occured, false will be returned and record->error will be true. | 110 | * iff an error occurred, false will be returned and record->error will be true. |
111 | */ | 111 | */ |
112 | static bool usb6fire_fw_ihex_next_record(struct ihex_record *record) | 112 | static bool usb6fire_fw_ihex_next_record(struct ihex_record *record) |
113 | { | 113 | { |
diff --git a/sound/usb/format.c b/sound/usb/format.c index 5b792d2c8061..f079b5e2ab28 100644 --- a/sound/usb/format.c +++ b/sound/usb/format.c | |||
@@ -176,9 +176,11 @@ static int parse_audio_format_rates_v1(struct snd_usb_audio *chip, struct audiof | |||
176 | if (!rate) | 176 | if (!rate) |
177 | continue; | 177 | continue; |
178 | /* C-Media CM6501 mislabels its 96 kHz altsetting */ | 178 | /* C-Media CM6501 mislabels its 96 kHz altsetting */ |
179 | /* Terratec Aureon 7.1 USB C-Media 6206, too */ | ||
179 | if (rate == 48000 && nr_rates == 1 && | 180 | if (rate == 48000 && nr_rates == 1 && |
180 | (chip->usb_id == USB_ID(0x0d8c, 0x0201) || | 181 | (chip->usb_id == USB_ID(0x0d8c, 0x0201) || |
181 | chip->usb_id == USB_ID(0x0d8c, 0x0102)) && | 182 | chip->usb_id == USB_ID(0x0d8c, 0x0102) || |
183 | chip->usb_id == USB_ID(0x0ccd, 0x00b1)) && | ||
182 | fp->altsetting == 5 && fp->maxpacksize == 392) | 184 | fp->altsetting == 5 && fp->maxpacksize == 392) |
183 | rate = 96000; | 185 | rate = 96000; |
184 | /* Creative VF0470 Live Cam reports 16 kHz instead of 8kHz */ | 186 | /* Creative VF0470 Live Cam reports 16 kHz instead of 8kHz */ |
diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c index 5e4775716607..6ec33b62e6cf 100644 --- a/sound/usb/mixer.c +++ b/sound/usb/mixer.c | |||
@@ -1182,7 +1182,7 @@ static void build_feature_ctl(struct mixer_build *state, void *raw_desc, | |||
1182 | /* | 1182 | /* |
1183 | * parse a feature unit | 1183 | * parse a feature unit |
1184 | * | 1184 | * |
1185 | * most of controlls are defined here. | 1185 | * most of controls are defined here. |
1186 | */ | 1186 | */ |
1187 | static int parse_audio_feature_unit(struct mixer_build *state, int unitid, void *_ftr) | 1187 | static int parse_audio_feature_unit(struct mixer_build *state, int unitid, void *_ftr) |
1188 | { | 1188 | { |
diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c index 355759bad581..1b94ec3a3368 100644 --- a/sound/usb/quirks.c +++ b/sound/usb/quirks.c | |||
@@ -266,7 +266,7 @@ static int create_uaxx_quirk(struct snd_usb_audio *chip, | |||
266 | * audio-interface quirks | 266 | * audio-interface quirks |
267 | * | 267 | * |
268 | * returns zero if no standard audio/MIDI parsing is needed. | 268 | * returns zero if no standard audio/MIDI parsing is needed. |
269 | * returns a postive value if standard audio/midi interfaces are parsed | 269 | * returns a positive value if standard audio/midi interfaces are parsed |
270 | * after this. | 270 | * after this. |
271 | * returns a negative value at error. | 271 | * returns a negative value at error. |
272 | */ | 272 | */ |
@@ -533,6 +533,7 @@ int snd_usb_apply_boot_quirk(struct usb_device *dev, | |||
533 | 533 | ||
534 | case USB_ID(0x0d8c, 0x0102): | 534 | case USB_ID(0x0d8c, 0x0102): |
535 | /* C-Media CM6206 / CM106-Like Sound Device */ | 535 | /* C-Media CM6206 / CM106-Like Sound Device */ |
536 | case USB_ID(0x0ccd, 0x00b1): /* Terratec Aureon 7.1 USB */ | ||
536 | return snd_usb_cm6206_boot_quirk(dev); | 537 | return snd_usb_cm6206_boot_quirk(dev); |
537 | 538 | ||
538 | case USB_ID(0x133e, 0x0815): | 539 | case USB_ID(0x133e, 0x0815): |
diff --git a/sound/usb/usx2y/usx2yhwdeppcm.c b/sound/usb/usx2y/usx2yhwdeppcm.c index 287ef73b1237..a51340f6f2db 100644 --- a/sound/usb/usx2y/usx2yhwdeppcm.c +++ b/sound/usb/usx2y/usx2yhwdeppcm.c | |||
@@ -20,7 +20,7 @@ | |||
20 | at standard samplerates, | 20 | at standard samplerates, |
21 | what led to this part of the usx2y module: | 21 | what led to this part of the usx2y module: |
22 | It provides the alsa kernel half of the usx2y-alsa-jack driver pair. | 22 | It provides the alsa kernel half of the usx2y-alsa-jack driver pair. |
23 | The pair uses a hardware dependant alsa-device for mmaped pcm transport. | 23 | The pair uses a hardware dependent alsa-device for mmaped pcm transport. |
24 | Advantage achieved: | 24 | Advantage achieved: |
25 | The usb_hc moves pcm data from/into memory via DMA. | 25 | The usb_hc moves pcm data from/into memory via DMA. |
26 | That memory is mmaped by jack's usx2y driver. | 26 | That memory is mmaped by jack's usx2y driver. |
@@ -38,7 +38,7 @@ | |||
38 | 2periods works but is useless cause of crackling). | 38 | 2periods works but is useless cause of crackling). |
39 | 39 | ||
40 | This is a first "proof of concept" implementation. | 40 | This is a first "proof of concept" implementation. |
41 | Later, functionalities should migrate to more apropriate places: | 41 | Later, functionalities should migrate to more appropriate places: |
42 | Userland: | 42 | Userland: |
43 | - The jackd could mmap its float-pcm buffers directly from alsa-lib. | 43 | - The jackd could mmap its float-pcm buffers directly from alsa-lib. |
44 | - alsa-lib could provide power of 2 period sized shaping combined with int/float | 44 | - alsa-lib could provide power of 2 period sized shaping combined with int/float |