mirror of https://github.com/torvalds/linux.git
memory: tegra186-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. Reviewed-by: Jon Hunter <jonathanh@nvidia.com> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
This commit is contained in:
parent
57c9f6e29c
commit
a52ddb98a6
|
|
@ -302,9 +302,8 @@ static int tegra_emc_interconnect_init(struct tegra186_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 int tegra186_emc_probe(struct platform_device *pdev)
|
||||
|
|
@ -319,14 +318,13 @@ static int tegra186_emc_probe(struct platform_device *pdev)
|
|||
|
||||
emc->bpmp = tegra_bpmp_get(&pdev->dev);
|
||||
if (IS_ERR(emc->bpmp))
|
||||
return dev_err_probe(&pdev->dev, PTR_ERR(emc->bpmp), "failed to get BPMP\n");
|
||||
return dev_err_probe(&pdev->dev, PTR_ERR(emc->bpmp),
|
||||
"failed to get BPMP\n");
|
||||
|
||||
emc->clk = devm_clk_get(&pdev->dev, "emc");
|
||||
if (IS_ERR(emc->clk)) {
|
||||
err = PTR_ERR(emc->clk);
|
||||
dev_err(&pdev->dev, "failed to get EMC clock: %d\n", err);
|
||||
goto put_bpmp;
|
||||
}
|
||||
if (IS_ERR(emc->clk))
|
||||
return dev_err_probe(&pdev->dev, PTR_ERR(emc->clk),
|
||||
"failed to get EMC clock\n");
|
||||
|
||||
platform_set_drvdata(pdev, emc);
|
||||
emc->dev = &pdev->dev;
|
||||
|
|
|
|||
Loading…
Reference in New Issue