forked from Minki/linux
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
This commit is contained in:
commit
9cd6315357
@ -1510,16 +1510,19 @@ static ssize_t snd_pcm_oss_read1(struct snd_pcm_substream *substream, char __use
|
||||
static int snd_pcm_oss_reset(struct snd_pcm_oss_file *pcm_oss_file)
|
||||
{
|
||||
struct snd_pcm_substream *substream;
|
||||
struct snd_pcm_runtime *runtime;
|
||||
int i;
|
||||
|
||||
substream = pcm_oss_file->streams[SNDRV_PCM_STREAM_PLAYBACK];
|
||||
if (substream != NULL) {
|
||||
for (i = 0; i < 2; i++) {
|
||||
substream = pcm_oss_file->streams[i];
|
||||
if (!substream)
|
||||
continue;
|
||||
runtime = substream->runtime;
|
||||
snd_pcm_kernel_ioctl(substream, SNDRV_PCM_IOCTL_DROP, NULL);
|
||||
substream->runtime->oss.prepare = 1;
|
||||
}
|
||||
substream = pcm_oss_file->streams[SNDRV_PCM_STREAM_CAPTURE];
|
||||
if (substream != NULL) {
|
||||
snd_pcm_kernel_ioctl(substream, SNDRV_PCM_IOCTL_DROP, NULL);
|
||||
substream->runtime->oss.prepare = 1;
|
||||
runtime->oss.prepare = 1;
|
||||
runtime->oss.buffer_used = 0;
|
||||
runtime->oss.prev_hw_ptr_period = 0;
|
||||
runtime->oss.period_ptr = 0;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@ -9865,7 +9865,6 @@ static struct snd_pci_quirk alc882_cfg_tbl[] = {
|
||||
SND_PCI_QUIRK(0x17aa, 0x3bfc, "Lenovo NB0763", ALC883_LENOVO_NB0763),
|
||||
SND_PCI_QUIRK(0x17aa, 0x3bfd, "Lenovo NB0763", ALC883_LENOVO_NB0763),
|
||||
SND_PCI_QUIRK(0x17aa, 0x101d, "Lenovo Sky", ALC888_LENOVO_SKY),
|
||||
SND_PCI_QUIRK(0x17c0, 0x4071, "MEDION MD2", ALC883_MEDION_MD2),
|
||||
SND_PCI_QUIRK(0x17c0, 0x4085, "MEDION MD96630", ALC888_LENOVO_MS7195_DIG),
|
||||
SND_PCI_QUIRK(0x17f2, 0x5000, "Albatron KI690-AM2", ALC883_6ST_DIG),
|
||||
SND_PCI_QUIRK(0x1991, 0x5625, "Haier W66", ALC883_HAIER_W66),
|
||||
|
@ -1627,6 +1627,8 @@ static struct snd_pci_quirk stac92hd73xx_cfg_tbl[] = {
|
||||
static struct snd_pci_quirk stac92hd73xx_codec_id_cfg_tbl[] = {
|
||||
SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x02a1,
|
||||
"Alienware M17x", STAC_ALIENWARE_M17X),
|
||||
SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x043a,
|
||||
"Alienware M17x", STAC_ALIENWARE_M17X),
|
||||
{} /* terminator */
|
||||
};
|
||||
|
||||
|
@ -526,7 +526,7 @@ static int wm8731_probe(struct snd_soc_codec *codec)
|
||||
snd_soc_update_bits(codec, WM8731_RINVOL, 0x100, 0);
|
||||
|
||||
/* Disable bypass path by default */
|
||||
snd_soc_update_bits(codec, WM8731_APANA, 0x4, 0);
|
||||
snd_soc_update_bits(codec, WM8731_APANA, 0x8, 0);
|
||||
|
||||
snd_soc_add_controls(codec, wm8731_snd_controls,
|
||||
ARRAY_SIZE(wm8731_snd_controls));
|
||||
|
@ -498,6 +498,7 @@ static int mpc8610_hpcd_probe(struct platform_device *pdev)
|
||||
dev_err(&pdev->dev, "platform device add failed\n");
|
||||
goto error;
|
||||
}
|
||||
dev_set_drvdata(&pdev->dev, sound_device);
|
||||
|
||||
of_node_put(codec_np);
|
||||
|
||||
|
@ -498,6 +498,7 @@ static int p1022_ds_probe(struct platform_device *pdev)
|
||||
dev_err(&pdev->dev, "platform device add failed\n");
|
||||
goto error;
|
||||
}
|
||||
dev_set_drvdata(&pdev->dev, sound_device);
|
||||
|
||||
of_node_put(codec_np);
|
||||
|
||||
|
@ -49,7 +49,7 @@ static unsigned short nuc900_ac97_read(struct snd_ac97 *ac97,
|
||||
mutex_lock(&ac97_mutex);
|
||||
|
||||
val = nuc900_checkready();
|
||||
if (!!val) {
|
||||
if (val) {
|
||||
dev_err(nuc900_audio->dev, "AC97 codec is not ready\n");
|
||||
goto out;
|
||||
}
|
||||
@ -102,7 +102,7 @@ static void nuc900_ac97_write(struct snd_ac97 *ac97, unsigned short reg,
|
||||
mutex_lock(&ac97_mutex);
|
||||
|
||||
tmp = nuc900_checkready();
|
||||
if (!!tmp)
|
||||
if (tmp)
|
||||
dev_err(nuc900_audio->dev, "AC97 codec is not ready\n");
|
||||
|
||||
/* clear the R_WB bit and write register index */
|
||||
@ -149,7 +149,7 @@ static void nuc900_ac97_warm_reset(struct snd_ac97 *ac97)
|
||||
udelay(100);
|
||||
|
||||
val = nuc900_checkready();
|
||||
if (!!val)
|
||||
if (val)
|
||||
dev_err(nuc900_audio->dev, "AC97 codec is not ready\n");
|
||||
|
||||
mutex_unlock(&ac97_mutex);
|
||||
@ -263,8 +263,7 @@ static int nuc900_ac97_trigger(struct snd_pcm_substream *substream,
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int nuc900_ac97_probe(struct platform_device *pdev,
|
||||
struct snd_soc_dai *dai)
|
||||
static int nuc900_ac97_probe(struct snd_soc_dai *dai)
|
||||
{
|
||||
struct nuc900_audio *nuc900_audio = nuc900_ac97_data;
|
||||
unsigned long val;
|
||||
@ -284,12 +283,12 @@ static int nuc900_ac97_probe(struct platform_device *pdev,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void nuc900_ac97_remove(struct platform_device *pdev,
|
||||
struct snd_soc_dai *dai)
|
||||
static int nuc900_ac97_remove(struct snd_soc_dai *dai)
|
||||
{
|
||||
struct nuc900_audio *nuc900_audio = nuc900_ac97_data;
|
||||
|
||||
clk_disable(nuc900_audio->clk);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct snd_soc_dai_ops nuc900_ac97_dai_ops = {
|
||||
@ -313,7 +312,7 @@ static struct snd_soc_dai_driver nuc900_ac97_dai = {
|
||||
.channels_max = 2,
|
||||
},
|
||||
.ops = &nuc900_ac97_dai_ops,
|
||||
}
|
||||
};
|
||||
|
||||
static int __devinit nuc900_ac97_drvprobe(struct platform_device *pdev)
|
||||
{
|
||||
|
@ -110,4 +110,6 @@ struct nuc900_audio {
|
||||
|
||||
};
|
||||
|
||||
extern struct nuc900_audio *nuc900_ac97_data;
|
||||
|
||||
#endif /*end _NUC900_AUDIO_H */
|
||||
|
@ -50,12 +50,12 @@ static int nuc900_dma_hw_params(struct snd_pcm_substream *substream,
|
||||
unsigned long flags;
|
||||
int ret = 0;
|
||||
|
||||
spin_lock_irqsave(&nuc900_audio->lock, flags);
|
||||
|
||||
ret = snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(params));
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
spin_lock_irqsave(&nuc900_audio->lock, flags);
|
||||
|
||||
nuc900_audio->substream = substream;
|
||||
nuc900_audio->dma_addr[substream->stream] = runtime->dma_addr;
|
||||
nuc900_audio->buffersize[substream->stream] =
|
||||
@ -169,6 +169,7 @@ static int nuc900_dma_prepare(struct snd_pcm_substream *substream)
|
||||
struct snd_pcm_runtime *runtime = substream->runtime;
|
||||
struct nuc900_audio *nuc900_audio = runtime->private_data;
|
||||
unsigned long flags, val;
|
||||
int ret = 0;
|
||||
|
||||
spin_lock_irqsave(&nuc900_audio->lock, flags);
|
||||
|
||||
@ -197,10 +198,10 @@ static int nuc900_dma_prepare(struct snd_pcm_substream *substream)
|
||||
AUDIO_WRITE(nuc900_audio->mmio + ACTL_RESET, val);
|
||||
break;
|
||||
default:
|
||||
return -EINVAL;
|
||||
ret = -EINVAL;
|
||||
}
|
||||
spin_unlock_irqrestore(&nuc900_audio->lock, flags);
|
||||
return 0;
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int nuc900_dma_trigger(struct snd_pcm_substream *substream, int cmd)
|
||||
@ -332,7 +333,7 @@ static struct snd_soc_platform_driver nuc900_soc_platform = {
|
||||
.ops = &nuc900_dma_ops,
|
||||
.pcm_new = nuc900_dma_new,
|
||||
.pcm_free = nuc900_dma_free_dma_buffers,
|
||||
}
|
||||
};
|
||||
|
||||
static int __devinit nuc900_soc_platform_probe(struct platform_device *pdev)
|
||||
{
|
||||
|
@ -12,8 +12,8 @@ config SND_OMAP_SOC_MCPDM
|
||||
config SND_OMAP_SOC_N810
|
||||
tristate "SoC Audio support for Nokia N810"
|
||||
depends on SND_OMAP_SOC && MACH_NOKIA_N810 && I2C
|
||||
depends on OMAP_MUX
|
||||
select SND_OMAP_SOC_MCBSP
|
||||
select OMAP_MUX
|
||||
select SND_SOC_TLV320AIC3X
|
||||
help
|
||||
Say Y if you want to add support for SoC audio on Nokia N810.
|
||||
|
@ -434,7 +434,7 @@ static struct snd_soc_dai_driver s6000_i2s_dai = {
|
||||
.rate_max = 1562500,
|
||||
},
|
||||
.ops = &s6000_i2s_dai_ops,
|
||||
}
|
||||
};
|
||||
|
||||
static int __devinit s6000_i2s_probe(struct platform_device *pdev)
|
||||
{
|
||||
|
@ -473,7 +473,7 @@ static int s6000_pcm_new(struct snd_card *card,
|
||||
}
|
||||
|
||||
res = request_irq(params->irq, s6000_pcm_irq, IRQF_SHARED,
|
||||
s6000_soc_platform.name, pcm);
|
||||
"s6000-audio", pcm);
|
||||
if (res) {
|
||||
printk(KERN_ERR "s6000-pcm couldn't get IRQ\n");
|
||||
return res;
|
||||
|
@ -167,7 +167,7 @@ static int s6105_aic3x_init(struct snd_soc_pcm_runtime *rtd)
|
||||
|
||||
snd_soc_dapm_sync(codec);
|
||||
|
||||
snd_ctl_add(codec->snd_card, snd_ctl_new1(&audio_out_mux, codec));
|
||||
snd_ctl_add(codec->card->snd_card, snd_ctl_new1(&audio_out_mux, codec));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user