[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240722232331.GA237402-robh@kernel.org>
Date: Mon, 22 Jul 2024 17:23:31 -0600
From: Rob Herring <robh@...nel.org>
To: André Draszik <andre.draszik@...aro.org>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Jiri Slaby <jirislaby@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Peter Griffin <peter.griffin@...aro.org>,
Tudor Ambarus <tudor.ambarus@...aro.org>,
Will McVicker <willmcvicker@...gle.com>, kernel-team@...roid.com,
linux-kernel@...r.kernel.org, linux-serial@...r.kernel.org,
devicetree@...r.kernel.org
Subject: Re: [PATCH v4 1/2] dt-bindings: serial: samsung: avoid duplicating
permitted clock-names
On Fri, Jul 12, 2024 at 03:51:17PM +0100, André Draszik wrote:
> This binding currently duplicates the permitted clock-names in various
> places, and when adding more compatibles, clock-names will have to be
> duplicated even more.
>
> The reason is:
> 1) subschemas (-if: ...), still have to match the top-level:
> pattern: '^clk_uart_baud[0-3]$'
> 2) there is one compatible that doesn't follow sequential numbering for
> the clock names (samsung,s3c6400-uart)
> 3) when limiting the number of clock-names, we also want to enforce
> sequential names
> Because of 1) and 2), the patterns can not simply be changed to
> constant strings, and later overridden in a different subschema (for
> samsung,s3c6400-uart only).
>
> Since we can't populate the top-level clock-names based on the
> compatible, and because when limiting the number of items we generally
> want sequential numbers and not a pattern, move the permitted strings
> into a subschema of its own and populate it based on the compatible:
> * 'uart clk_uart_baud2 clk_uart_baud3' for the one outlier
> * 'uart clk_uart_baud0..3' for everything else
>
> This way we can avoid having to duplicate the permitted names
> everywhere.
>
> While at it, add blank lines as per the universal style, which is to
> have blank lines between properties, except where they are booleans.
>
> Also add another example using a compatible that uses the default
> clock-names scheme, as opposed to the existing example that uses
> samsung,s3c6400-uart's non-default clock-names. This allows testing
> both versions of the clock-names property when running
> dt_binding_check.
>
> Signed-off-by: André Draszik <andre.draszik@...aro.org>
> ---
> .../devicetree/bindings/serial/samsung_uart.yaml | 63 +++++++++++++++++-----
> 1 file changed, 50 insertions(+), 13 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/serial/samsung_uart.yaml b/Documentation/devicetree/bindings/serial/samsung_uart.yaml
> index 0f0131026911..cfa1c0de946f 100644
> --- a/Documentation/devicetree/bindings/serial/samsung_uart.yaml
> +++ b/Documentation/devicetree/bindings/serial/samsung_uart.yaml
> @@ -58,12 +58,7 @@ properties:
> clock-names:
> description: N = 0 is allowed for SoCs without internal baud clock mux.
The description doesn't really make sense on its own. I'd drop it.
With that,
Reviewed-by: Rob Herring (Arm) <robh@...nel.org>
> minItems: 2
> - items:
> - - const: uart
> - - pattern: '^clk_uart_baud[0-3]$'
> - - pattern: '^clk_uart_baud[0-3]$'
> - - pattern: '^clk_uart_baud[0-3]$'
> - - pattern: '^clk_uart_baud[0-3]$'
> + maxItems: 5
Powered by blists - more mailing lists