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 <rajan.vaja@xilinx.com> Link: https://lore.kernel.org/r/20210628070122.26217-5-rajan.vaja@xilinx.com Signed-off-by: Stephen Boyd <sboyd@kernel.org>
This commit is contained in:
parent
54530ed17d
commit
03aea91bbe
@ -256,6 +256,11 @@ static const struct clk_ops zynqmp_clk_divider_ops = {
|
|||||||
.set_rate = zynqmp_clk_divider_set_rate,
|
.set_rate = zynqmp_clk_divider_set_rate,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const struct clk_ops zynqmp_clk_divider_ro_ops = {
|
||||||
|
.recalc_rate = zynqmp_clk_divider_recalc_rate,
|
||||||
|
.round_rate = zynqmp_clk_divider_round_rate,
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* zynqmp_clk_get_max_divisor() - Get maximum supported divisor from firmware.
|
* zynqmp_clk_get_max_divisor() - Get maximum supported divisor from firmware.
|
||||||
* @clk_id: Id of clock
|
* @clk_id: Id of clock
|
||||||
@ -334,7 +339,10 @@ struct clk_hw *zynqmp_clk_register_divider(const char *name,
|
|||||||
return ERR_PTR(-ENOMEM);
|
return ERR_PTR(-ENOMEM);
|
||||||
|
|
||||||
init.name = name;
|
init.name = name;
|
||||||
init.ops = &zynqmp_clk_divider_ops;
|
if (nodes->type_flag & CLK_DIVIDER_READ_ONLY)
|
||||||
|
init.ops = &zynqmp_clk_divider_ro_ops;
|
||||||
|
else
|
||||||
|
init.ops = &zynqmp_clk_divider_ops;
|
||||||
|
|
||||||
init.flags = zynqmp_clk_map_common_ccf_flags(nodes->flag);
|
init.flags = zynqmp_clk_map_common_ccf_flags(nodes->flag);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user