[alsa-devel] [PATCH] ASoC: wm8804: Use common error handling code in wm8804_probe()

SF Markus Elfring elfring at users.sourceforge.net
Sun Nov 19 08:04:28 CET 2017


From: Markus Elfring <elfring at users.sourceforge.net>
Date: Sun, 19 Nov 2017 07:55:49 +0100

* Add a jump target so that a specific error message is stored only once
  at the end of this function implementation.

* Replace two calls of the function "dev_err" by goto statements.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring at users.sourceforge.net>
---
 sound/soc/codecs/wm8804.c | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/sound/soc/codecs/wm8804.c b/sound/soc/codecs/wm8804.c
index fc69b87443d8..a45812417909 100644
--- a/sound/soc/codecs/wm8804.c
+++ b/sound/soc/codecs/wm8804.c
@@ -626,16 +626,12 @@ int wm8804_probe(struct device *dev, struct regmap *regmap)
 	gpiod_set_value_cansleep(wm8804->reset, 1);
 
 	ret = regmap_read(regmap, WM8804_RST_DEVID1, &id1);
-	if (ret < 0) {
-		dev_err(dev, "Failed to read device ID: %d\n", ret);
-		goto err_reg_enable;
-	}
+	if (ret < 0)
+		goto report_read_failure;
 
 	ret = regmap_read(regmap, WM8804_DEVID2, &id2);
-	if (ret < 0) {
-		dev_err(dev, "Failed to read device ID: %d\n", ret);
-		goto err_reg_enable;
-	}
+	if (ret < 0)
+		goto report_read_failure;
 
 	id2 = (id2 << 8) | id1;
 
@@ -674,6 +670,8 @@ int wm8804_probe(struct device *dev, struct regmap *regmap)
 
 	return 0;
 
+report_read_failure:
+	dev_err(dev, "Failed to read device ID: %d\n", ret);
 err_reg_enable:
 	regulator_bulk_disable(ARRAY_SIZE(wm8804->supplies), wm8804->supplies);
 	return ret;
-- 
2.15.0



More information about the Alsa-devel mailing list