Skip to content

Commit 206c4f7

Browse files
ukleinekbjorn-helgaas
authored andcommitted
PCI: dw-rockchip: Add error messages in .probe() error paths
Drivers that silently fail to probe provide a bad user experience and make it unnecessarily hard to debug such a failure. Fix it by using dev_err_probe() instead of a plain return. [kwilczynski: commit log] Link: https://lore.kernel.org/linux-pci/[email protected] Signed-off-by: Uwe Kleine-König <[email protected]> Signed-off-by: Krzysztof Wilczyński <[email protected]> Signed-off-by: Bjorn Helgaas <[email protected]> Reviewed-by: Heiko Stuebner <[email protected]> Reviewed-by: Jesper Nilsson <[email protected]> Reviewed-by: Manivannan Sadhasivam <[email protected]>
1 parent 840b7a5 commit 206c4f7

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

drivers/pci/controller/dwc/pcie-dw-rockchip.c

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -225,24 +225,30 @@ static int rockchip_pcie_clk_init(struct rockchip_pcie *rockchip)
225225

226226
ret = devm_clk_bulk_get_all(dev, &rockchip->clks);
227227
if (ret < 0)
228-
return ret;
228+
return dev_err_probe(dev, ret, "failed to get clocks\n");
229229

230230
rockchip->clk_cnt = ret;
231231

232-
return clk_bulk_prepare_enable(rockchip->clk_cnt, rockchip->clks);
232+
ret = clk_bulk_prepare_enable(rockchip->clk_cnt, rockchip->clks);
233+
if (ret)
234+
return dev_err_probe(dev, ret, "failed to enable clocks\n");
235+
236+
return 0;
233237
}
234238

235239
static int rockchip_pcie_resource_get(struct platform_device *pdev,
236240
struct rockchip_pcie *rockchip)
237241
{
238242
rockchip->apb_base = devm_platform_ioremap_resource_byname(pdev, "apb");
239243
if (IS_ERR(rockchip->apb_base))
240-
return PTR_ERR(rockchip->apb_base);
244+
return dev_err_probe(&pdev->dev, PTR_ERR(rockchip->apb_base),
245+
"failed to map apb registers\n");
241246

242247
rockchip->rst_gpio = devm_gpiod_get_optional(&pdev->dev, "reset",
243248
GPIOD_OUT_HIGH);
244249
if (IS_ERR(rockchip->rst_gpio))
245-
return PTR_ERR(rockchip->rst_gpio);
250+
return dev_err_probe(&pdev->dev, PTR_ERR(rockchip->rst_gpio),
251+
"failed to get reset gpio\n");
246252

247253
rockchip->rst = devm_reset_control_array_get_exclusive(&pdev->dev);
248254
if (IS_ERR(rockchip->rst))
@@ -320,10 +326,9 @@ static int rockchip_pcie_probe(struct platform_device *pdev)
320326
rockchip->vpcie3v3 = NULL;
321327
} else {
322328
ret = regulator_enable(rockchip->vpcie3v3);
323-
if (ret) {
324-
dev_err(dev, "failed to enable vpcie3v3 regulator\n");
325-
return ret;
326-
}
329+
if (ret)
330+
return dev_err_probe(dev, ret,
331+
"failed to enable vpcie3v3 regulator\n");
327332
}
328333

329334
ret = rockchip_pcie_phy_init(rockchip);

0 commit comments

Comments
 (0)