Re: [PATCH v2 2/4] clk: at91: sama7d65: Add missing clk_hw to parent_data
From: Claudiu Beznea
Date: Sat Apr 26 2025 - 09:36:04 EST
Hi, Ryan,
On 25.03.2025 17:55, Ryan.Wanner@xxxxxxxxxxxxx wrote:
> From: Ryan Wanner <Ryan.Wanner@xxxxxxxxxxxxx>
>
> The main_xtal clk_hw struct is not passed into parent_data.hw causing an
> issue with main_osc parent.
Can you please describe the issue?
> Passing the main_xtal struct into the
> parent_data struct will ensure the correct parent structure.
>
> Signed-off-by: Ryan Wanner <Ryan.Wanner@xxxxxxxxxxxxx>
> ---
> drivers/clk/at91/sama7d65.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/clk/at91/sama7d65.c b/drivers/clk/at91/sama7d65.c
> index a5d40df8b2f2..08306261c9c7 100644
> --- a/drivers/clk/at91/sama7d65.c
> +++ b/drivers/clk/at91/sama7d65.c
> @@ -1138,6 +1138,7 @@ static void __init sama7d65_pmc_setup(struct device_node *np)
>
> parent_data.name = main_xtal_name;
> parent_data.fw_name = main_xtal_name;
> + parent_data.hw = main_xtal_hw;
I think, from time to time, you can still hit some random failure as the
parent_data.index is still not initialized. I think the problem may be
solved by doing something like:
- static struct clk_parent_data parent_data;
+ static struct clk_parent_data parent_data = {0};
Can you please check with this?
Thank you,
Claudiu
> main_osc_hw = at91_clk_register_main_osc(regmap, "main_osc", NULL,
> &parent_data, bypass);
> if (IS_ERR(main_osc_hw))