[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