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@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. 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@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html