Message ID | 20231201160925.3136868-10-peter.griffin@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | Add minimal Tensor/GS101 SoC support and Oriole/Pixel6 board | expand |
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
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(+)