From: Mark Brown <broonie@kernel.org>
To: Dan Murphy <dmurphy@ti.com>
Cc: alsa-devel@alsa-project.org, broonie@kernel.org,
lgirdwood@gmail.com, linux-kernel@vger.kernel.org,
Mark Brown <broonie@kernel.org>,
navada@ti.com, perex@perex.cz, shifu0704@thundersoft.com,
tiwai@suse.com
Subject: Applied "ASoC: tas2770: Fix snd_soc_update_bits error handling" to the asoc tree
Date: Mon, 7 Oct 2019 19:13:25 +0100 (BST) [thread overview]
Message-ID: <20191007181325.42DD6274162F@ypsilon.sirena.org.uk> (raw)
In-Reply-To: <20191007171157.17813-1-dmurphy@ti.com>
The patch
ASoC: tas2770: Fix snd_soc_update_bits error handling
has been applied to the asoc tree at
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-5.5
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
From edd6d5393206ec9bfc74776f6f20a57f11327e1b Mon Sep 17 00:00:00 2001
From: Dan Murphy <dmurphy@ti.com>
Date: Mon, 7 Oct 2019 12:11:55 -0500
Subject: [PATCH] ASoC: tas2770: Fix snd_soc_update_bits error handling
According the documentation for snd_soc_update_bits the API
will return a 1 if the update was successful with a value change,
a 0 if the update was successful with no value change or a negative
if the command just failed.
So the value of return in the driver needs to be checked for being less
then 0 or the caller may indicate failure when the value actually
changed.
Signed-off-by: Dan Murphy <dmurphy@ti.com>
Link: https://lore.kernel.org/r/20191007171157.17813-1-dmurphy@ti.com
Signed-off-by: Mark Brown <broonie@kernel.org>
---
sound/soc/codecs/tas2770.c | 46 +++++++++++++++++++++++++-------------
1 file changed, 30 insertions(+), 16 deletions(-)
diff --git a/sound/soc/codecs/tas2770.c b/sound/soc/codecs/tas2770.c
index f3a665b64fd6..ad76f22fcfac 100644
--- a/sound/soc/codecs/tas2770.c
+++ b/sound/soc/codecs/tas2770.c
@@ -83,7 +83,8 @@ static int tas2770_codec_suspend(struct snd_soc_component *component)
TAS2770_PWR_CTRL,
TAS2770_PWR_CTRL_MASK,
TAS2770_PWR_CTRL_SHUTDOWN);
- if (ret)
+
+ if (ret < 0)
return ret;
return 0;
@@ -97,8 +98,9 @@ static int tas2770_codec_resume(struct snd_soc_component *component)
TAS2770_PWR_CTRL,
TAS2770_PWR_CTRL_MASK,
TAS2770_PWR_CTRL_ACTIVE);
- if (ret)
- return -EINVAL;
+
+ if (ret < 0)
+ return ret;
return 0;
}
@@ -150,7 +152,10 @@ static int tas2770_dac_event(struct snd_soc_dapm_widget *w,
}
end:
- return ret;
+ if (ret < 0)
+ return ret;
+
+ return 0;
}
static const struct snd_kcontrol_new isense_switch =
@@ -200,7 +205,10 @@ static int tas2770_mute(struct snd_soc_dai *dai, int mute)
TAS2770_PWR_CTRL_MASK,
TAS2770_PWR_CTRL_ACTIVE);
- return ret;
+ if (ret < 0)
+ return ret;
+
+ return 0;
}
static int tas2770_set_bitwidth(struct tas2770_priv *tas2770, int bitwidth)
@@ -253,7 +261,10 @@ static int tas2770_set_bitwidth(struct tas2770_priv *tas2770, int bitwidth)
tas2770->i_sense_slot);
end:
- return ret;
+ if (ret < 0)
+ return ret;
+
+ return 0;
}
static int tas2770_set_samplerate(struct tas2770_priv *tas2770, int samplerate)
@@ -345,9 +356,11 @@ static int tas2770_set_samplerate(struct tas2770_priv *tas2770, int samplerate)
}
end:
- if (!ret)
- tas2770->sampling_rate = samplerate;
- return ret;
+ if (ret < 0)
+ return ret;
+
+ tas2770->sampling_rate = samplerate;
+ return 0;
}
static int tas2770_hw_params(struct snd_pcm_substream *substream,
@@ -401,7 +414,7 @@ static int tas2770_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
ret = snd_soc_component_update_bits(component, TAS2770_TDM_CFG_REG1,
TAS2770_TDM_CFG_REG1_RX_MASK,
asi_cfg_1);
- if (ret)
+ if (ret < 0)
return ret;
switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
@@ -426,7 +439,7 @@ static int tas2770_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
ret = snd_soc_component_update_bits(component, TAS2770_TDM_CFG_REG1,
TAS2770_TDM_CFG_REG1_MASK,
(tdm_rx_start_slot << TAS2770_TDM_CFG_REG1_51_SHIFT));
- if (ret)
+ if (ret < 0)
return ret;
tas2770->asi_format = fmt;
@@ -470,12 +483,12 @@ static int tas2770_set_dai_tdm_slot(struct snd_soc_dai *dai,
ret = snd_soc_component_update_bits(component, TAS2770_TDM_CFG_REG3,
TAS2770_TDM_CFG_REG3_30_MASK,
(left_slot << TAS2770_TDM_CFG_REG3_30_SHIFT));
- if (ret)
+ if (ret < 0)
return ret;
ret = snd_soc_component_update_bits(component, TAS2770_TDM_CFG_REG3,
TAS2770_TDM_CFG_REG3_RXS_MASK,
(right_slot << TAS2770_TDM_CFG_REG3_RXS_SHIFT));
- if (ret)
+ if (ret < 0)
return ret;
switch (slot_width) {
@@ -509,10 +522,11 @@ static int tas2770_set_dai_tdm_slot(struct snd_soc_dai *dai,
ret = -EINVAL;
}
- if (!ret)
- tas2770->slot_width = slot_width;
+ if (ret < 0)
+ return ret;
- return ret;
+ tas2770->slot_width = slot_width;
+ return 0;
}
static struct snd_soc_dai_ops tas2770_dai_ops = {
--
2.20.1
prev parent reply other threads:[~2019-10-07 18:13 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-07 17:11 [PATCH v2 1/3] ASoC: tas2770: Fix snd_soc_update_bits error handling Dan Murphy
2019-10-07 17:11 ` [PATCH v2 2/3] ASoC: tas2770: Remove unneeded read of the TDM_CFG3 register Dan Murphy
2019-10-07 18:13 ` Applied "ASoC: tas2770: Remove unneeded read of the TDM_CFG3 register" to the asoc tree Mark Brown
2019-10-07 17:11 ` [PATCH v2 3/3] ASoc: tas2770: Remove unused defines and variables Dan Murphy
2019-10-07 18:13 ` Applied "ASoc: tas2770: Remove unused defines and variables" to the asoc tree Mark Brown
2019-10-07 18:13 ` Mark Brown [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191007181325.42DD6274162F@ypsilon.sirena.org.uk \
--to=broonie@kernel.org \
--cc=alsa-devel@alsa-project.org \
--cc=dmurphy@ti.com \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=navada@ti.com \
--cc=perex@perex.cz \
--cc=shifu0704@thundersoft.com \
--cc=tiwai@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®