From: Krzysztof Kozlowski Date: Thu, 11 Sep 2025 09:43:18 +0000 (+0200) Subject: memory: tegra20-emc: Simplify and handle deferred probe with dev_err_probe() X-Git-Tag: v6.19-rc1~98^2~14^2~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=57c9f6e29ccd44db882b943df2e72a4e54ebe0e3;p=thirdparty%2Flinux.git memory: tegra20-emc: Simplify and handle deferred probe with dev_err_probe() Certain calls, like clk_get, can cause probe deferral and driver should handle it. Use dev_err_probe() to fix that and also change other non-deferred errors cases to make the code simpler. Also fix missing new line in error message of devm_devfreq_add_device(). Reviewed-by: Jon Hunter Signed-off-by: Krzysztof Kozlowski --- diff --git a/drivers/memory/tegra/tegra20-emc.c b/drivers/memory/tegra/tegra20-emc.c index a34636a1c4c55..18e266dde5d2a 100644 --- a/drivers/memory/tegra/tegra20-emc.c +++ b/drivers/memory/tegra/tegra20-emc.c @@ -1051,9 +1051,8 @@ static int tegra_emc_interconnect_init(struct tegra_emc *emc) remove_nodes: icc_nodes_remove(&emc->provider); - dev_err(emc->dev, "failed to initialize ICC: %d\n", err); - return err; + return dev_err_probe(emc->dev, err, "failed to initialize ICC\n"); } static void devm_tegra_emc_unset_callback(void *data) @@ -1080,16 +1079,13 @@ static int tegra_emc_init_clk(struct tegra_emc *emc) return err; emc->clk = devm_clk_get(emc->dev, NULL); - if (IS_ERR(emc->clk)) { - dev_err(emc->dev, "failed to get EMC clock: %pe\n", emc->clk); - return PTR_ERR(emc->clk); - } + if (IS_ERR(emc->clk)) + return dev_err_probe(emc->dev, PTR_ERR(emc->clk), + "failed to get EMC clock\n"); err = clk_notifier_register(emc->clk, &emc->clk_nb); - if (err) { - dev_err(emc->dev, "failed to register clk notifier: %d\n", err); - return err; - } + if (err) + return dev_err_probe(emc->dev, err, "failed to register clk notifier\n"); err = devm_add_action_or_reset(emc->dev, devm_tegra_emc_unreg_clk_notifier, emc); @@ -1172,10 +1168,9 @@ static int tegra_emc_devfreq_init(struct tegra_emc *emc) devfreq = devm_devfreq_add_device(emc->dev, &tegra_emc_devfreq_profile, DEVFREQ_GOV_SIMPLE_ONDEMAND, &emc->ondemand_data); - if (IS_ERR(devfreq)) { - dev_err(emc->dev, "failed to initialize devfreq: %pe", devfreq); - return PTR_ERR(devfreq); - } + if (IS_ERR(devfreq)) + return dev_err_probe(emc->dev, PTR_ERR(devfreq), + "failed to initialize devfreq\n"); return 0; }