pinctrl: stmfx: Improve error message in .remove()'s error path
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Mon, 9 Oct 2023 08:38:37 +0000 (10:38 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 10 Oct 2023 13:34:52 +0000 (15:34 +0200)
The driver core has no handling for errors returned by the .remove()
callback. The only action on error is a dev_warn() with generic error
message that the returned value is returned.

Replace it by a more specific and useful message. Then returning zero is
the right thing to do, the only effect is to suppress the core's
warning.

This prepares the driver for the conversion to .remove_new().

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Link: https://lore.kernel.org/r/20231009083856.222030-2-u.kleine-koenig@pengutronix.de
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-stmfx.c

index 0974bbf57b54d2e1a1bb7700de85a1193444f732..d7ab82432a52119a67312e7d38a81680bad5cd38 100644 (file)
@@ -737,11 +737,17 @@ static int stmfx_pinctrl_probe(struct platform_device *pdev)
 static int stmfx_pinctrl_remove(struct platform_device *pdev)
 {
        struct stmfx *stmfx = dev_get_drvdata(pdev->dev.parent);
+       int ret;
+
+       ret = stmfx_function_disable(stmfx,
+                                    STMFX_FUNC_GPIO |
+                                    STMFX_FUNC_ALTGPIO_LOW |
+                                    STMFX_FUNC_ALTGPIO_HIGH);
+       if (ret)
+               dev_err(&pdev->dev, "Failed to disable pins (%pe)\n",
+                       ERR_PTR(ret));
 
-       return stmfx_function_disable(stmfx,
-                                     STMFX_FUNC_GPIO |
-                                     STMFX_FUNC_ALTGPIO_LOW |
-                                     STMFX_FUNC_ALTGPIO_HIGH);
+       return 0;
 }
 
 #ifdef CONFIG_PM_SLEEP