Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1727661

[PATCH] ASoC: cs4270: Use common error handling code in two functions

Path csiph.com!aioe.org!bofh.it!news.nic.it!robomod
From SF Markus Elfring <elfring@users.sourceforge.net>
Newsgroups linux.kernel
Subject [PATCH] ASoC: cs4270: Use common error handling code in two functions
Date Wed, 06 Sep 2017 19:40:01 +0200
Message-ID <umMsV-4XV-1@gated-at.bofh.it> (permalink)
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0
MIME-Version 1.0
Content-Type text/plain; charset=utf-8
Content-Language en-GB
Content-Transfer-Encoding 7bit
X-Provags-ID V03:K0:T98nLX4SiCQzUpHbjiCYWsiF9duDrN7chvkeYYvH8UrbcIKQY/T ON/kjm3BK2RJNBGOh73b+lA60EYRYEK4SvRINTv7I564GSeRquwoZQbOZ8+A3EULnUIHBC/ JOI4vlcbFPUrsxEvbMhEfe8VdHL5dYDtBqpc1OXFaLZzyEQTk5YfNdFKJMdMD6toDQP40AD 9bzJEAO/Yub62j8vHbKSA==
X-Ui-Out-Filterresults notjunk:1;V01:K0:LI5GEyMcnMY=:D/McyW1Oe/3UFrFgQXt1g/ iM4EBCrsQIJX3oIpHQL8tsHM7Za44HdJ+eSIRhcajCmG1qaIfD647oGwooCNjv01il/L4V/i1 iPjTmttNwbI1+kegMsOHCu41ML37pn9hL1XWklMgpEC4kIQpyKM3s3HtCM+bYY6i8hKH8WEsV WX5JEG8wnEhZbJsJTnqWjdrAFJ+Icd9f1LAFicgd9CaPeM/a/bEKbZ7y0xTYuF+38eLnEqapL 4n8u/FFHerI95cEdUVcxV0sRFz+d8TRV39QxShXCr0VMbBhocintGaQgfocIDfDt4flY+V1mg eoUR/YBflVanyYxBgvtTsFOPSySgmqdaZlMM3n8DxIM03XOJ9+/HS3EZ6OFW7fmSvxKvP6qWi TLrVoBAvNBLw0Sxpcjn+LbD/WpivQ6vX6Ihk7N64cKwOWyxzOLWyLWP+bRtUGyGJXeOtpLmtA 91/SQ6zNIkHN73XT421u6CZK//F61lvq6zLTHg+gpDH50jR/eBR9Hiqo3569Byo8TJst3YT32 i1d4PcBC+P7Y0sUP/fcuOrK/bCg8Fqt7uQbmFHdrpKoeCzPirSSVTYimWrqpIcsb2AaqMHNBd YAsnZPqioWvlhK7bm1T9O+9qK9tQBcBbhWTp5+tjkppdVy4qZVhyIM2SL6hO1xcr7F6G5gxbT iJD+uUxulL8Zx+nMutVsWzkRgHLyF45Ujpyv0j0RVnUYLSNAE3G/Cyd2dHwRxxs5Yq8i5dISr lG3mB/coLkQLqjS6BdAoqwFWCe0WwU4ytHdig9eaylh+fbVrXqLJh80hq4sJu5e7fXRJZfZ2Q h53rQiDEbke7CD5PXUcTQMcmk3/NsAyYKUcO3wHC/viZx6WnxY=
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 85
Organization linux.* mail to news gateway
X-Original-Cc LKML <linux-kernel@vger.kernel.org>, kernel-janitors@vger.kernel.org
X-Original-Date Wed, 6 Sep 2017 19:34:50 +0200
X-Original-Message-ID <e7525d1e-0a92-92c5-b779-e2f356b45e45@users.sourceforge.net>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1727661

Show key headers only | View raw


From: Markus Elfring <elfring@users.sourceforge.net>
Date: Wed, 6 Sep 2017 19:09:31 +0200

Add jump targets so that a bit of exception handling can be better reused
at the end of these functions.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
 sound/soc/codecs/cs4270.c | 32 ++++++++++++++++----------------
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/sound/soc/codecs/cs4270.c b/sound/soc/codecs/cs4270.c
index 84f86745c30e..aa70d471cc57 100644
--- a/sound/soc/codecs/cs4270.c
+++ b/sound/soc/codecs/cs4270.c
@@ -362,10 +362,8 @@ static int cs4270_hw_params(struct snd_pcm_substream *substream,
 		reg |= cs4270_mode_ratios[i].speed_mode;
 
 	ret = snd_soc_write(codec, CS4270_MODE, reg);
-	if (ret < 0) {
-		dev_err(codec->dev, "i2c write failed\n");
-		return ret;
-	}
+	if (ret < 0)
+		goto report_failure;
 
 	/* Set the DAI format */
 
@@ -385,11 +383,13 @@ static int cs4270_hw_params(struct snd_pcm_substream *substream,
 	}
 
 	ret = snd_soc_write(codec, CS4270_FORMAT, reg);
-	if (ret < 0) {
-		dev_err(codec->dev, "i2c write failed\n");
-		return ret;
-	}
+	if (ret < 0)
+		goto report_failure;
+
+	return ret;
 
+report_failure:
+	dev_err(codec->dev, "i2c write failed\n");
 	return ret;
 }
 
@@ -512,10 +512,8 @@ static int cs4270_probe(struct snd_soc_codec *codec)
 	 * re-enabled it by using the controls.
 	 */
 	ret = snd_soc_update_bits(codec, CS4270_MUTE, CS4270_MUTE_AUTO, 0);
-	if (ret < 0) {
-		dev_err(codec->dev, "i2c write failed\n");
-		return ret;
-	}
+	if (ret < 0)
+		goto report_failure;
 
 	/* Disable automatic volume control.  The hardware enables, and it
 	 * causes volume change commands to be delayed, sometimes until after
@@ -524,15 +522,17 @@ static int cs4270_probe(struct snd_soc_codec *codec)
 	 */
 	ret = snd_soc_update_bits(codec, CS4270_TRANS,
 		CS4270_TRANS_SOFT | CS4270_TRANS_ZERO, 0);
-	if (ret < 0) {
-		dev_err(codec->dev, "i2c write failed\n");
-		return ret;
-	}
+	if (ret < 0)
+		goto report_failure;
 
 	ret = regulator_bulk_enable(ARRAY_SIZE(cs4270->supplies),
 				    cs4270->supplies);
 
 	return ret;
+
+report_failure:
+	dev_err(codec->dev, "i2c write failed\n");
+	return ret;
 }
 
 /**
-- 
2.14.1

Back to linux.kernel | Previous | Next | Find similar | Unroll thread


Thread

[PATCH] ASoC: cs4270: Use common error handling code in two functions SF Markus Elfring <elfring@users.sourceforge.net> - 2017-09-06 19:40 +0200

csiph-web