]> Gentwo Git Trees - linux/.git/commitdiff
PCI: j721e: Use devm_clk_get_optional_enabled() to get and enable the clock
authorAnand Moon <linux.amoon@gmail.com>
Tue, 28 Oct 2025 15:42:23 +0000 (21:12 +0530)
committerBjorn Helgaas <bhelgaas@google.com>
Thu, 13 Nov 2025 18:21:42 +0000 (12:21 -0600)
Use devm_clk_get_optional_enabled() helper instead of calling
devm_clk_get_optional() and then clk_prepare_enable().

Assign the result of devm_clk_get_optional_enabled() directly to
pcie->refclk to avoid using a local 'clk' variable.

Signed-off-by: Anand Moon <linux.amoon@gmail.com>
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Link: https://patch.msgid.link/20251028154229.6774-2-linux.amoon@gmail.com
drivers/pci/controller/cadence/pci-j721e.c

index 5bc5ab20aa6d9629e1307ad5bc87447745c23a6a..a88b2e52fd782d7a870f7a7f4e10debc014a8f19 100644 (file)
@@ -479,7 +479,6 @@ static int j721e_pcie_probe(struct platform_device *pdev)
        struct cdns_pcie_ep *ep = NULL;
        struct gpio_desc *gpiod;
        void __iomem *base;
-       struct clk *clk;
        u32 num_lanes;
        u32 mode;
        int ret;
@@ -603,19 +602,13 @@ static int j721e_pcie_probe(struct platform_device *pdev)
                        goto err_get_sync;
                }
 
-               clk = devm_clk_get_optional(dev, "pcie_refclk");
-               if (IS_ERR(clk)) {
-                       ret = dev_err_probe(dev, PTR_ERR(clk), "failed to get pcie_refclk\n");
+               pcie->refclk = devm_clk_get_optional_enabled(dev, "pcie_refclk");
+               if (IS_ERR(pcie->refclk)) {
+                       ret = dev_err_probe(dev, PTR_ERR(pcie->refclk),
+                                           "failed to enable pcie_refclk\n");
                        goto err_pcie_setup;
                }
 
-               ret = clk_prepare_enable(clk);
-               if (ret) {
-                       dev_err_probe(dev, ret, "failed to enable pcie_refclk\n");
-                       goto err_pcie_setup;
-               }
-               pcie->refclk = clk;
-
                /*
                 * Section 2.2 of the PCI Express Card Electromechanical
                 * Specification (Revision 5.1) mandates that the deassertion
@@ -629,10 +622,8 @@ static int j721e_pcie_probe(struct platform_device *pdev)
                }
 
                ret = cdns_pcie_host_setup(rc);
-               if (ret < 0) {
-                       clk_disable_unprepare(pcie->refclk);
+               if (ret < 0)
                        goto err_pcie_setup;
-               }
 
                break;
        case PCI_MODE_EP:
@@ -679,7 +670,6 @@ static void j721e_pcie_remove(struct platform_device *pdev)
 
        gpiod_set_value_cansleep(pcie->reset_gpio, 0);
 
-       clk_disable_unprepare(pcie->refclk);
        cdns_pcie_disable_phy(cdns_pcie);
        j721e_pcie_disable_link_irq(pcie);
        pm_runtime_put(dev);