mirror of https://gitee.com/openkylin/linux.git
Merge branch 'for-2.6.39' into for-2.6.40
This commit is contained in:
commit
a19809875f
|
@ -918,7 +918,7 @@ static struct platform_driver sn95031_codec_driver = {
|
|||
.owner = THIS_MODULE,
|
||||
},
|
||||
.probe = sn95031_device_probe,
|
||||
.remove = sn95031_device_remove,
|
||||
.remove = __devexit_p(sn95031_device_remove),
|
||||
};
|
||||
|
||||
static int __init sn95031_init(void)
|
||||
|
|
|
@ -740,12 +740,12 @@ static const struct snd_soc_dapm_route analogue_routes[] = {
|
|||
|
||||
{ "SPKL", "Input Switch", "MIXINL" },
|
||||
{ "SPKL", "IN1LP Switch", "IN1LP" },
|
||||
{ "SPKL", "Output Switch", "Left Output Mixer" },
|
||||
{ "SPKL", "Output Switch", "Left Output PGA" },
|
||||
{ "SPKL", NULL, "TOCLK" },
|
||||
|
||||
{ "SPKR", "Input Switch", "MIXINR" },
|
||||
{ "SPKR", "IN1RP Switch", "IN1RP" },
|
||||
{ "SPKR", "Output Switch", "Right Output Mixer" },
|
||||
{ "SPKR", "Output Switch", "Right Output PGA" },
|
||||
{ "SPKR", NULL, "TOCLK" },
|
||||
|
||||
{ "SPKL Boost", "Direct Voice Switch", "Direct Voice" },
|
||||
|
@ -767,8 +767,8 @@ static const struct snd_soc_dapm_route analogue_routes[] = {
|
|||
{ "SPKOUTRP", NULL, "SPKR Driver" },
|
||||
{ "SPKOUTRN", NULL, "SPKR Driver" },
|
||||
|
||||
{ "Left Headphone Mux", "Mixer", "Left Output Mixer" },
|
||||
{ "Right Headphone Mux", "Mixer", "Right Output Mixer" },
|
||||
{ "Left Headphone Mux", "Mixer", "Left Output PGA" },
|
||||
{ "Right Headphone Mux", "Mixer", "Right Output PGA" },
|
||||
|
||||
{ "Headphone PGA", NULL, "Left Headphone Mux" },
|
||||
{ "Headphone PGA", NULL, "Right Headphone Mux" },
|
||||
|
|
|
@ -116,18 +116,20 @@ struct snd_soc_dai_driver sst_platform_dai[] = {
|
|||
static inline void sst_set_stream_status(struct sst_runtime_stream *stream,
|
||||
int state)
|
||||
{
|
||||
spin_lock(&stream->status_lock);
|
||||
unsigned long flags;
|
||||
spin_lock_irqsave(&stream->status_lock, flags);
|
||||
stream->stream_status = state;
|
||||
spin_unlock(&stream->status_lock);
|
||||
spin_unlock_irqrestore(&stream->status_lock, flags);
|
||||
}
|
||||
|
||||
static inline int sst_get_stream_status(struct sst_runtime_stream *stream)
|
||||
{
|
||||
int state;
|
||||
unsigned long flags;
|
||||
|
||||
spin_lock(&stream->status_lock);
|
||||
spin_lock_irqsave(&stream->status_lock, flags);
|
||||
state = stream->stream_status;
|
||||
spin_unlock(&stream->status_lock);
|
||||
spin_unlock_irqrestore(&stream->status_lock, flags);
|
||||
return state;
|
||||
}
|
||||
|
||||
|
|
|
@ -350,8 +350,8 @@ static int s3c_pcm_set_fmt(struct snd_soc_dai *cpu_dai,
|
|||
ctl = readl(regs + S3C_PCM_CTL);
|
||||
|
||||
switch (fmt & SND_SOC_DAIFMT_INV_MASK) {
|
||||
case SND_SOC_DAIFMT_NB_NF:
|
||||
/* Nothing to do, NB_NF by default */
|
||||
case SND_SOC_DAIFMT_IB_NF:
|
||||
/* Nothing to do, IB_NF by default */
|
||||
break;
|
||||
default:
|
||||
dev_err(pcm->dev, "Unsupported clock inversion!\n");
|
||||
|
|
|
@ -1200,10 +1200,11 @@ static int fsi_probe(struct platform_device *pdev)
|
|||
master->fsib.master = master;
|
||||
|
||||
pm_runtime_enable(&pdev->dev);
|
||||
pm_runtime_resume(&pdev->dev);
|
||||
dev_set_drvdata(&pdev->dev, master);
|
||||
|
||||
pm_runtime_get_sync(&pdev->dev);
|
||||
fsi_soft_all_reset(master);
|
||||
pm_runtime_put_sync(&pdev->dev);
|
||||
|
||||
ret = request_irq(irq, &fsi_interrupt, IRQF_DISABLED,
|
||||
id_entry->name, master);
|
||||
|
@ -1218,8 +1219,17 @@ static int fsi_probe(struct platform_device *pdev)
|
|||
goto exit_free_irq;
|
||||
}
|
||||
|
||||
return snd_soc_register_dais(&pdev->dev, fsi_soc_dai, ARRAY_SIZE(fsi_soc_dai));
|
||||
ret = snd_soc_register_dais(&pdev->dev, fsi_soc_dai,
|
||||
ARRAY_SIZE(fsi_soc_dai));
|
||||
if (ret < 0) {
|
||||
dev_err(&pdev->dev, "cannot snd dai register\n");
|
||||
goto exit_snd_soc;
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
||||
exit_snd_soc:
|
||||
snd_soc_unregister_platform(&pdev->dev);
|
||||
exit_free_irq:
|
||||
free_irq(irq, master);
|
||||
exit_iounmap:
|
||||
|
@ -1238,12 +1248,11 @@ static int fsi_remove(struct platform_device *pdev)
|
|||
|
||||
master = dev_get_drvdata(&pdev->dev);
|
||||
|
||||
snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(fsi_soc_dai));
|
||||
snd_soc_unregister_platform(&pdev->dev);
|
||||
|
||||
free_irq(master->irq, master);
|
||||
pm_runtime_disable(&pdev->dev);
|
||||
|
||||
free_irq(master->irq, master);
|
||||
snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(fsi_soc_dai));
|
||||
snd_soc_unregister_platform(&pdev->dev);
|
||||
|
||||
iounmap(master->base);
|
||||
kfree(master);
|
||||
|
|
Loading…
Reference in New Issue