Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
ASoC: omap: N810: Don't select CONFIG_OMAP_MUX but make it as dependency
ALSA: hda: Use "alienware" model quirk for another SSID
ASoC: WM8731: Fix incorrect mask for bypass path disable
s6105-ipcam: fix compilation
s6000-pcm: fix compilation
s6000-i2s: fix compilation
ASoC: Fix missing spin_unlock_irqrestore
ALSA: Fix SNDCTL_DSP_RESET ioctl for OSS emulation
ASoC: Add missing dev_set_drvdata in p1022_ds_probe
ASoC: Add missing dev_set_drvdata in mpc8610_hpcd_probe
ASoC: Remove unneeded !! operations while checking return value of nuc900_checkready
ASoC: Fix compile error for nuc900-pcm.c
ASoC: Fix prototype for nuc900_ac97_probe and nuc900_ac97_remove
ASoC: Fix compile error for nuc900-ac97.c
ALSA: hda: Use BIOS auto-parsing instead of existing model quirk for MEDION MD2

+35 -27
+11 -8
sound/core/oss/pcm_oss.c
··· 1510 1510 static int snd_pcm_oss_reset(struct snd_pcm_oss_file *pcm_oss_file) 1511 1511 { 1512 1512 struct snd_pcm_substream *substream; 1513 + struct snd_pcm_runtime *runtime; 1514 + int i; 1513 1515 1514 - substream = pcm_oss_file->streams[SNDRV_PCM_STREAM_PLAYBACK]; 1515 - if (substream != NULL) { 1516 + for (i = 0; i < 2; i++) { 1517 + substream = pcm_oss_file->streams[i]; 1518 + if (!substream) 1519 + continue; 1520 + runtime = substream->runtime; 1516 1521 snd_pcm_kernel_ioctl(substream, SNDRV_PCM_IOCTL_DROP, NULL); 1517 - substream->runtime->oss.prepare = 1; 1518 - } 1519 - substream = pcm_oss_file->streams[SNDRV_PCM_STREAM_CAPTURE]; 1520 - if (substream != NULL) { 1521 - snd_pcm_kernel_ioctl(substream, SNDRV_PCM_IOCTL_DROP, NULL); 1522 - substream->runtime->oss.prepare = 1; 1522 + runtime->oss.prepare = 1; 1523 + runtime->oss.buffer_used = 0; 1524 + runtime->oss.prev_hw_ptr_period = 0; 1525 + runtime->oss.period_ptr = 0; 1523 1526 } 1524 1527 return 0; 1525 1528 }
-1
sound/pci/hda/patch_realtek.c
··· 9865 9865 SND_PCI_QUIRK(0x17aa, 0x3bfc, "Lenovo NB0763", ALC883_LENOVO_NB0763), 9866 9866 SND_PCI_QUIRK(0x17aa, 0x3bfd, "Lenovo NB0763", ALC883_LENOVO_NB0763), 9867 9867 SND_PCI_QUIRK(0x17aa, 0x101d, "Lenovo Sky", ALC888_LENOVO_SKY), 9868 - SND_PCI_QUIRK(0x17c0, 0x4071, "MEDION MD2", ALC883_MEDION_MD2), 9869 9868 SND_PCI_QUIRK(0x17c0, 0x4085, "MEDION MD96630", ALC888_LENOVO_MS7195_DIG), 9870 9869 SND_PCI_QUIRK(0x17f2, 0x5000, "Albatron KI690-AM2", ALC883_6ST_DIG), 9871 9870 SND_PCI_QUIRK(0x1991, 0x5625, "Haier W66", ALC883_HAIER_W66),
+2
sound/pci/hda/patch_sigmatel.c
··· 1627 1627 static struct snd_pci_quirk stac92hd73xx_codec_id_cfg_tbl[] = { 1628 1628 SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x02a1, 1629 1629 "Alienware M17x", STAC_ALIENWARE_M17X), 1630 + SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x043a, 1631 + "Alienware M17x", STAC_ALIENWARE_M17X), 1630 1632 {} /* terminator */ 1631 1633 }; 1632 1634
+1 -1
sound/soc/codecs/wm8731.c
··· 526 526 snd_soc_update_bits(codec, WM8731_RINVOL, 0x100, 0); 527 527 528 528 /* Disable bypass path by default */ 529 - snd_soc_update_bits(codec, WM8731_APANA, 0x4, 0); 529 + snd_soc_update_bits(codec, WM8731_APANA, 0x8, 0); 530 530 531 531 snd_soc_add_controls(codec, wm8731_snd_controls, 532 532 ARRAY_SIZE(wm8731_snd_controls));
+1
sound/soc/fsl/mpc8610_hpcd.c
··· 498 498 dev_err(&pdev->dev, "platform device add failed\n"); 499 499 goto error; 500 500 } 501 + dev_set_drvdata(&pdev->dev, sound_device); 501 502 502 503 of_node_put(codec_np); 503 504
+1
sound/soc/fsl/p1022_ds.c
··· 498 498 dev_err(&pdev->dev, "platform device add failed\n"); 499 499 goto error; 500 500 } 501 + dev_set_drvdata(&pdev->dev, sound_device); 501 502 502 503 of_node_put(codec_np); 503 504
+7 -8
sound/soc/nuc900/nuc900-ac97.c
··· 49 49 mutex_lock(&ac97_mutex); 50 50 51 51 val = nuc900_checkready(); 52 - if (!!val) { 52 + if (val) { 53 53 dev_err(nuc900_audio->dev, "AC97 codec is not ready\n"); 54 54 goto out; 55 55 } ··· 102 102 mutex_lock(&ac97_mutex); 103 103 104 104 tmp = nuc900_checkready(); 105 - if (!!tmp) 105 + if (tmp) 106 106 dev_err(nuc900_audio->dev, "AC97 codec is not ready\n"); 107 107 108 108 /* clear the R_WB bit and write register index */ ··· 149 149 udelay(100); 150 150 151 151 val = nuc900_checkready(); 152 - if (!!val) 152 + if (val) 153 153 dev_err(nuc900_audio->dev, "AC97 codec is not ready\n"); 154 154 155 155 mutex_unlock(&ac97_mutex); ··· 263 263 return ret; 264 264 } 265 265 266 - static int nuc900_ac97_probe(struct platform_device *pdev, 267 - struct snd_soc_dai *dai) 266 + static int nuc900_ac97_probe(struct snd_soc_dai *dai) 268 267 { 269 268 struct nuc900_audio *nuc900_audio = nuc900_ac97_data; 270 269 unsigned long val; ··· 283 284 return 0; 284 285 } 285 286 286 - static void nuc900_ac97_remove(struct platform_device *pdev, 287 - struct snd_soc_dai *dai) 287 + static int nuc900_ac97_remove(struct snd_soc_dai *dai) 288 288 { 289 289 struct nuc900_audio *nuc900_audio = nuc900_ac97_data; 290 290 291 291 clk_disable(nuc900_audio->clk); 292 + return 0; 292 293 } 293 294 294 295 static struct snd_soc_dai_ops nuc900_ac97_dai_ops = { ··· 312 313 .channels_max = 2, 313 314 }, 314 315 .ops = &nuc900_ac97_dai_ops, 315 - } 316 + }; 316 317 317 318 static int __devinit nuc900_ac97_drvprobe(struct platform_device *pdev) 318 319 {
+2
sound/soc/nuc900/nuc900-audio.h
··· 110 110 111 111 }; 112 112 113 + extern struct nuc900_audio *nuc900_ac97_data; 114 + 113 115 #endif /*end _NUC900_AUDIO_H */
+6 -5
sound/soc/nuc900/nuc900-pcm.c
··· 50 50 unsigned long flags; 51 51 int ret = 0; 52 52 53 - spin_lock_irqsave(&nuc900_audio->lock, flags); 54 - 55 53 ret = snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(params)); 56 54 if (ret < 0) 57 55 return ret; 56 + 57 + spin_lock_irqsave(&nuc900_audio->lock, flags); 58 58 59 59 nuc900_audio->substream = substream; 60 60 nuc900_audio->dma_addr[substream->stream] = runtime->dma_addr; ··· 169 169 struct snd_pcm_runtime *runtime = substream->runtime; 170 170 struct nuc900_audio *nuc900_audio = runtime->private_data; 171 171 unsigned long flags, val; 172 + int ret = 0; 172 173 173 174 spin_lock_irqsave(&nuc900_audio->lock, flags); 174 175 ··· 198 197 AUDIO_WRITE(nuc900_audio->mmio + ACTL_RESET, val); 199 198 break; 200 199 default: 201 - return -EINVAL; 200 + ret = -EINVAL; 202 201 } 203 202 spin_unlock_irqrestore(&nuc900_audio->lock, flags); 204 - return 0; 203 + return ret; 205 204 } 206 205 207 206 static int nuc900_dma_trigger(struct snd_pcm_substream *substream, int cmd) ··· 333 332 .ops = &nuc900_dma_ops, 334 333 .pcm_new = nuc900_dma_new, 335 334 .pcm_free = nuc900_dma_free_dma_buffers, 336 - } 335 + }; 337 336 338 337 static int __devinit nuc900_soc_platform_probe(struct platform_device *pdev) 339 338 {
+1 -1
sound/soc/omap/Kconfig
··· 12 12 config SND_OMAP_SOC_N810 13 13 tristate "SoC Audio support for Nokia N810" 14 14 depends on SND_OMAP_SOC && MACH_NOKIA_N810 && I2C 15 + depends on OMAP_MUX 15 16 select SND_OMAP_SOC_MCBSP 16 - select OMAP_MUX 17 17 select SND_SOC_TLV320AIC3X 18 18 help 19 19 Say Y if you want to add support for SoC audio on Nokia N810.
+1 -1
sound/soc/s6000/s6000-i2s.c
··· 434 434 .rate_max = 1562500, 435 435 }, 436 436 .ops = &s6000_i2s_dai_ops, 437 - } 437 + }; 438 438 439 439 static int __devinit s6000_i2s_probe(struct platform_device *pdev) 440 440 {
+1 -1
sound/soc/s6000/s6000-pcm.c
··· 473 473 } 474 474 475 475 res = request_irq(params->irq, s6000_pcm_irq, IRQF_SHARED, 476 - s6000_soc_platform.name, pcm); 476 + "s6000-audio", pcm); 477 477 if (res) { 478 478 printk(KERN_ERR "s6000-pcm couldn't get IRQ\n"); 479 479 return res;
+1 -1
sound/soc/s6000/s6105-ipcam.c
··· 167 167 168 168 snd_soc_dapm_sync(codec); 169 169 170 - snd_ctl_add(codec->snd_card, snd_ctl_new1(&audio_out_mux, codec)); 170 + snd_ctl_add(codec->card->snd_card, snd_ctl_new1(&audio_out_mux, codec)); 171 171 172 172 return 0; 173 173 }