[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <13595e6b8bfb364023648297cad7da1b@agner.ch>
Date: Thu, 26 Jul 2018 09:55:16 +0200
From: Stefan Agner <stefan@...er.ch>
To: Stephen Boyd <sboyd@...nel.org>
Cc: Marcel Ziswiler <marcel@...wiler.com>,
Peter Geis <pgwipeout@...il.com>, linux-kernel@...r.kernel.org,
linux-tegra@...r.kernel.org,
Marcel Ziswiler <marcel.ziswiler@...adex.com>,
Thierry Reding <thierry.reding@...il.com>,
Prashant Gaikwad <pgaikwad@...dia.com>,
Peter De Schrijver <pdeschrijver@...dia.com>,
Jonathan Hunter <jonathanh@...dia.com>,
Michael Turquette <mturquette@...libre.com>,
linux-clk@...r.kernel.org, linux-tegra-owner@...r.kernel.org
Subject: Re: [PATCH] clk: tegra: probe deferral error reporting
On 26.07.2018 09:31, Stephen Boyd wrote:
> 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@...adex.com>
>> >>
>> >> 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@...adex.com>
>> >>
>> >> ---
>> >>
>> >> 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.
Afaict, that is already there in:
drivers/base/dd.c:really_probe()
So I suggest to just silence the EPROBE_DEFER case, e.g.\
if (IS_ERR(td->vdd_reg)) {
ret = PTR_ERR(td->vdd_reg);
if (ret != -EPROBE_DEFER)
dev_err(td->dev, "couldn't get vdd_cpu regulator: %d\n", ret);
return ret;
}
--
Stefan
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists