Takashi Iwai 91b6af
From b54472a02cefd0dc468158bbc4d636b27cd6fc34 Mon Sep 17 00:00:00 2001
Takashi Iwai 91b6af
From: Rob Herring <robh@kernel.org>
Takashi Iwai 91b6af
Date: Fri, 3 Dec 2021 10:48:28 -0600
Takashi Iwai 91b6af
Subject: [PATCH] dt-bindings: media: nxp,imx7-mipi-csi2: Drop bad if/then schema
Takashi Iwai 91b6af
Git-commit: b54472a02cefd0dc468158bbc4d636b27cd6fc34
Takashi Iwai 91b6af
Patch-mainline: v5.16-rc5
Takashi Iwai 91b6af
References: git-fixes
Takashi Iwai 91b6af
Takashi Iwai 91b6af
The if/then schema for 'data-lanes' doesn't work as 'compatible' is at a
Takashi Iwai 91b6af
different level than 'data-lanes'. To make it work, the if/then schema
Takashi Iwai 91b6af
would have to be moved to the top level and then whole hierarchy of
Takashi Iwai 91b6af
nodes down to 'data-lanes' created. I don't think it is worth the
Takashi Iwai 91b6af
complexity to do that, so let's just drop it.
Takashi Iwai 91b6af
Takashi Iwai 91b6af
The error in this schema is masked by a fixup in the tools causing the
Takashi Iwai 91b6af
'allOf' to get overwritten. Removing the fixup as part of moving to
Takashi Iwai 91b6af
json-schema draft 2019-09 revealed the issue:
Takashi Iwai 91b6af
Takashi Iwai 91b6af
Documentation/devicetree/bindings/media/nxp,imx7-mipi-csi2.example.dt.yaml: mipi-csi@30750000: ports:port@0:endpoint:data-lanes:0: [1] is too short	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/media/nxp,imx7-mipi-csi2.yaml
Takashi Iwai 91b6af
Documentation/devicetree/bindings/media/nxp,imx7-mipi-csi2.example.dt.yaml: mipi-csi@32e30000: ports:port@0:endpoint:data-lanes:0: [1, 2, 3, 4] is too long	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/media/nxp,imx7-mipi-csi2.yaml
Takashi Iwai 91b6af
Takashi Iwai 91b6af
The if condition was always true because 'compatible' did not exist in
Takashi Iwai 91b6af
'endpoint' node and a non-existent property is true for json-schema.
Takashi Iwai 91b6af
Takashi Iwai 91b6af
Fixes: 85b62ff2cb97 ("media: dt-bindings: media: nxp,imx7-mipi-csi2: Add i.MX8MM support")
Takashi Iwai 91b6af
Cc: Rui Miguel Silva <rmfrfs@gmail.com>
Takashi Iwai 91b6af
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Takashi Iwai 91b6af
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Takashi Iwai 91b6af
Cc: Shawn Guo <shawnguo@kernel.org>
Takashi Iwai 91b6af
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Takashi Iwai 91b6af
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Takashi Iwai 91b6af
Cc: Fabio Estevam <festevam@gmail.com>
Takashi Iwai 91b6af
Cc: NXP Linux Team <linux-imx@nxp.com>
Takashi Iwai 91b6af
Cc: linux-media@vger.kernel.org
Takashi Iwai 91b6af
Cc: linux-arm-kernel@lists.infradead.org
Takashi Iwai 91b6af
Signed-off-by: Rob Herring <robh@kernel.org>
Takashi Iwai 91b6af
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Takashi Iwai 91b6af
Acked-by: Rui Miguel Silva <rmfrfs@gmail.com>
Takashi Iwai 91b6af
Link: https://lore.kernel.org/r/20211203164828.187642-1-robh@kernel.org
Takashi Iwai 91b6af
Acked-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai 91b6af
Takashi Iwai 91b6af
---
Takashi Iwai 91b6af
 .../bindings/media/nxp,imx7-mipi-csi2.yaml         | 14 ++------------
Takashi Iwai 91b6af
 1 file changed, 2 insertions(+), 12 deletions(-)
Takashi Iwai 91b6af
Takashi Iwai 91b6af
diff --git a/Documentation/devicetree/bindings/media/nxp,imx7-mipi-csi2.yaml b/Documentation/devicetree/bindings/media/nxp,imx7-mipi-csi2.yaml
Takashi Iwai 91b6af
index 877183cf4278..1ef849dc74d7 100644
Takashi Iwai 91b6af
--- a/Documentation/devicetree/bindings/media/nxp,imx7-mipi-csi2.yaml
Takashi Iwai 91b6af
+++ b/Documentation/devicetree/bindings/media/nxp,imx7-mipi-csi2.yaml
Takashi Iwai 91b6af
@@ -79,6 +79,8 @@ properties:
Takashi Iwai 91b6af
 
Takashi Iwai 91b6af
             properties:
Takashi Iwai 91b6af
               data-lanes:
Takashi Iwai 91b6af
+                description:
Takashi Iwai 91b6af
+                  Note that 'fsl,imx7-mipi-csi2' only supports up to 2 data lines.
Takashi Iwai 91b6af
                 items:
Takashi Iwai 91b6af
                   minItems: 1
Takashi Iwai 91b6af
                   maxItems: 4
Takashi Iwai 91b6af
@@ -91,18 +93,6 @@ properties:
Takashi Iwai 91b6af
             required:
Takashi Iwai 91b6af
               - data-lanes
Takashi Iwai 91b6af
 
Takashi Iwai 91b6af
-            allOf:
Takashi Iwai 91b6af
-              - if:
Takashi Iwai 91b6af
-                  properties:
Takashi Iwai 91b6af
-                    compatible:
Takashi Iwai 91b6af
-                      contains:
Takashi Iwai 91b6af
-                        const: fsl,imx7-mipi-csi2
Takashi Iwai 91b6af
-                then:
Takashi Iwai 91b6af
-                  properties:
Takashi Iwai 91b6af
-                    data-lanes:
Takashi Iwai 91b6af
-                      items:
Takashi Iwai 91b6af
-                        maxItems: 2
Takashi Iwai 91b6af
-
Takashi Iwai 91b6af
       port@1:
Takashi Iwai 91b6af
         $ref: /schemas/graph.yaml#/properties/port
Takashi Iwai 91b6af
         description:
Takashi Iwai 91b6af
-- 
Takashi Iwai 91b6af
2.31.1
Takashi Iwai 91b6af