[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2377eaff-6142-45ef-a966-0176c147c094@tuxon.dev>
Date: Sat, 6 Sep 2025 21:39:40 +0300
From: claudiu beznea <claudiu.beznea@...on.dev>
To: Ryan.Wanner@...rochip.com, mturquette@...libre.com, sboyd@...nel.org,
nicolas.ferre@...rochip.com, alexandre.belloni@...tlin.com
Cc: varshini.rajendran@...rochip.com, linux-clk@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
robh@...nel.org
Subject: Re: [PATCH v3 13/32] clk: at91: sama7d65: switch to parent_hw and
parent_data
On 7/10/25 23:07, Ryan.Wanner@...rochip.com wrote:
> From: Ryan Wanner <Ryan.Wanner@...rochip.com>
>
> Switch the system clocks to use parent_hw and parent_data. Having this
> allows the driver to conform to the new clk-system API.
>
> The parent registration is after the USBCK registration due to one of
> the system clocks being dependent on USBCK.
>
> Signed-off-by: Ryan Wanner <Ryan.Wanner@...rochip.com>
> ---
> drivers/clk/at91/sama7d65.c | 37 +++++++++++++++++++++++--------------
> 1 file changed, 23 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/clk/at91/sama7d65.c b/drivers/clk/at91/sama7d65.c
> index f10faabc7ffe..1553dc3152a4 100644
> --- a/drivers/clk/at91/sama7d65.c
> +++ b/drivers/clk/at91/sama7d65.c
> @@ -533,23 +533,23 @@ static struct {
> /*
> * System clock description
> * @n: clock name
> - * @p: clock parent name
> + * @p: clock parent hw
> * @id: clock id
> */
> -static const struct {
> +static struct {
> const char *n;
> - const char *p;
> + struct clk_hw *parent_hw;
> u8 id;
> } sama7d65_systemck[] = {
> - { .n = "uhpck", .p = "usbck", .id = 6 },
> - { .n = "pck0", .p = "prog0", .id = 8, },
> - { .n = "pck1", .p = "prog1", .id = 9, },
> - { .n = "pck2", .p = "prog2", .id = 10, },
> - { .n = "pck3", .p = "prog3", .id = 11, },
> - { .n = "pck4", .p = "prog4", .id = 12, },
> - { .n = "pck5", .p = "prog5", .id = 13, },
> - { .n = "pck6", .p = "prog6", .id = 14, },
> - { .n = "pck7", .p = "prog7", .id = 15, },
> + { .n = "uhpck", .id = 6 },
> + { .n = "pck0", .id = 8, },
> + { .n = "pck1", .id = 9, },
> + { .n = "pck2", .id = 10, },
> + { .n = "pck3", .id = 11, },
> + { .n = "pck4", .id = 12, },
> + { .n = "pck5", .id = 13, },
> + { .n = "pck6", .id = 14, },
> + { .n = "pck7", .id = 15, },
> };
>
> /* Mux table for programmable clocks. */
> @@ -1283,10 +1283,19 @@ static void __init sama7d65_pmc_setup(struct device_node *np)
>
> sama7d65_pmc->pchws[i] = hw;
> }
> -
Worth keeping this blank line.
> + /* Set systemck parent hws. */
> + sama7d65_systemck[0].parent_hw = usbck_hw;
> + sama7d65_systemck[1].parent_hw = sama7d65_pmc->pchws[0];
> + sama7d65_systemck[2].parent_hw = sama7d65_pmc->pchws[1];
> + sama7d65_systemck[3].parent_hw = sama7d65_pmc->pchws[2];
> + sama7d65_systemck[4].parent_hw = sama7d65_pmc->pchws[3];
> + sama7d65_systemck[5].parent_hw = sama7d65_pmc->pchws[4];
> + sama7d65_systemck[6].parent_hw = sama7d65_pmc->pchws[5];
> + sama7d65_systemck[7].parent_hw = sama7d65_pmc->pchws[6];
> + sama7d65_systemck[8].parent_hw = sama7d65_pmc->pchws[7];
> for (i = 0; i < ARRAY_SIZE(sama7d65_systemck); i++) {
> hw = at91_clk_register_system(regmap, sama7d65_systemck[i].n,
> - sama7d65_systemck[i].p, NULL,
> + NULL, &AT91_CLK_PD_HW(sama7d65_systemck[i].parent_hw),
> sama7d65_systemck[i].id, 0);
> if (IS_ERR(hw))
> goto err_free;
Powered by blists - more mailing lists