Skip to contentSkip to conversation

dt-bindings: mmc: dwcmshc-sdhci: Fix resets array validation

PATCH In review [email protected] 3 participants 3 messages Feb 26 – Mar 5

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH v4 1/1 dt-bindings: mmc: dwcmshc-sdhci: Fix resets array validation

From: Huan He <[email protected]>

The binding defines tuple-style reset-names items for some compatibles, which implicitly enforces a fixed array length via JSON Schema.

Defining global maxItems for resets and reset-names causes these constraints to be intersected via allOf, resulting in an effective minItems equal to the global maxItems. This leads to dtbs_check failures reporting reset arrays as too short, even when the DTS provides the correct number of entries.

Fixes 30009a21f257 ("dt-bindings: mmc: sdhci-of-dwcmshc: Add Eswin EIC7700")

---
Changes in v4:
- Add Co-developed-by tag for Pritesh Patel

Changes in v3:
- Add minItems: 5 in 'else' branch for non-Eswin devices

Changes in v2:
- Keep the global maxItems constraints and add minItems: 4 for both resets and reset-names properties
- Update commit message

- Link to v1: https://lore.kernel.org/all/[email protected]/

---
 Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml | 3 +++
 1 file changed, 3 insertions(+)
Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml +3 -0
index 7e7c55dc2440..5cebe5eb1efb 100644
@@ -50,9 +50,11 @@ properties:
     maxItems: 1
 
   resets:
+    minItems: 4
     maxItems: 5
 
   reset-names:
+    minItems: 4
     maxItems: 5
 
   rockchip,txclk-tapnum:
@@ -146,6 +148,7 @@ allOf:
     else:
       properties:
         resets:
+          minItems: 5
           maxItems: 5
         reset-names:
           items:
Signature · 1 line
2.25.1
#2 lore raw
In reply to [email protected]
Quoted 13 lines · On Thu, 26 Feb 2026 at 10:26, <[email protected]> wrote:

From: Huan He <[email protected]>

The binding defines tuple-style reset-names items for some compatibles, which implicitly enforces a fixed array length via JSON Schema.

Defining global maxItems for resets and reset-names causes these constraints to be intersected via allOf, resulting in an effective minItems equal to the global maxItems. This leads to dtbs_check failures reporting reset arrays as too short, even when the DTS provides the correct number of entries.

Quoted 4 lines
Fixes 30009a21f257 ("dt-bindings: mmc: sdhci-of-dwcmshc: Add Eswin EIC7700")

Applied for next, thanks!

Kind regards
Uffe

Quoted 45 lines

---
Changes in v4:
- Add Co-developed-by tag for Pritesh Patel

Changes in v3:
- Add minItems: 5 in 'else' branch for non-Eswin devices

Changes in v2:
- Keep the global maxItems constraints and add minItems: 4 for both resets and reset-names properties
- Update commit message

- Link to v1: https://lore.kernel.org/all/[email protected]/

---
 Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml | 3 +++
 1 file changed, 3 insertions(+)
Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml +3 -1
index 7e7c55dc2440..5cebe5eb1efb 100644
@@ -50,9 +50,11 @@ properties:
     maxItems: 1
 
   resets:
+    minItems: 4
     maxItems: 5
 
   reset-names:
+    minItems: 4
     maxItems: 5
 
   rockchip,txclk-tapnum:
@@ -146,6 +148,7 @@ allOf:
     else:
       properties:
         resets:
+          minItems: 5
           maxItems: 5
         reset-names:
           items:
--

2.25.1