mirror of
https://github.com/torvalds/linux.git
synced 2024-11-13 15:41:39 +00:00
Merge branch 'topic/asoc' into for-linus
This commit is contained in:
commit
f0f20a1698
@ -90,12 +90,10 @@ static int ak4104_spi_write(struct snd_soc_codec *codec, unsigned int reg,
|
||||
if (reg >= codec->reg_cache_size)
|
||||
return -EINVAL;
|
||||
|
||||
reg &= AK4104_REG_MASK;
|
||||
reg |= AK4104_WRITE;
|
||||
|
||||
/* only write to the hardware if value has changed */
|
||||
if (cache[reg] != value) {
|
||||
u8 tmp[2] = { reg, value };
|
||||
u8 tmp[2] = { (reg & AK4104_REG_MASK) | AK4104_WRITE, value };
|
||||
|
||||
if (spi_write(spi, tmp, sizeof(tmp))) {
|
||||
dev_err(&spi->dev, "SPI write failed\n");
|
||||
return -EIO;
|
||||
|
@ -427,24 +427,24 @@ static int soc_pcm_open(struct snd_pcm_substream *substream)
|
||||
if (!runtime->hw.rates) {
|
||||
printk(KERN_ERR "asoc: %s <-> %s No matching rates\n",
|
||||
codec_dai->name, cpu_dai->name);
|
||||
goto machine_err;
|
||||
goto config_err;
|
||||
}
|
||||
if (!runtime->hw.formats) {
|
||||
printk(KERN_ERR "asoc: %s <-> %s No matching formats\n",
|
||||
codec_dai->name, cpu_dai->name);
|
||||
goto machine_err;
|
||||
goto config_err;
|
||||
}
|
||||
if (!runtime->hw.channels_min || !runtime->hw.channels_max) {
|
||||
printk(KERN_ERR "asoc: %s <-> %s No matching channels\n",
|
||||
codec_dai->name, cpu_dai->name);
|
||||
goto machine_err;
|
||||
goto config_err;
|
||||
}
|
||||
|
||||
/* Symmetry only applies if we've already got an active stream. */
|
||||
if (cpu_dai->active || codec_dai->active) {
|
||||
ret = soc_pcm_apply_symmetry(substream);
|
||||
if (ret != 0)
|
||||
goto machine_err;
|
||||
goto config_err;
|
||||
}
|
||||
|
||||
pr_debug("asoc: %s <-> %s info:\n", codec_dai->name, cpu_dai->name);
|
||||
@ -464,10 +464,14 @@ static int soc_pcm_open(struct snd_pcm_substream *substream)
|
||||
mutex_unlock(&pcm_mutex);
|
||||
return 0;
|
||||
|
||||
machine_err:
|
||||
config_err:
|
||||
if (machine->ops && machine->ops->shutdown)
|
||||
machine->ops->shutdown(substream);
|
||||
|
||||
machine_err:
|
||||
if (codec_dai->ops->shutdown)
|
||||
codec_dai->ops->shutdown(substream, codec_dai);
|
||||
|
||||
codec_dai_err:
|
||||
if (platform->pcm_ops->close)
|
||||
platform->pcm_ops->close(substream);
|
||||
|
Loading…
Reference in New Issue
Block a user