[PATCH v2 2/2] clk: st: clkgen-mux: search reg within node or parent
Patrice CHOTARD
patrice.chotard at foss.st.com
Mon Dec 20 00:42:43 PST 2021
Hi Alain
On 12/18/21 10:11 PM, Alain Volmat wrote:
> In order to avoid having duplicated addresses within the DT,
> only have one unit-address per clockgen and each driver within
> the clockgen should look at the parent node (overall clockgen)
> to figure out the reg property. Such behavior is already in
> place in other STi platform clock drivers such as clk-flexgen
> and clkgen-pll. Keep backward compatibility by first looking
> at reg within the node before looking into the parent node.
>
> Signed-off-by: Alain Volmat <avolmat at me.com>
> ---
> v2: identical to v1
>
> drivers/clk/st/clkgen-mux.c | 11 +++++++++--
> 1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/clk/st/clkgen-mux.c b/drivers/clk/st/clkgen-mux.c
> index ce583ded968a..ee39af7a0b72 100644
> --- a/drivers/clk/st/clkgen-mux.c
> +++ b/drivers/clk/st/clkgen-mux.c
> @@ -57,10 +57,17 @@ static void __init st_of_clkgen_mux_setup(struct device_node *np,
> const char **parents;
> int num_parents = 0;
>
> + /*
> + * First check for reg property within the node to keep backward
> + * compatibility, then if reg doesn't exist look at the parent node
> + */
> reg = of_iomap(np, 0);
> if (!reg) {
> - pr_err("%s: Failed to get base address\n", __func__);
> - return;
> + reg = of_iomap(of_get_parent(np), 0);
> + if (!reg) {
> + pr_err("%s: Failed to get base address\n", __func__);
> + return;
> + }
> }
>
> parents = clkgen_mux_get_parents(np, &num_parents);
>
Reviewed-by: Patrice Chotard <patrice.chotard at foss.st.com>
Thanks
Patrice
More information about the linux-arm-kernel
mailing list