Skip to content

Commit 03aea91

Browse files
rajanv-xilinxbebarino
authored andcommitted
clk: zynqmp: Handle divider specific read only flag
Add support for divider specific read only CCF flag (CLK_DIVIDER_READ_ONLY). Signed-off-by: Rajan Vaja <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Stephen Boyd <[email protected]>
1 parent 54530ed commit 03aea91

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

drivers/clk/zynqmp/divider.c

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,11 @@ static const struct clk_ops zynqmp_clk_divider_ops = {
256256
.set_rate = zynqmp_clk_divider_set_rate,
257257
};
258258

259+
static const struct clk_ops zynqmp_clk_divider_ro_ops = {
260+
.recalc_rate = zynqmp_clk_divider_recalc_rate,
261+
.round_rate = zynqmp_clk_divider_round_rate,
262+
};
263+
259264
/**
260265
* zynqmp_clk_get_max_divisor() - Get maximum supported divisor from firmware.
261266
* @clk_id: Id of clock
@@ -334,7 +339,10 @@ struct clk_hw *zynqmp_clk_register_divider(const char *name,
334339
return ERR_PTR(-ENOMEM);
335340

336341
init.name = name;
337-
init.ops = &zynqmp_clk_divider_ops;
342+
if (nodes->type_flag & CLK_DIVIDER_READ_ONLY)
343+
init.ops = &zynqmp_clk_divider_ro_ops;
344+
else
345+
init.ops = &zynqmp_clk_divider_ops;
338346

339347
init.flags = zynqmp_clk_map_common_ccf_flags(nodes->flag);
340348

0 commit comments

Comments
 (0)