linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] regulator: pwm: Don't warn on probe deferral
@ 2020-02-24 14:40 Jon Hunter
  2020-02-24 15:12 ` Thierry Reding
  2020-02-24 16:58 ` Mark Brown
  0 siblings, 2 replies; 7+ messages in thread
From: Jon Hunter @ 2020-02-24 14:40 UTC (permalink / raw)
  To: Liam Girdwood, Mark Brown, Thierry Reding
  Cc: linux-kernel, linux-pwm, linux-tegra, Jon Hunter

Deferred probe is an expected return value for devm_pwm_get(). Given
that the driver deals with it properly, there's no need to output a
warning that may potentially confuse users.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
---
 drivers/regulator/pwm-regulator.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/regulator/pwm-regulator.c b/drivers/regulator/pwm-regulator.c
index e74e11101fc1..fb25777a7d47 100644
--- a/drivers/regulator/pwm-regulator.c
+++ b/drivers/regulator/pwm-regulator.c
@@ -354,7 +354,8 @@ 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);
-		dev_err(&pdev->dev, "Failed to get PWM: %d\n", ret);
+		if (ret != -EPROBE_DEFER)
+			dev_err(&pdev->dev, "Failed to get PWM: %d\n", ret);
 		return ret;
 	}
 
-- 
2.17.1


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

* Re: [PATCH] regulator: pwm: Don't warn on probe deferral
  2020-02-24 14:40 [PATCH] regulator: pwm: Don't warn on probe deferral Jon Hunter
@ 2020-02-24 15:12 ` Thierry Reding
  2020-02-24 16:58 ` Mark Brown
  1 sibling, 0 replies; 7+ messages in thread
From: Thierry Reding @ 2020-02-24 15:12 UTC (permalink / raw)
  To: Jon Hunter
  Cc: Liam Girdwood, Mark Brown, linux-kernel, linux-pwm, linux-tegra

[-- Attachment #1: Type: text/plain, Size: 463 bytes --]

On Mon, Feb 24, 2020 at 02:40:48PM +0000, Jon Hunter wrote:
> Deferred probe is an expected return value for devm_pwm_get(). Given
> that the driver deals with it properly, there's no need to output a
> warning that may potentially confuse users.
> 
> Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
> ---
>  drivers/regulator/pwm-regulator.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)

Reviewed-by: Thierry Reding <treding@nvidia.com>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* Re: [PATCH] regulator: pwm: Don't warn on probe deferral
  2020-02-24 14:40 [PATCH] regulator: pwm: Don't warn on probe deferral Jon Hunter
  2020-02-24 15:12 ` Thierry Reding
@ 2020-02-24 16:58 ` Mark Brown
  2020-02-26 16:17   ` Uwe Kleine-König
  1 sibling, 1 reply; 7+ messages in thread
From: Mark Brown @ 2020-02-24 16:58 UTC (permalink / raw)
  To: Jon Hunter
  Cc: Liam Girdwood, Thierry Reding, linux-kernel, linux-pwm, linux-tegra

[-- Attachment #1: Type: text/plain, Size: 712 bytes --]

On Mon, Feb 24, 2020 at 02:40:48PM +0000, Jon Hunter wrote:
> Deferred probe is an expected return value for devm_pwm_get(). Given
> that the driver deals with it properly, there's no need to output a
> warning that may potentially confuse users.

>  		ret = PTR_ERR(drvdata->pwm);
> -		dev_err(&pdev->dev, "Failed to get PWM: %d\n", ret);
> +		if (ret != -EPROBE_DEFER)
> +			dev_err(&pdev->dev, "Failed to get PWM: %d\n", ret);

This then means that there's no way for users to determine why the
driver has failed to instantiate which can be frustrating.  It'd be
better to at least have some dev_dbg() output when deferring so that
there's something for people to go on without having to instrument the
code.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: [PATCH] regulator: pwm: Don't warn on probe deferral
  2020-02-24 16:58 ` Mark Brown
@ 2020-02-26 16:17   ` Uwe Kleine-König
  2020-02-26 16:39     ` Mark Brown
  0 siblings, 1 reply; 7+ messages in thread
From: Uwe Kleine-König @ 2020-02-26 16:17 UTC (permalink / raw)
  To: Mark Brown
  Cc: Jon Hunter, Liam Girdwood, Thierry Reding, linux-kernel,
	linux-pwm, linux-tegra

On Mon, Feb 24, 2020 at 04:58:59PM +0000, Mark Brown wrote:
> On Mon, Feb 24, 2020 at 02:40:48PM +0000, Jon Hunter wrote:
> > Deferred probe is an expected return value for devm_pwm_get(). Given
> > that the driver deals with it properly, there's no need to output a
> > warning that may potentially confuse users.
> 
> >  		ret = PTR_ERR(drvdata->pwm);
> > -		dev_err(&pdev->dev, "Failed to get PWM: %d\n", ret);
> > +		if (ret != -EPROBE_DEFER)
> > +			dev_err(&pdev->dev, "Failed to get PWM: %d\n", ret);
> 
> This then means that there's no way for users to determine why the
> driver has failed to instantiate which can be frustrating.  It'd be
> better to at least have some dev_dbg() output when deferring so that
> there's something for people to go on without having to instrument the
> code.

Not printing an error message is quite usual however. I think a generic
approach that for example makes the list of devices that should be
retried to probe on the next opportunity inspectable would be nice.

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |

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

* Re: [PATCH] regulator: pwm: Don't warn on probe deferral
  2020-02-26 16:17   ` Uwe Kleine-König
@ 2020-02-26 16:39     ` Mark Brown
  2020-03-06  7:51       ` Uwe Kleine-König
  0 siblings, 1 reply; 7+ messages in thread
From: Mark Brown @ 2020-02-26 16:39 UTC (permalink / raw)
  To: Uwe Kleine-König
  Cc: Jon Hunter, Liam Girdwood, Thierry Reding, linux-kernel,
	linux-pwm, linux-tegra

[-- Attachment #1: Type: text/plain, Size: 837 bytes --]

On Wed, Feb 26, 2020 at 05:17:57PM +0100, Uwe Kleine-König wrote:
> On Mon, Feb 24, 2020 at 04:58:59PM +0000, Mark Brown wrote:

> > This then means that there's no way for users to determine why the
> > driver has failed to instantiate which can be frustrating.  It'd be
> > better to at least have some dev_dbg() output when deferring so that
> > there's something for people to go on without having to instrument the
> > code.

> Not printing an error message is quite usual however. I think a generic

Usual yet also frustraing.

> approach that for example makes the list of devices that should be
> retried to probe on the next opportunity inspectable would be nice.

That's not really the issue, the bigger issue is trying to figure out
why things are stuck - what exactly caused things to fail to
instantiate.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: [PATCH] regulator: pwm: Don't warn on probe deferral
  2020-02-26 16:39     ` Mark Brown
@ 2020-03-06  7:51       ` Uwe Kleine-König
  2020-03-06 12:35         ` Mark Brown
  0 siblings, 1 reply; 7+ messages in thread
From: Uwe Kleine-König @ 2020-03-06  7:51 UTC (permalink / raw)
  To: Mark Brown
  Cc: Jon Hunter, Liam Girdwood, Thierry Reding, linux-kernel,
	linux-pwm, linux-tegra

On Wed, Feb 26, 2020 at 04:39:05PM +0000, Mark Brown wrote:
> On Wed, Feb 26, 2020 at 05:17:57PM +0100, Uwe Kleine-König wrote:
> > On Mon, Feb 24, 2020 at 04:58:59PM +0000, Mark Brown wrote:
> 
> > > This then means that there's no way for users to determine why the
> > > driver has failed to instantiate which can be frustrating.  It'd be
> > > better to at least have some dev_dbg() output when deferring so that
> > > there's something for people to go on without having to instrument the
> > > code.
> 
> > Not printing an error message is quite usual however. I think a generic
> 
> Usual yet also frustraing.
> 
> > approach that for example makes the list of devices that should be
> > retried to probe on the next opportunity inspectable would be nice.
> 
> That's not really the issue, the bigger issue is trying to figure out
> why things are stuck - what exactly caused things to fail to
> instantiate.

I wonder if we should do something like:

	ret = some_call(some, args);
	if (ret) {
		if (emit_errmsg_for_err(ret))
			dev_err(dev, "some_call failed: %pE\n", ERR_PTR(ret));
		return ret;
	}

and have emit_errmsg_for_err return true if ret != -EPROBE_DEFER or some
kernel parameter is given.

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |

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

* Re: [PATCH] regulator: pwm: Don't warn on probe deferral
  2020-03-06  7:51       ` Uwe Kleine-König
@ 2020-03-06 12:35         ` Mark Brown
  0 siblings, 0 replies; 7+ messages in thread
From: Mark Brown @ 2020-03-06 12:35 UTC (permalink / raw)
  To: Uwe Kleine-König
  Cc: Jon Hunter, Liam Girdwood, Thierry Reding, linux-kernel,
	linux-pwm, linux-tegra

[-- Attachment #1: Type: text/plain, Size: 712 bytes --]

On Fri, Mar 06, 2020 at 08:51:29AM +0100, Uwe Kleine-König wrote:

> I wonder if we should do something like:

> 	ret = some_call(some, args);
> 	if (ret) {
> 		if (emit_errmsg_for_err(ret))
> 			dev_err(dev, "some_call failed: %pE\n", ERR_PTR(ret));
> 		return ret;
> 	}

> and have emit_errmsg_for_err return true if ret != -EPROBE_DEFER or some
> kernel parameter is given.

There was some effort in the past to have a dev_probe_err() or something
which could have a similar implementation but that didn't end up going
anywhere I think.  I do prefer the debug level log since it's much
easier to have the information there without having to ask for it, that
design would've supported that.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

end of thread, other threads:[~2020-03-06 12:35 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-24 14:40 [PATCH] regulator: pwm: Don't warn on probe deferral Jon Hunter
2020-02-24 15:12 ` Thierry Reding
2020-02-24 16:58 ` Mark Brown
2020-02-26 16:17   ` Uwe Kleine-König
2020-02-26 16:39     ` Mark Brown
2020-03-06  7:51       ` Uwe Kleine-König
2020-03-06 12:35         ` Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).