ASoC: tlv320dac33: fix regression by adding back .read/.write
commit c4305af43a
("ASoC: use internal reg_cache on tlv320dac33")
removed .read/.write from driver, but it might breaks non-regmap
driver, because ALSA SoC framework might call it.
To fix this regression, this patch back .read/.write
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
c4305af43a
commit
3d3dd0d3ac
|
@ -246,6 +246,19 @@ static int dac33_write(struct snd_soc_codec *codec, unsigned int reg,
|
|||
return ret;
|
||||
}
|
||||
|
||||
static int dac33_write_locked(struct snd_soc_codec *codec, unsigned int reg,
|
||||
unsigned int value)
|
||||
{
|
||||
struct tlv320dac33_priv *dac33 = snd_soc_codec_get_drvdata(codec);
|
||||
int ret;
|
||||
|
||||
mutex_lock(&dac33->mutex);
|
||||
ret = dac33_write(codec, reg, value);
|
||||
mutex_unlock(&dac33->mutex);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
#define DAC33_I2C_ADDR_AUTOINC 0x80
|
||||
static int dac33_write16(struct snd_soc_codec *codec, unsigned int reg,
|
||||
unsigned int value)
|
||||
|
@ -1422,6 +1435,8 @@ static int dac33_soc_remove(struct snd_soc_codec *codec)
|
|||
}
|
||||
|
||||
static const struct snd_soc_codec_driver soc_codec_dev_tlv320dac33 = {
|
||||
.read = dac33_read_reg_cache,
|
||||
.write = dac33_write_locked,
|
||||
.set_bias_level = dac33_set_bias_level,
|
||||
.idle_bias_off = true,
|
||||
|
||||
|
|
Loading…
Reference in a new issue