ASoC: Fix return value of ak4641_pcm_set_dai_fmt()
Subsystems (3)
PATCH 1/3 ASoC: Fix return value of ak4641_pcm_set_dai_fmt()
We can't just pass back the return value of snd_soc_update_bits() as it will be 1 if a bit changed rather than zero.
Signed-off-by Axel Lin <[email protected]>
--- sound/soc/codecs/ak4641.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-)
sound/soc/codecs/ak4641.c +6 -1
@@ -339,6 +339,7 @@ static int ak4641_pcm_set_dai_fmt(struct snd_soc_dai *codec_dai, {struct snd_soc_codec *codec = codec_dai->codec;u8 btif; +int ret;/* interface format */ switch (fmt &SND_SOC_DAIFMT_FORMAT_MASK ) {
@@ -358,7 +359,11 @@ static int ak4641_pcm_set_dai_fmt(struct snd_soc_dai *codec_dai,return -EINVAL ; } -return snd_soc_update_bits (codec,AK4641_BTIF , (0x3 <<5 ), btif); + ret =snd_soc_update_bits (codec,AK4641_BTIF , (0x3 <<5 ), btif); +if (ret <0 ) +return ret; + +return 0 ; } static int ak4641_i2s_set_dai_fmt(struct snd_soc_dai *codec_dai,
Signature · 1 line
1.7.5.4
PATCH 2/3 ASoC: Fix return value of wm8580_set_sysclk()
We can't just pass back the return value of snd_soc_update_bits() as it will be 1 if a bit changed rather than zero.
Signed-off-by Axel Lin <[email protected]>
--- sound/soc/codecs/wm8580.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-)
sound/soc/codecs/wm8580.c +6 -2
@@ -670,7 +670,7 @@ static int wm8580_set_sysclk(struct snd_soc_dai *dai, int clk_id, {struct snd_soc_codec *codec = dai->codec;struct wm8580_priv *wm8580 =snd_soc_codec_get_drvdata (codec); -int sel, sel_mask, sel_shift; +int ret, sel, sel_mask, sel_shift;switch (dai->driver->id) {case WM8580_DAI_PAIFRX :
@@ -711,7 +711,11 @@ static int wm8580_set_sysclk(struct snd_soc_dai *dai, int clk_id,/* We really should validate PLL settings but not yet */ wm8580->sysclk[dai->driver->id] = freq; -return snd_soc_update_bits (codec,WM8580_CLKSEL , sel_mask, sel); + ret =snd_soc_update_bits (codec,WM8580_CLKSEL , sel_mask, sel); +if (ret <0 ) +return ret; + +return 0 ; }static int wm8580_digital_mute (struct snd_soc_dai *codec_dai,int mute)
Signature · 1 line
1.7.5.4
PATCH 3/3 ASoC: Fix return value of wm8962_gpio_direction_out()
In reply to Axel LinWe can't just pass back the return value of snd_soc_update_bits() as it will be 1 if a bit changed rather than zero.
Signed-off-by Axel Lin <[email protected]>
--- sound/soc/codecs/wm8962.c | 10 +++++++--- 1 files changed, 7 insertions(+), 3 deletions(-)
sound/soc/codecs/wm8962.c +7 -3
@@ -3878,13 +3878,17 @@ static int wm8962_gpio_direction_out(struct gpio_chip *chip, {struct wm8962_priv *wm8962 =gpio_to_wm8962 (chip);struct snd_soc_codec *codec = wm8962->codec; -int val; +int ret, val;/* Force function 1 (logic output) */ val = (1 <<WM8962_GP2_FN_SHIFT ) | (value <<WM8962_GP2_LVL_SHIFT ); -return snd_soc_update_bits (codec,WM8962_GPIO_BASE + offset, -WM8962_GP2_FN_MASK |WM8962_GP2_LVL , val); + ret =snd_soc_update_bits (codec,WM8962_GPIO_BASE + offset, +WM8962_GP2_FN_MASK |WM8962_GP2_LVL , val); +if (ret <0 ) +return ret; + +return 0 ; }static struct gpio_chip wm8962_template_chip = {
Signature · 1 line
1.7.5.4
Mark Brown
AppliedQuoted 2 lines · Axel Lin
We can't just pass back the return value of
snd_soc_update_bits()as it will be 1 if a bit changed rather than zero.
Applied, thanks.