RE: [PATCH v6 05/13] phy: cadence: cadence-sierra: Move all clk_get_*() to a separate function
From: Swapnil Kashinath Jakhade <hidden>
Date: 2021-03-15 05:51:39
Also in:
lkml
-----Original Message----- From: Kishon Vijay Abraham I <redacted> Sent: Wednesday, March 10, 2021 9:16 PM To: Kishon Vijay Abraham I <redacted>; Vinod Koul [off-list ref]; Rob Herring [off-list ref]; Philipp Zabel [off-list ref]; Swapnil Kashinath Jakhade [off-list ref] Cc: linux-kernel@vger.kernel.org; devicetree@vger.kernel.org; Lokesh Vutla [off-list ref] Subject: [PATCH v6 05/13] phy: cadence: cadence-sierra: Move all clk_get_*() to a separate function EXTERNAL MAIL No functional change. Group all devm_clk_get_optional() to a separate function. Signed-off-by: Kishon Vijay Abraham I <redacted> --- drivers/phy/cadence/phy-cadence-sierra.c | 57 +++++++++++++++--------- 1 file changed, 35 insertions(+), 22 deletions(-)
Reviewed-by: Swapnil Jakhade <redacted> Thanks & regards, Swapnil
quoted hunk ↗ jump to hunk
diff --git a/drivers/phy/cadence/phy-cadence-sierra.cb/drivers/phy/cadence/phy-cadence-sierra.c index f7ba0ed416bc..7bf1b4c7774a 100644--- a/drivers/phy/cadence/phy-cadence-sierra.c +++ b/drivers/phy/cadence/phy-cadence-sierra.c@@ -477,6 +477,38 @@ static int cdns_regmap_init_blocks(structcdns_sierra_phy *sp, return 0; } +static int cdns_sierra_phy_get_clocks(struct cdns_sierra_phy *sp, + struct device *dev) +{ + struct clk *clk; + int ret; + + clk = devm_clk_get_optional(dev, "phy_clk"); + if (IS_ERR(clk)) { + dev_err(dev, "failed to get clock phy_clk\n"); + return PTR_ERR(clk); + } + sp->clk = clk; + + clk = devm_clk_get_optional(dev, "cmn_refclk_dig_div"); + if (IS_ERR(clk)) { + dev_err(dev, "cmn_refclk_dig_div clock not found\n"); + ret = PTR_ERR(clk); + return ret; + } + sp->cmn_refclk_dig_div = clk; + + clk = devm_clk_get_optional(dev, "cmn_refclk1_dig_div"); + if (IS_ERR(clk)) { + dev_err(dev, "cmn_refclk1_dig_div clock not found\n"); + ret = PTR_ERR(clk); + return ret; + } + sp->cmn_refclk1_dig_div = clk; + + return 0; +} + static int cdns_sierra_phy_probe(struct platform_device *pdev) { struct cdns_sierra_phy *sp;@@ -487,7 +519,6 @@ static int cdns_sierra_phy_probe(structplatform_device *pdev) unsigned int id_value; int i, ret, node = 0; void __iomem *base; - struct clk *clk; struct device_node *dn = dev->of_node, *child; if (of_get_child_count(dn) == 0)@@ -524,11 +555,9 @@ static int cdns_sierra_phy_probe(structplatform_device *pdev) platform_set_drvdata(pdev, sp); - sp->clk = devm_clk_get_optional(dev, "phy_clk"); - if (IS_ERR(sp->clk)) { - dev_err(dev, "failed to get clock phy_clk\n"); - return PTR_ERR(sp->clk); - } + ret = cdns_sierra_phy_get_clocks(sp, dev); + if (ret) + return ret; sp->phy_rst = devm_reset_control_get(dev, "sierra_reset"); if (IS_ERR(sp->phy_rst)) {@@ -542,22 +571,6 @@ static int cdns_sierra_phy_probe(structplatform_device *pdev) return PTR_ERR(sp->apb_rst); } - clk = devm_clk_get_optional(dev, "cmn_refclk_dig_div"); - if (IS_ERR(clk)) { - dev_err(dev, "cmn_refclk_dig_div clock not found\n"); - ret = PTR_ERR(clk); - return ret; - } - sp->cmn_refclk_dig_div = clk; - - clk = devm_clk_get_optional(dev, "cmn_refclk1_dig_div"); - if (IS_ERR(clk)) { - dev_err(dev, "cmn_refclk1_dig_div clock not found\n"); - ret = PTR_ERR(clk); - return ret; - } - sp->cmn_refclk1_dig_div = clk; - ret = clk_prepare_enable(sp->clk); if (ret) return ret; -- 2.17.1