On 31/08/2022 10:48, Michael Walle wrote: > Am 2022-08-31 09:37, schrieb Krzysztof Kozlowski: >> On 26/08/2022 00:44, Michael Walle wrote: >>> The "user-otp" and "factory-otp" compatible string just depicts a >>> generic NVMEM device. But an actual device tree node might as well >>> contain a more specific compatible string. Make it possible to add >>> more specific binding elsewere and just match part of the compatibles >> >> typo: elsewhere >> >>> here. >>> >>> Signed-off-by: Michael Walle <michael@xxxxxxxx> >>> --- >>> Documentation/devicetree/bindings/mtd/mtd.yaml | 7 ++++--- >>> 1 file changed, 4 insertions(+), 3 deletions(-) >>> >>> diff --git a/Documentation/devicetree/bindings/mtd/mtd.yaml >>> b/Documentation/devicetree/bindings/mtd/mtd.yaml >>> index 376b679cfc70..0291e439b6a6 100644 >>> --- a/Documentation/devicetree/bindings/mtd/mtd.yaml >>> +++ b/Documentation/devicetree/bindings/mtd/mtd.yaml >>> @@ -33,9 +33,10 @@ patternProperties: >>> >>> properties: >>> compatible: >>> - enum: >>> - - user-otp >>> - - factory-otp >>> + contains: >>> + enum: >>> + - user-otp >>> + - factory-otp >> >> This does not work in the "elsewhere" place. You need to use similar >> approach as we do for syscon or primecell. > > I'm a bit confused. Looking at > Documentation/devicetree/bindings/arm/primecell.yaml > it is done in the same way as this binding. Yes. primecell is like your mtd here. And how are other places with primcell (like other places with user-otp) done? > > Whereas, the syscon use a "select:" on top of it. I'm > pretty sure, I've tested it without the select and the > validator picked up the constraints. > > Could you elaborate on what is wrong here? Select missing? You got warning from Rob, so run tests. I think you will see the errors, just like bot reported them. Best regards, Krzysztof