Message ID | 20231201160925.3136868-10-peter.griffin@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add minimal Tensor/GS101 SoC support and Oriole/Pixel6 board | expand |
On Fri, Dec 1, 2023, at 17:09, Peter Griffin wrote: > > + - if: > + properties: > + compatible: > + contains: > + enum: > + - google,gs101-uart > + then: > + required: > + - samsung,uart-fifosize > + Is there a way to reverse the list and make the property required for anything that is not explicitly enumerated? Arnd
On 01/12/2023 17:09, Peter Griffin wrote: > Specifying samsung,uart-fifosize in both DT and driver static data is error > prone and relies on driver probe order and dt aliases to be correct. > > Additionally on many Exynos platforms these are (USI) universal serial > interfaces which can be uart, spi or i2c, so it can change per board. > > For google,gs101-uart and exynosautov9-uart make samsung,uart-fifosize a > required property. For these platforms fifosize now *only* comes from DT. I don't see ExynosAutov9 compatible in your patch. > > It is hoped other Exynos platforms will also switch over time. > > Signed-off-by: Peter Griffin <peter.griffin@linaro.org> > --- > .../devicetree/bindings/serial/samsung_uart.yaml | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/Documentation/devicetree/bindings/serial/samsung_uart.yaml b/Documentation/devicetree/bindings/serial/samsung_uart.yaml > index ccc3626779d9..65d5d361e8f4 100644 > --- a/Documentation/devicetree/bindings/serial/samsung_uart.yaml > +++ b/Documentation/devicetree/bindings/serial/samsung_uart.yaml > @@ -133,6 +133,16 @@ allOf: > - const: uart > - const: clk_uart_baud0 > > + - if: > + properties: > + compatible: > + contains: > + enum: > + - google,gs101-uart Best regards, Krzysztof
Hi Arnd, On Fri, 1 Dec 2023 at 16:39, Arnd Bergmann <arnd@arndb.de> wrote: > > On Fri, Dec 1, 2023, at 17:09, Peter Griffin wrote: > > > > + - if: > > + properties: > > + compatible: > > + contains: > > + enum: > > + - google,gs101-uart > > + then: > > + required: > > + - samsung,uart-fifosize > > + > > Is there a way to reverse the list and make the property > required for anything that is not explicitly enumerated? I'm not aware of a way to do that, but I'm by no means an expert with json schema. Krzysztof or Rob may know of a way. I presume your rationale is any newly added platform would get a DTC warning if they didn't add the samsung,uart-fifosize property? Krzysztof and Rob also had concerns in the previous series about ABI breakage on existing platforms, which is why this was only made required for google,gs101-uart. regards, Peter
Hi Krzysztof, On Sun, 3 Dec 2023 at 15:11, Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > > On 01/12/2023 17:09, Peter Griffin wrote: > > Specifying samsung,uart-fifosize in both DT and driver static data is error > > prone and relies on driver probe order and dt aliases to be correct. > > > > Additionally on many Exynos platforms these are (USI) universal serial > > interfaces which can be uart, spi or i2c, so it can change per board. > > > > For google,gs101-uart and exynosautov9-uart make samsung,uart-fifosize a > > required property. For these platforms fifosize now *only* comes from DT. > > I don't see ExynosAutov9 compatible in your patch. I dropped exynosautov9-uart compatible from this patch due to the ABI breakage. It seems I forgot to update the commit wording though. Will fix. Peter. > > > > > It is hoped other Exynos platforms will also switch over time. > > > > Signed-off-by: Peter Griffin <peter.griffin@linaro.org> > > --- > > .../devicetree/bindings/serial/samsung_uart.yaml | 10 ++++++++++ > > 1 file changed, 10 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/serial/samsung_uart.yaml b/Documentation/devicetree/bindings/serial/samsung_uart.yaml > > index ccc3626779d9..65d5d361e8f4 100644 > > --- a/Documentation/devicetree/bindings/serial/samsung_uart.yaml > > +++ b/Documentation/devicetree/bindings/serial/samsung_uart.yaml > > @@ -133,6 +133,16 @@ allOf: > > - const: uart > > - const: clk_uart_baud0 > > > > + - if: > > + properties: > > + compatible: > > + contains: > > + enum: > > + - google,gs101-uart > Best regards, > Krzysztof >
On Fri, Dec 01, 2023 at 05:39:33PM +0100, Arnd Bergmann wrote: > On Fri, Dec 1, 2023, at 17:09, Peter Griffin wrote: > > > > + - if: > > + properties: > > + compatible: > > + contains: > > + enum: > > + - google,gs101-uart > > + then: > > + required: > > + - samsung,uart-fifosize > > + > > Is there a way to reverse the list and make the property > required for anything that is not explicitly enumerated? if: properties: compatible: not: contains: enum: - optional-compatibles Either way is fine with me. Anything new has to add their compatible anyways, so not a big deal to adjust it here, too. Rob
diff --git a/Documentation/devicetree/bindings/serial/samsung_uart.yaml b/Documentation/devicetree/bindings/serial/samsung_uart.yaml index ccc3626779d9..65d5d361e8f4 100644 --- a/Documentation/devicetree/bindings/serial/samsung_uart.yaml +++ b/Documentation/devicetree/bindings/serial/samsung_uart.yaml @@ -133,6 +133,16 @@ allOf: - const: uart - const: clk_uart_baud0 + - if: + properties: + compatible: + contains: + enum: + - google,gs101-uart + then: + required: + - samsung,uart-fifosize + unevaluatedProperties: false examples:
Specifying samsung,uart-fifosize in both DT and driver static data is error prone and relies on driver probe order and dt aliases to be correct. Additionally on many Exynos platforms these are (USI) universal serial interfaces which can be uart, spi or i2c, so it can change per board. For google,gs101-uart and exynosautov9-uart make samsung,uart-fifosize a required property. For these platforms fifosize now *only* comes from DT. It is hoped other Exynos platforms will also switch over time. Signed-off-by: Peter Griffin <peter.griffin@linaro.org> --- .../devicetree/bindings/serial/samsung_uart.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+)