Skip to contentSkip to conversation

ASoC: Fix return value of ak4641_pcm_set_dai_fmt()

PATCH Applied Axel Lin 2 participants 4 messages Dec 30, 2011 – Jan 2, 2012

Subsystems (3)
lore
Share & tools
lore

Axel Lin

author
#0 lore raw

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.

---
 sound/soc/codecs/ak4641.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)
sound/soc/codecs/ak4641.c +6 -1
index 266ebea..c4d165a 100644
@@ -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
author
#1 lore raw

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.

---
 sound/soc/codecs/wm8580.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)
sound/soc/codecs/wm8580.c +6 -2
index b1c8d3d..2112851 100644
@@ -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
author
#2 lore raw

PATCH 3/3 ASoC: Fix return value of wm8962_gpio_direction_out()

In reply to 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.

---
 sound/soc/codecs/wm8962.c |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)
sound/soc/codecs/wm8962.c +7 -3
index be35b64..80e8b9f 100644
@@ -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
Applied
#3 lore raw
In reply to Axel Lin
Quoted 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.