Re: [PATCH] clk: tegra: probe deferral error reporting

From: Stephen Boyd
Date: Thu Jul 26 2018 - 03:31:25 EST


Quoting Peter Geis (2018-07-25 16:42:34)
> On 7/25/2018 7:24 PM, Stephen Boyd wrote:
> > Quoting Marcel Ziswiler (2018-07-20 00:54:22)
> >> From: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx>
> >>
> >> Actually report the error code from devm_regulator_get() which may as
> >> well just be a probe deferral.
> >>
> >> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx>
> >>
> >> ---
> >>
> >> drivers/clk/tegra/clk-dfll.c | 5 +++--
> >> 1 file changed, 3 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/drivers/clk/tegra/clk-dfll.c b/drivers/clk/tegra/clk-dfll.c
> >> index 48ee43734e05..b2123084e175 100644
> >> --- a/drivers/clk/tegra/clk-dfll.c
> >> +++ b/drivers/clk/tegra/clk-dfll.c
> >> @@ -1609,8 +1609,9 @@ int tegra_dfll_register(struct platform_device *pdev,
> >>
> >> td->vdd_reg = devm_regulator_get(td->dev, "vdd-cpu");
> >> if (IS_ERR(td->vdd_reg)) {
> >> - dev_err(td->dev, "couldn't get vdd_cpu regulator\n");
> >> - return PTR_ERR(td->vdd_reg);
> >> + ret = PTR_ERR(td->vdd_reg);
> >> + dev_err(td->dev, "couldn't get vdd_cpu regulator: %d\n", ret);
> >
> > Do you want to know that a probe defer is happening? Usually patches are
> > sent to make that error path silent.
> >
>
> Just asking as the newbie here, but shouldn't probe deferral be
> regulated to dev_debug?
> Then pass any other error code as dev_err.

Yes probe defer should be relegated to debug level prints. Or really, we
should introduce a more complicated system to make debugging probe defer
errors simpler by informing us which driver is probe defering on what
resource by putting debug prints in each framework that returns probe
defer errors instead of updating each driver that uses these frameworks
and thinks it needs to print errors in these cases. And hide all that
behind some kernel commandline parameter and/or Kconfig option that lets
us turn the prints off all the time if we're not developing drivers or
testing things.