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

From: SF Markus Elfring
Date: Sun Nov 19 2017 - 02:06:54 EST


From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
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@xxxxxxxxxxxxxxxxxxxxx>
---
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