Use devm_clk_get_enabled() instead of devm_clk_get() to make the code cleaner and avoid calling clk_disable_unprepare() Signed-off-by: Wu Bo <bo.wu@xxxxxxxx> --- drivers/pci/controller/dwc/pcie-spear13xx.c | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/drivers/pci/controller/dwc/pcie-spear13xx.c b/drivers/pci/controller/dwc/pcie-spear13xx.c index 201dced209f0..37d9ccffc2e6 100644 --- a/drivers/pci/controller/dwc/pcie-spear13xx.c +++ b/drivers/pci/controller/dwc/pcie-spear13xx.c @@ -221,32 +221,18 @@ static int spear13xx_pcie_probe(struct platform_device *pdev) phy_init(spear13xx_pcie->phy); - spear13xx_pcie->clk = devm_clk_get(dev, NULL); + spear13xx_pcie->clk = devm_clk_get_enabled(dev, NULL); if (IS_ERR(spear13xx_pcie->clk)) { dev_err(dev, "couldn't get clk for pcie\n"); return PTR_ERR(spear13xx_pcie->clk); } - ret = clk_prepare_enable(spear13xx_pcie->clk); - if (ret) { - dev_err(dev, "couldn't enable clk for pcie\n"); - return ret; - } if (of_property_read_bool(np, "st,pcie-is-gen1")) pci->link_gen = 1; platform_set_drvdata(pdev, spear13xx_pcie); - ret = spear13xx_add_pcie_port(spear13xx_pcie, pdev); - if (ret < 0) - goto fail_clk; - - return 0; - -fail_clk: - clk_disable_unprepare(spear13xx_pcie->clk); - - return ret; + return spear13xx_add_pcie_port(spear13xx_pcie, pdev); } static const struct of_device_id spear13xx_pcie_of_match[] = { -- 2.25.1