Skip to content

Commit 354e5cf

Browse files
prabhakarladgeertu
authored andcommitted
clk: renesas: rzg2l-cpg: Refactor to use priv for clks and base in clock register functions
Simplify the `rzg2l-cpg` driver by removing explicit passing of `clks` and `base` parameters in various clock registration functions. These values are now accessed directly from the `priv` structure. While at it, drop masking of parent clocks with 0xffff as nothing is ever stored in the high bits. 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 019b5ec commit 354e5cf

File tree

1 file changed

+17
-28
lines changed

1 file changed

+17
-28
lines changed

drivers/clk/renesas/rzg2l-cpg.c

Lines changed: 17 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -339,8 +339,7 @@ static const struct clk_ops rzg3s_div_clk_ops = {
339339
};
340340

341341
static struct clk * __init
342-
rzg3s_cpg_div_clk_register(const struct cpg_core_clk *core, struct clk **clks,
343-
void __iomem *base, struct rzg2l_cpg_priv *priv)
342+
rzg3s_cpg_div_clk_register(const struct cpg_core_clk *core, struct rzg2l_cpg_priv *priv)
344343
{
345344
struct div_hw_data *div_hw_data;
346345
struct clk_init_data init = {};
@@ -351,7 +350,7 @@ rzg3s_cpg_div_clk_register(const struct cpg_core_clk *core, struct clk **clks,
351350
u32 max = 0;
352351
int ret;
353352

354-
parent = clks[core->parent & 0xffff];
353+
parent = priv->clks[core->parent];
355354
if (IS_ERR(parent))
356355
return ERR_CAST(parent);
357356

@@ -400,16 +399,15 @@ rzg3s_cpg_div_clk_register(const struct cpg_core_clk *core, struct clk **clks,
400399

401400
static struct clk * __init
402401
rzg2l_cpg_div_clk_register(const struct cpg_core_clk *core,
403-
struct clk **clks,
404-
void __iomem *base,
405402
struct rzg2l_cpg_priv *priv)
406403
{
404+
void __iomem *base = priv->base;
407405
struct device *dev = priv->dev;
408406
const struct clk *parent;
409407
const char *parent_name;
410408
struct clk_hw *clk_hw;
411409

412-
parent = clks[core->parent & 0xffff];
410+
parent = priv->clks[core->parent];
413411
if (IS_ERR(parent))
414412
return ERR_CAST(parent);
415413

@@ -440,15 +438,14 @@ rzg2l_cpg_div_clk_register(const struct cpg_core_clk *core,
440438

441439
static struct clk * __init
442440
rzg2l_cpg_mux_clk_register(const struct cpg_core_clk *core,
443-
void __iomem *base,
444441
struct rzg2l_cpg_priv *priv)
445442
{
446443
const struct clk_hw *clk_hw;
447444

448445
clk_hw = devm_clk_hw_register_mux(priv->dev, core->name,
449446
core->parent_names, core->num_parents,
450447
core->flag,
451-
base + GET_REG_OFFSET(core->conf),
448+
priv->base + GET_REG_OFFSET(core->conf),
452449
GET_SHIFT(core->conf),
453450
GET_WIDTH(core->conf),
454451
core->mux_flags, &priv->rmw_lock);
@@ -508,7 +505,6 @@ static const struct clk_ops rzg2l_cpg_sd_clk_mux_ops = {
508505

509506
static struct clk * __init
510507
rzg2l_cpg_sd_mux_clk_register(const struct cpg_core_clk *core,
511-
void __iomem *base,
512508
struct rzg2l_cpg_priv *priv)
513509
{
514510
struct sd_mux_hw_data *sd_mux_hw_data;
@@ -652,7 +648,6 @@ static const struct clk_ops rzg2l_cpg_dsi_div_ops = {
652648

653649
static struct clk * __init
654650
rzg2l_cpg_dsi_div_clk_register(const struct cpg_core_clk *core,
655-
struct clk **clks,
656651
struct rzg2l_cpg_priv *priv)
657652
{
658653
struct dsi_div_hw_data *clk_hw_data;
@@ -662,7 +657,7 @@ rzg2l_cpg_dsi_div_clk_register(const struct cpg_core_clk *core,
662657
struct clk_hw *clk_hw;
663658
int ret;
664659

665-
parent = clks[core->parent & 0xffff];
660+
parent = priv->clks[core->parent];
666661
if (IS_ERR(parent))
667662
return ERR_CAST(parent);
668663

@@ -900,7 +895,6 @@ static const struct clk_ops rzg2l_cpg_sipll5_ops = {
900895

901896
static struct clk * __init
902897
rzg2l_cpg_sipll5_register(const struct cpg_core_clk *core,
903-
struct clk **clks,
904898
struct rzg2l_cpg_priv *priv)
905899
{
906900
const struct clk *parent;
@@ -910,7 +904,7 @@ rzg2l_cpg_sipll5_register(const struct cpg_core_clk *core,
910904
struct clk_hw *clk_hw;
911905
int ret;
912906

913-
parent = clks[core->parent & 0xffff];
907+
parent = priv->clks[core->parent];
914908
if (IS_ERR(parent))
915909
return ERR_CAST(parent);
916910

@@ -1013,8 +1007,6 @@ static const struct clk_ops rzg3s_cpg_pll_ops = {
10131007

10141008
static struct clk * __init
10151009
rzg2l_cpg_pll_clk_register(const struct cpg_core_clk *core,
1016-
struct clk **clks,
1017-
void __iomem *base,
10181010
struct rzg2l_cpg_priv *priv,
10191011
const struct clk_ops *ops)
10201012
{
@@ -1025,7 +1017,7 @@ rzg2l_cpg_pll_clk_register(const struct cpg_core_clk *core,
10251017
struct pll_clk *pll_clk;
10261018
int ret;
10271019

1028-
parent = clks[core->parent & 0xffff];
1020+
parent = priv->clks[core->parent];
10291021
if (IS_ERR(parent))
10301022
return ERR_CAST(parent);
10311023

@@ -1042,7 +1034,7 @@ rzg2l_cpg_pll_clk_register(const struct cpg_core_clk *core,
10421034

10431035
pll_clk->hw.init = &init;
10441036
pll_clk->conf = core->conf;
1045-
pll_clk->base = base;
1037+
pll_clk->base = priv->base;
10461038
pll_clk->priv = priv;
10471039
pll_clk->type = core->type;
10481040

@@ -1139,34 +1131,31 @@ rzg2l_cpg_register_core_clk(const struct cpg_core_clk *core,
11391131
clk = clk_hw->clk;
11401132
break;
11411133
case CLK_TYPE_SAM_PLL:
1142-
clk = rzg2l_cpg_pll_clk_register(core, priv->clks, priv->base, priv,
1143-
&rzg2l_cpg_pll_ops);
1134+
clk = rzg2l_cpg_pll_clk_register(core, priv, &rzg2l_cpg_pll_ops);
11441135
break;
11451136
case CLK_TYPE_G3S_PLL:
1146-
clk = rzg2l_cpg_pll_clk_register(core, priv->clks, priv->base, priv,
1147-
&rzg3s_cpg_pll_ops);
1137+
clk = rzg2l_cpg_pll_clk_register(core, priv, &rzg3s_cpg_pll_ops);
11481138
break;
11491139
case CLK_TYPE_SIPLL5:
1150-
clk = rzg2l_cpg_sipll5_register(core, priv->clks, priv);
1140+
clk = rzg2l_cpg_sipll5_register(core, priv);
11511141
break;
11521142
case CLK_TYPE_DIV:
1153-
clk = rzg2l_cpg_div_clk_register(core, priv->clks,
1154-
priv->base, priv);
1143+
clk = rzg2l_cpg_div_clk_register(core, priv);
11551144
break;
11561145
case CLK_TYPE_G3S_DIV:
1157-
clk = rzg3s_cpg_div_clk_register(core, priv->clks, priv->base, priv);
1146+
clk = rzg3s_cpg_div_clk_register(core, priv);
11581147
break;
11591148
case CLK_TYPE_MUX:
1160-
clk = rzg2l_cpg_mux_clk_register(core, priv->base, priv);
1149+
clk = rzg2l_cpg_mux_clk_register(core, priv);
11611150
break;
11621151
case CLK_TYPE_SD_MUX:
1163-
clk = rzg2l_cpg_sd_mux_clk_register(core, priv->base, priv);
1152+
clk = rzg2l_cpg_sd_mux_clk_register(core, priv);
11641153
break;
11651154
case CLK_TYPE_PLL5_4_MUX:
11661155
clk = rzg2l_cpg_pll5_4_mux_clk_register(core, priv);
11671156
break;
11681157
case CLK_TYPE_DSI_DIV:
1169-
clk = rzg2l_cpg_dsi_div_clk_register(core, priv->clks, priv);
1158+
clk = rzg2l_cpg_dsi_div_clk_register(core, priv);
11701159
break;
11711160
default:
11721161
goto fail;

0 commit comments

Comments
 (0)