[PATCHv2] regulator: pwm-regulator: Make use of the helper function dev_err_probe()

Subsystems: the rest, voltage and current regulator framework

4 messages, 2 authors, 2021-09-21 · open the first message on its own page

[PATCHv2] regulator: pwm-regulator: Make use of the helper function dev_err_probe()

From: Anand Moon <hidden>
Date: 2021-09-21 01:43:07

devm_pwm_get() can return -EPROBE_DEFER if the pwm regulator is not
ready yet. Use dev_err_probe() for pwm regulator resources
to indicate the deferral reason when waiting for the
resource to come up.

Fixes: 0cd71b9a43ad ("regulator: pwm: Don't warn on probe deferral")

Cc: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Anand Moon <redacted>
---
V1 - Fix the wrong probe defer for devm_regulator_register.
   - Fix the commit message.
---
 drivers/regulator/pwm-regulator.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/drivers/regulator/pwm-regulator.c b/drivers/regulator/pwm-regulator.c
index 7629476d94ae..3bd020641b67 100644
--- a/drivers/regulator/pwm-regulator.c
+++ b/drivers/regulator/pwm-regulator.c
@@ -353,13 +353,9 @@ static int pwm_regulator_probe(struct platform_device *pdev)
 
 	drvdata->pwm = devm_pwm_get(&pdev->dev, NULL);
 	if (IS_ERR(drvdata->pwm)) {
-		ret = PTR_ERR(drvdata->pwm);
-		if (ret == -EPROBE_DEFER)
-			dev_dbg(&pdev->dev,
-				"Failed to get PWM, deferring probe\n");
-		else
-			dev_err(&pdev->dev, "Failed to get PWM: %d\n", ret);
-		return ret;
+		return dev_err_probe(&pdev->dev, PTR_ERR(drvdata->pwm),
+				     "Failed to register regulator %s\n",
+				     drvdata->desc.name);
 	}
 
 	if (init_data->constraints.boot_on || init_data->constraints.always_on)
-- 
2.33.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

Re: [PATCHv2] regulator: pwm-regulator: Make use of the helper function dev_err_probe()

From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Date: 2021-09-21 05:34:21

Hi Anand,

On Mon, Sep 20, 2021 at 10:38 PM Anand Moon [off-list ref] wrote:
devm_pwm_get() can return -EPROBE_DEFER if the pwm regulator is not
ready yet. Use dev_err_probe() for pwm regulator resources
to indicate the deferral reason when waiting for the
resource to come up.

Fixes: 0cd71b9a43ad ("regulator: pwm: Don't warn on probe deferral")
Personally I consider this as an improvement (having the deferral
reason show up in debugfs), not a bugfix.
Because of that I would drop the Fixes tag.
Let's wait on other people's opinions though.

[...]
quoted hunk
-                       dev_err(&pdev->dev, "Failed to get PWM: %d\n", ret);
-               return ret;
+               return dev_err_probe(&pdev->dev, PTR_ERR(drvdata->pwm),
+                                    "Failed to register regulator %s\n",
The message here should still be similar to the original one since the
actual problem is that we could not get a reference to the PWM
controller. At this point we are not trying to register the
pwm-regulator yet.


Best regards,
Martin

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

Re: [PATCHv2] regulator: pwm-regulator: Make use of the helper function dev_err_probe()

From: Anand Moon <hidden>
Date: 2021-09-21 19:21:47

Hi Martin,

On Tue, 21 Sept 2021 at 11:04, Martin Blumenstingl
[off-list ref] wrote:
Hi Anand,

On Mon, Sep 20, 2021 at 10:38 PM Anand Moon [off-list ref] wrote:
quoted
devm_pwm_get() can return -EPROBE_DEFER if the pwm regulator is not
ready yet. Use dev_err_probe() for pwm regulator resources
to indicate the deferral reason when waiting for the
resource to come up.

Fixes: 0cd71b9a43ad ("regulator: pwm: Don't warn on probe deferral")
Personally I consider this as an improvement (having the deferral
reason show up in debugfs), not a bugfix.
Because of that I would drop the Fixes tag.
Let's wait on other people's opinions though.
Ok will drop this in the next version.
[...]
quoted
-                       dev_err(&pdev->dev, "Failed to get PWM: %d\n", ret);
-               return ret;
+               return dev_err_probe(&pdev->dev, PTR_ERR(drvdata->pwm),
+                                    "Failed to register regulator %s\n",
The message here should still be similar to the original one since the
actual problem is that we could not get a reference to the PWM
controller. At this point we are not trying to register the
pwm-regulator yet.
Yep, Typo I mixed up the logs completely.
it should be  "Failed to get PWM, deferring probe"

Thanks
-Anand
Best regards,
Martin
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

Re: [PATCHv2] regulator: pwm-regulator: Make use of the helper function dev_err_probe()

From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Date: 2021-09-21 19:28:21

Hi Anand,

On Tue, Sep 21, 2021 at 9:21 PM Anand Moon [off-list ref] wrote:
[...]
quoted
quoted
-                       dev_err(&pdev->dev, "Failed to get PWM: %d\n", ret);
-               return ret;
+               return dev_err_probe(&pdev->dev, PTR_ERR(drvdata->pwm),
+                                    "Failed to register regulator %s\n",
The message here should still be similar to the original one since the
actual problem is that we could not get a reference to the PWM
controller. At this point we are not trying to register the
pwm-regulator yet.
Yep, Typo I mixed up the logs completely.
it should be  "Failed to get PWM, deferring probe"
I think it should only be "Failed to get PWM" only - without "deferring probe".
If the PWM is missing in .dts (which is not valid but might happen for
someone who's creating a new .dts) then the "deferring probe" part is
not correct as the error code is not -EPROBE_DEFER (it may be -ENOENT
instead - or similar).


Best regards,
Martin

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help