Re: [PATCH v2 01/16] dt-bindings: clock: at91: Split up per SoC partially

Krzysztof Kozlowski
2025-02-10T17:05:35Z

On 10/02/2025 17:44, Alexander Dahl wrote:
> Before adding even more new indexes creating more holes in the
> clk at91 drivers pmc_data->chws arrays, split this up.
>
> This is a partial split up only for SoCs affected by upcoming changes
> and by that PMC_MAIN + x hack, others could follow by the same scheme.
>
> Binding splitup was proposed for several reasons:
>
> 1) keep the driver code simple, readable, and efficient
> 2) avoid accidental array index duplication
> 3) avoid memory waste by creating more and more unused array members.
>
> Old values are kept to not break dts, and to maintain dt ABI.
>
> Link: https://lore.kernel.org/linux-devicetree/20250207-jailbird-circus-bcc04ee90e05@thorsis.com/T/#u
> Signed-off-by: Alexander Dahl <ada@thorsis.com>
> ---
>
> Notes:
> v2:
> - new patch, not present in v1
>
> .../dt-bindings/clock/microchip,sam9x60-pmc.h | 19 +++++++++++
> .../dt-bindings/clock/microchip,sam9x7-pmc.h | 25 +++++++++++++++
> .../clock/microchip,sama7d65-pmc.h | 32 +++++++++++++++++++
> .../dt-bindings/clock/microchip,sama7g5-pmc.h | 24 ++++++++++++++
> 4 files changed, 100 insertions(+)
> create mode 100644 include/dt-bindings/clock/microchip,sam9x60-pmc.h
> create mode 100644 include/dt-bindings/clock/microchip,sam9x7-pmc.h
> create mode 100644 include/dt-bindings/clock/microchip,sama7d65-pmc.h
> create mode 100644 include/dt-bindings/clock/microchip,sama7g5-pmc.h
>
> diff --git a/include/dt-bindings/clock/microchip,sam9x60-pmc.h b/include/dt-bindings/clock/microchip,sam9x60-pmc.h
> new file mode 100644
> index 0000000000000..e01e867e8c4da
> --- /dev/null
> +++ b/include/dt-bindings/clock/microchip,sam9x60-pmc.h
> @@ -0,0 +1,19 @@
> +/* SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause */
> +/*
> + * The constants defined in this header are being used in dts and in
> + * at91 sam9x60 clock driver.
> + */
> +
> +#ifndef _DT_BINDINGS_CLOCK_MICROCHIP_SAM9X60_PMC_H
> +#define _DT_BINDINGS_CLOCK_MICROCHIP_SAM9X60_PMC_H
> +
> +#include <dt-bindings/clock/at91.h>
> +
> +/* old from before bindings splitup */
> +#define SAM9X60_PMC_MCK PMC_MCK /* 1 */
> +#define SAM9X60_PMC_UTMI PMC_UTMI /* 2 */
> +#define SAM9X60_PMC_MAIN PMC_MAIN /* 3 */
> +
> +#define SAM9X60_PMC_PLLACK PMC_PLLACK /* 7 */

IIUC, you want to have bindings per SoC, so why not adding proper
constants here instead of including entire old binding header? The
binding header should be entirely abandoned later.

Best regards,
Krzysztof