forked from Minki/linux
ASoC: don't use snd_soc_write/read on twl4030
twl4030 doesn't use regmap nor reg_cache. Its write/read are done through twl4030_reg_write/read. This driver directly calling these functions, but sometimes using snd_soc_write/read. As part of cleanup, snd_soc_codec_driver::write, read will be removed soon. Then, write/read access through snd_soc_write/read will doesn't work on this driver, since it doesn't use regmap nor reg_cache. This patch replace snd_soc_write/read to twl4030_write/read. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
2dbb29cd97
commit
3bb0f7c31b
@ -850,14 +850,14 @@ static int snd_soc_get_volsw_twl4030(struct snd_kcontrol *kcontrol,
|
|||||||
int mask = (1 << fls(max)) - 1;
|
int mask = (1 << fls(max)) - 1;
|
||||||
|
|
||||||
ucontrol->value.integer.value[0] =
|
ucontrol->value.integer.value[0] =
|
||||||
(snd_soc_read(codec, reg) >> shift) & mask;
|
(twl4030_read(codec, reg) >> shift) & mask;
|
||||||
if (ucontrol->value.integer.value[0])
|
if (ucontrol->value.integer.value[0])
|
||||||
ucontrol->value.integer.value[0] =
|
ucontrol->value.integer.value[0] =
|
||||||
max + 1 - ucontrol->value.integer.value[0];
|
max + 1 - ucontrol->value.integer.value[0];
|
||||||
|
|
||||||
if (shift != rshift) {
|
if (shift != rshift) {
|
||||||
ucontrol->value.integer.value[1] =
|
ucontrol->value.integer.value[1] =
|
||||||
(snd_soc_read(codec, reg) >> rshift) & mask;
|
(twl4030_read(codec, reg) >> rshift) & mask;
|
||||||
if (ucontrol->value.integer.value[1])
|
if (ucontrol->value.integer.value[1])
|
||||||
ucontrol->value.integer.value[1] =
|
ucontrol->value.integer.value[1] =
|
||||||
max + 1 - ucontrol->value.integer.value[1];
|
max + 1 - ucontrol->value.integer.value[1];
|
||||||
@ -908,9 +908,9 @@ static int snd_soc_get_volsw_r2_twl4030(struct snd_kcontrol *kcontrol,
|
|||||||
int mask = (1<<fls(max))-1;
|
int mask = (1<<fls(max))-1;
|
||||||
|
|
||||||
ucontrol->value.integer.value[0] =
|
ucontrol->value.integer.value[0] =
|
||||||
(snd_soc_read(codec, reg) >> shift) & mask;
|
(twl4030_read(codec, reg) >> shift) & mask;
|
||||||
ucontrol->value.integer.value[1] =
|
ucontrol->value.integer.value[1] =
|
||||||
(snd_soc_read(codec, reg2) >> shift) & mask;
|
(twl4030_read(codec, reg2) >> shift) & mask;
|
||||||
|
|
||||||
if (ucontrol->value.integer.value[0])
|
if (ucontrol->value.integer.value[0])
|
||||||
ucontrol->value.integer.value[0] =
|
ucontrol->value.integer.value[0] =
|
||||||
@ -2195,8 +2195,6 @@ static int twl4030_soc_remove(struct snd_soc_codec *codec)
|
|||||||
static const struct snd_soc_codec_driver soc_codec_dev_twl4030 = {
|
static const struct snd_soc_codec_driver soc_codec_dev_twl4030 = {
|
||||||
.probe = twl4030_soc_probe,
|
.probe = twl4030_soc_probe,
|
||||||
.remove = twl4030_soc_remove,
|
.remove = twl4030_soc_remove,
|
||||||
.read = twl4030_read,
|
|
||||||
.write = twl4030_write,
|
|
||||||
.set_bias_level = twl4030_set_bias_level,
|
.set_bias_level = twl4030_set_bias_level,
|
||||||
.idle_bias_off = true,
|
.idle_bias_off = true,
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user