diff options
Diffstat (limited to 'sound/soc/codecs/ak4104.c')
| -rw-r--r-- | sound/soc/codecs/ak4104.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/sound/soc/codecs/ak4104.c b/sound/soc/codecs/ak4104.c index 3a14c6fc4f5e..b68d99fb6af0 100644 --- a/sound/soc/codecs/ak4104.c +++ b/sound/soc/codecs/ak4104.c | |||
| @@ -90,12 +90,10 @@ static int ak4104_spi_write(struct snd_soc_codec *codec, unsigned int reg, | |||
| 90 | if (reg >= codec->reg_cache_size) | 90 | if (reg >= codec->reg_cache_size) |
| 91 | return -EINVAL; | 91 | return -EINVAL; |
| 92 | 92 | ||
| 93 | reg &= AK4104_REG_MASK; | ||
| 94 | reg |= AK4104_WRITE; | ||
| 95 | |||
| 96 | /* only write to the hardware if value has changed */ | 93 | /* only write to the hardware if value has changed */ |
| 97 | if (cache[reg] != value) { | 94 | if (cache[reg] != value) { |
| 98 | u8 tmp[2] = { reg, value }; | 95 | u8 tmp[2] = { (reg & AK4104_REG_MASK) | AK4104_WRITE, value }; |
| 96 | |||
| 99 | if (spi_write(spi, tmp, sizeof(tmp))) { | 97 | if (spi_write(spi, tmp, sizeof(tmp))) { |
| 100 | dev_err(&spi->dev, "SPI write failed\n"); | 98 | dev_err(&spi->dev, "SPI write failed\n"); |
| 101 | return -EIO; | 99 | return -EIO; |
| @@ -185,9 +183,7 @@ struct snd_soc_dai ak4104_dai = { | |||
| 185 | .stream_name = "Playback", | 183 | .stream_name = "Playback", |
| 186 | .channels_min = 2, | 184 | .channels_min = 2, |
| 187 | .channels_max = 2, | 185 | .channels_max = 2, |
| 188 | .rates = SNDRV_PCM_RATE_44100 | | 186 | .rates = SNDRV_PCM_RATE_8000_192000, |
| 189 | SNDRV_PCM_RATE_48000 | | ||
| 190 | SNDRV_PCM_RATE_32000, | ||
| 191 | .formats = SNDRV_PCM_FMTBIT_S16_LE | | 187 | .formats = SNDRV_PCM_FMTBIT_S16_LE | |
| 192 | SNDRV_PCM_FMTBIT_S24_3LE | | 188 | SNDRV_PCM_FMTBIT_S24_3LE | |
| 193 | SNDRV_PCM_FMTBIT_S24_LE | 189 | SNDRV_PCM_FMTBIT_S24_LE |
