On Tue, Feb 27, 2024 at 03:12:54PM +0100, Uwe Kleine-König wrote: > 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. > > Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> > Signed-off-by: Uwe Kleine-König <ukleinek@xxxxxxxxxx> Krzysztof applied this to pci/controller/rockchip with Reviewed-by from Jesper and Mani, but his outgoing mail queue got stuck. Trying to squeeze into v6.9. > --- > Hello, > > changes since (implicit) v1, sent with Message-Id: > 20240227111837.395422-2-ukleinek@xxxxxxxxxx: > > - use dev instead of rockchip->pci.dev as noticed by Serge Semin. > - added Reviewed-by: tag for Heiko. I assume he agrees to above > improvement and adding the tag despite the change is fine. > > Best regards > Uwe > > drivers/pci/controller/dwc/pcie-dw-rockchip.c | 21 ++++++++++++------- > 1 file changed, 13 insertions(+), 8 deletions(-) > > diff --git a/drivers/pci/controller/dwc/pcie-dw-rockchip.c b/drivers/pci/controller/dwc/pcie-dw-rockchip.c > index d6842141d384..a13ca83ce260 100644 > --- a/drivers/pci/controller/dwc/pcie-dw-rockchip.c > +++ b/drivers/pci/controller/dwc/pcie-dw-rockchip.c > @@ -225,11 +225,15 @@ static int rockchip_pcie_clk_init(struct rockchip_pcie *rockchip) > > ret = devm_clk_bulk_get_all(dev, &rockchip->clks); > if (ret < 0) > - return ret; > + return dev_err_probe(dev, ret, "failed to get clocks\n"); > > rockchip->clk_cnt = ret; > > - return clk_bulk_prepare_enable(rockchip->clk_cnt, rockchip->clks); > + ret = clk_bulk_prepare_enable(rockchip->clk_cnt, rockchip->clks); > + if (ret) > + return dev_err_probe(dev, ret, "failed to enable clocks\n"); > + > + return 0; > } > > static int rockchip_pcie_resource_get(struct platform_device *pdev, > @@ -237,12 +241,14 @@ static int rockchip_pcie_resource_get(struct platform_device *pdev, > { > rockchip->apb_base = devm_platform_ioremap_resource_byname(pdev, "apb"); > if (IS_ERR(rockchip->apb_base)) > - return PTR_ERR(rockchip->apb_base); > + return dev_err_probe(&pdev->dev, PTR_ERR(rockchip->apb_base), > + "failed to map apb registers\n"); > > rockchip->rst_gpio = devm_gpiod_get_optional(&pdev->dev, "reset", > GPIOD_OUT_HIGH); > if (IS_ERR(rockchip->rst_gpio)) > - return PTR_ERR(rockchip->rst_gpio); > + return dev_err_probe(&pdev->dev, PTR_ERR(rockchip->rst_gpio), > + "failed to get reset gpio\n"); > > rockchip->rst = devm_reset_control_array_get_exclusive(&pdev->dev); > if (IS_ERR(rockchip->rst)) > @@ -320,10 +326,9 @@ static int rockchip_pcie_probe(struct platform_device *pdev) > rockchip->vpcie3v3 = NULL; > } else { > ret = regulator_enable(rockchip->vpcie3v3); > - if (ret) { > - dev_err(dev, "failed to enable vpcie3v3 regulator\n"); > - return ret; > - } > + if (ret) > + return dev_err_probe(dev, ret, > + "failed to enable vpcie3v3 regulator\n"); > } > > ret = rockchip_pcie_phy_init(rockchip); > > base-commit: 6613476e225e090cc9aad49be7fa504e290dd33d > -- > 2.43.0 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel