[PATCH v1] dt-bindings: mmc: dwcmshc-sdhci: Fix resets array validation

hehuan1@eswincomputing.com posted 1 patch 2 months ago
There is a newer version of this series
.../devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml         | 6 ------
1 file changed, 6 deletions(-)
[PATCH v1] dt-bindings: mmc: dwcmshc-sdhci: Fix resets array validation
Posted by hehuan1@eswincomputing.com 2 months ago
From: Huan He <hehuan1@eswincomputing.com>

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.

Remove the global maxItems constraints and let the per-compatible
schema branches define the required reset array sizes explicitly.

Fixes: 30009a21f257 ("dt-bindings: mmc: sdhci-of-dwcmshc: Add Eswin EIC7700")
Signed-off-by: Pritesh Patel <pritesh.patel@einfochips.com>
Signed-off-by: Huan He <hehuan1@eswincomputing.com>
---
 .../devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml         | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml b/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml
index 7e7c55dc2440..8af55a53b569 100644
--- a/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml
+++ b/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml
@@ -49,12 +49,6 @@ properties:
   power-domains:
     maxItems: 1
 
-  resets:
-    maxItems: 5
-
-  reset-names:
-    maxItems: 5
-
   rockchip,txclk-tapnum:
     description: Specify the number of delay for tx sampling.
     $ref: /schemas/types.yaml#/definitions/uint8
-- 
2.25.1
Re: [PATCH v1] dt-bindings: mmc: dwcmshc-sdhci: Fix resets array validation
Posted by Rob Herring 2 months ago
On Wed, Feb 11, 2026 at 05:47:36PM +0800, hehuan1@eswincomputing.com wrote:
> From: Huan He <hehuan1@eswincomputing.com>
> 
> 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.
> 
> Remove the global maxItems constraints and let the per-compatible
> schema branches define the required reset array sizes explicitly.
> 
> Fixes: 30009a21f257 ("dt-bindings: mmc: sdhci-of-dwcmshc: Add Eswin EIC7700")
> Signed-off-by: Pritesh Patel <pritesh.patel@einfochips.com>
> Signed-off-by: Huan He <hehuan1@eswincomputing.com>
> ---
>  .../devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml         | 6 ------
>  1 file changed, 6 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml b/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml
> index 7e7c55dc2440..8af55a53b569 100644
> --- a/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml
> +++ b/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml
> @@ -49,12 +49,6 @@ properties:
>    power-domains:
>      maxItems: 1
>  
> -  resets:
> -    maxItems: 5
> -
> -  reset-names:
> -    maxItems: 5

No, add 'minItems' that covers the whole range needed.
Re: Re: [PATCH v1] dt-bindings: mmc: dwcmshc-sdhci: Fix resets array validation
Posted by Huan He 2 months ago
> > 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.
> > 
> > Remove the global maxItems constraints and let the per-compatible
> > schema branches define the required reset array sizes explicitly.
> > 
> > Fixes: 30009a21f257 ("dt-bindings: mmc: sdhci-of-dwcmshc: Add Eswin EIC7700")
> > Signed-off-by: Pritesh Patel <pritesh.patel@einfochips.com>
> > Signed-off-by: Huan He <hehuan1@eswincomputing.com>
> > ---
> >  .../devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml         | 6 ------
> >  1 file changed, 6 deletions(-)
> > 
> > diff --git a/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml b/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml
> > index 7e7c55dc2440..8af55a53b569 100644
> > --- a/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml
> > +++ b/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml
> > @@ -49,12 +49,6 @@ properties:
> >    power-domains:
> >      maxItems: 1
> >  
> > -  resets:
> > -    maxItems: 5
> > -
> > -  reset-names:
> > -    maxItems: 5
> 
> No, add 'minItems' that covers the whole range needed.

Thank you very much for taking the time to review the patch and for your
valuable feedback.

I have checked other vendors in the kernel that use the resets property.
The minimum number in actual use is 4 (Eswin uses 4, others use 5).

Is it reasonable to add "minItems: 1"?

Best regards,
Huan He
Re: Re: [PATCH v1] dt-bindings: mmc: dwcmshc-sdhci: Fix resets array validation
Posted by Rob Herring 2 months ago
On Thu, Feb 12, 2026 at 1:37 AM Huan He <hehuan1@eswincomputing.com> wrote:
>
> > > 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.
> > >
> > > Remove the global maxItems constraints and let the per-compatible
> > > schema branches define the required reset array sizes explicitly.
> > >
> > > Fixes: 30009a21f257 ("dt-bindings: mmc: sdhci-of-dwcmshc: Add Eswin EIC7700")
> > > Signed-off-by: Pritesh Patel <pritesh.patel@einfochips.com>
> > > Signed-off-by: Huan He <hehuan1@eswincomputing.com>
> > > ---
> > >  .../devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml         | 6 ------
> > >  1 file changed, 6 deletions(-)
> > >
> > > diff --git a/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml b/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml
> > > index 7e7c55dc2440..8af55a53b569 100644
> > > --- a/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml
> > > +++ b/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml
> > > @@ -49,12 +49,6 @@ properties:
> > >    power-domains:
> > >      maxItems: 1
> > >
> > > -  resets:
> > > -    maxItems: 5
> > > -
> > > -  reset-names:
> > > -    maxItems: 5
> >
> > No, add 'minItems' that covers the whole range needed.
>
> Thank you very much for taking the time to review the patch and for your
> valuable feedback.
>
> I have checked other vendors in the kernel that use the resets property.
> The minimum number in actual use is 4 (Eswin uses 4, others use 5).
>
> Is it reasonable to add "minItems: 1"?

No, if 4 is the min, then you use 'minItems: 4'.

Rob