Skip to content

Commit 019b5ec

Browse files
prabhakarladgeertu
authored andcommitted
clk: renesas: rzg2l-cpg: Use devres API to register clocks
We are using devres APIs for divider, mux and pll5 clocks so for consistency use the devres APIs for module, fixed factor and PLL clocks. While at it switched to clk_hw_register() instead of clk_register() as this has been marked as deprecated interface. Signed-off-by: Lad Prabhakar <[email protected]> Reviewed-by: Geert Uytterhoeven <[email protected]> Link: https://lore.kernel.org/[email protected] Signed-off-by: Geert Uytterhoeven <[email protected]>
1 parent 588d55a commit 019b5ec

File tree

1 file changed

+20
-6
lines changed

1 file changed

+20
-6
lines changed

drivers/clk/renesas/rzg2l-cpg.c

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1023,6 +1023,7 @@ rzg2l_cpg_pll_clk_register(const struct cpg_core_clk *core,
10231023
struct clk_init_data init;
10241024
const char *parent_name;
10251025
struct pll_clk *pll_clk;
1026+
int ret;
10261027

10271028
parent = clks[core->parent & 0xffff];
10281029
if (IS_ERR(parent))
@@ -1045,7 +1046,11 @@ rzg2l_cpg_pll_clk_register(const struct cpg_core_clk *core,
10451046
pll_clk->priv = priv;
10461047
pll_clk->type = core->type;
10471048

1048-
return clk_register(NULL, &pll_clk->hw);
1049+
ret = devm_clk_hw_register(dev, &pll_clk->hw);
1050+
if (ret)
1051+
return ERR_PTR(ret);
1052+
1053+
return pll_clk->hw.clk;
10491054
}
10501055

10511056
static struct clk
@@ -1102,6 +1107,7 @@ rzg2l_cpg_register_core_clk(const struct cpg_core_clk *core,
11021107
struct device *dev = priv->dev;
11031108
unsigned int id = core->id, div = core->div;
11041109
const char *parent_name;
1110+
struct clk_hw *clk_hw;
11051111

11061112
WARN_DEBUG(id >= priv->num_core_clks);
11071113
WARN_DEBUG(PTR_ERR(priv->clks[id]) != -ENOENT);
@@ -1124,9 +1130,13 @@ rzg2l_cpg_register_core_clk(const struct cpg_core_clk *core,
11241130
}
11251131

11261132
parent_name = __clk_get_name(parent);
1127-
clk = clk_register_fixed_factor(NULL, core->name,
1128-
parent_name, CLK_SET_RATE_PARENT,
1129-
core->mult, div);
1133+
clk_hw = devm_clk_hw_register_fixed_factor(dev, core->name, parent_name,
1134+
CLK_SET_RATE_PARENT,
1135+
core->mult, div);
1136+
if (IS_ERR(clk_hw))
1137+
clk = ERR_CAST(clk_hw);
1138+
else
1139+
clk = clk_hw->clk;
11301140
break;
11311141
case CLK_TYPE_SAM_PLL:
11321142
clk = rzg2l_cpg_pll_clk_register(core, priv->clks, priv->base, priv,
@@ -1337,6 +1347,7 @@ rzg2l_cpg_register_mod_clk(const struct rzg2l_mod_clk *mod,
13371347
struct clk *parent, *clk;
13381348
const char *parent_name;
13391349
unsigned int i;
1350+
int ret;
13401351

13411352
WARN_DEBUG(id < priv->num_core_clks);
13421353
WARN_DEBUG(id >= priv->num_core_clks + priv->num_mod_clks);
@@ -1380,10 +1391,13 @@ rzg2l_cpg_register_mod_clk(const struct rzg2l_mod_clk *mod,
13801391
clock->priv = priv;
13811392
clock->hw.init = &init;
13821393

1383-
clk = clk_register(NULL, &clock->hw);
1384-
if (IS_ERR(clk))
1394+
ret = devm_clk_hw_register(dev, &clock->hw);
1395+
if (ret) {
1396+
clk = ERR_PTR(ret);
13851397
goto fail;
1398+
}
13861399

1400+
clk = clock->hw.clk;
13871401
dev_dbg(dev, "Module clock %pC at %lu Hz\n", clk, clk_get_rate(clk));
13881402
priv->clks[id] = clk;
13891403

0 commit comments

Comments
 (0)