[PATCH] dt-bindings: mtd: Change the schema for nodename which includes "sram"

Zhenhua Huang quic_zhenhuah at quicinc.com
Thu Jan 4 03:23:02 PST 2024


Node name which includes "sram" not only represents MTD devices, but also
lots of sram devices(eg, qcom,imem.yaml, rules in folder sram/*).

To avoid the conflicts, change the schema as:
 - if node name includes "sram", must select "compatible" to match
(I have listed all "comptible" string in mtd.yaml by searching
drivers/mtd/* to find applicable drivers)
 - if node name is nand/flash, use "nodename" to select.

Fixes: 7bdc671822e9 ("dt-bindings: mtd: physmap: Reuse the generic definitions")
Signed-off-by: Zhenhua Huang <quic_zhenhuah at quicinc.com>
---
Hello,

Tested a few devicetree nodes, which confirms:
"qcom,imem.yaml" which in sram/ not matches with mtd.yaml anymore.
All nodes include string "sram" must have "compatible" which listed in
mtd.yaml to be matched.

Current I just modify the rule for "sram" as it is definitely conflicting with
rules in sram/*. I have not much backgrounds on nand/flash whether they may have
similar conflicts.

 Documentation/devicetree/bindings/mtd/mtd.yaml | 24 +++++++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)

diff --git a/Documentation/devicetree/bindings/mtd/mtd.yaml b/Documentation/devicetree/bindings/mtd/mtd.yaml
index f322290..1704437 100644
--- a/Documentation/devicetree/bindings/mtd/mtd.yaml
+++ b/Documentation/devicetree/bindings/mtd/mtd.yaml
@@ -10,10 +10,28 @@ maintainers:
   - Miquel Raynal <miquel.raynal at bootlin.com>
   - Richard Weinberger <richard at nod.at>
 
-properties:
-  $nodename:
-    pattern: "^(flash|.*sram|nand)(@.*)?$"
+select:
+  if:
+    properties:
+      $nodename:
+        pattern: "^.*sram(@.*)?$"
+  then:
+    properties:
+      compatible:
+        enum:
+          - arm,vexpress-psram
+          - cypress,cy7c1019dv33-10zsxi
+          - microchip,48l640
+          - mtd-ram
+  else:
+    properties:
+      $nodename:
+        pattern: "^(flash|nand)(@.*)?$"
 
+  required:
+    - $nodename
+
+properties:
   label:
     description:
       User-defined MTD device name. Can be used to assign user friendly
-- 
2.7.4




More information about the linux-mtd mailing list