public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] mfd: wcd934x: Fix an error handling path in wcd934x_slim_probe()
@ 2023-05-20  7:10 Christophe JAILLET
  2023-05-20  7:11 ` [PATCH 2/2] mfd: wcd934x: Simplify with dev_err_probe() Christophe JAILLET
  2023-05-25 11:19 ` [PATCH 1/2] mfd: wcd934x: Fix an error handling path in wcd934x_slim_probe() Lee Jones
  0 siblings, 2 replies; 4+ messages in thread
From: Christophe JAILLET @ 2023-05-20  7:10 UTC (permalink / raw)
  To: Lee Jones, Maíra Canal
  Cc: linux-kernel, kernel-janitors, Christophe JAILLET, Lee Jones

If devm_gpiod_get_optional() fails, some resources need to be released, as
already done in the .remove() function.

While at it, remove the unneeded error code from a dev_err_probe() call.
It is already added in a human readable way by dev_err_probe() itself.

Fixes: 6a0ee2a61a31 ("mfd: wcd934x: Replace legacy gpio interface for gpiod")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
 drivers/mfd/wcd934x.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/mfd/wcd934x.c b/drivers/mfd/wcd934x.c
index 07e884087f2c..281470d6b0b9 100644
--- a/drivers/mfd/wcd934x.c
+++ b/drivers/mfd/wcd934x.c
@@ -258,8 +258,9 @@ static int wcd934x_slim_probe(struct slim_device *sdev)
 	usleep_range(600, 650);
 	reset_gpio = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW);
 	if (IS_ERR(reset_gpio)) {
-		return dev_err_probe(dev, PTR_ERR(reset_gpio),
-				"Failed to get reset gpio: err = %ld\n", PTR_ERR(reset_gpio));
+		ret = dev_err_probe(dev, PTR_ERR(reset_gpio),
+				    "Failed to get reset gpio\n");
+		goto err_disable_regulators;
 	}
 	msleep(20);
 	gpiod_set_value(reset_gpio, 1);
@@ -269,6 +270,10 @@ static int wcd934x_slim_probe(struct slim_device *sdev)
 	dev_set_drvdata(dev, ddata);
 
 	return 0;
+
+err_disable_regulators:
+	regulator_bulk_disable(WCD934X_MAX_SUPPLY, ddata->supplies);
+	return ret;
 }
 
 static void wcd934x_slim_remove(struct slim_device *sdev)
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-05-25 11:20 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-20  7:10 [PATCH 1/2] mfd: wcd934x: Fix an error handling path in wcd934x_slim_probe() Christophe JAILLET
2023-05-20  7:11 ` [PATCH 2/2] mfd: wcd934x: Simplify with dev_err_probe() Christophe JAILLET
2023-05-25 11:20   ` Lee Jones
2023-05-25 11:19 ` [PATCH 1/2] mfd: wcd934x: Fix an error handling path in wcd934x_slim_probe() Lee Jones

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox