.../devicetree/bindings/mmc/samsung,exynos-dw-mshc.yaml | 1 + 1 file changed, 1 insertion(+)
The current binding allows one or two clocks to be specified, which is
wrong, as both clocks are needed. This is also confirmed by looking at the
exiting upstream DTS files. Let's update the binding to fix this.
Cc: Ping Gao <ping.gao@samsung.com>
Reported-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
---
.../devicetree/bindings/mmc/samsung,exynos-dw-mshc.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/mmc/samsung,exynos-dw-mshc.yaml b/Documentation/devicetree/bindings/mmc/samsung,exynos-dw-mshc.yaml
index 27c4060f2f91..3e560dde714e 100644
--- a/Documentation/devicetree/bindings/mmc/samsung,exynos-dw-mshc.yaml
+++ b/Documentation/devicetree/bindings/mmc/samsung,exynos-dw-mshc.yaml
@@ -42,6 +42,7 @@ properties:
maxItems: 1
clocks:
+ minItems: 2
maxItems: 2
description:
Handle to "biu" and "ciu" clocks for the
--
2.43.0
On 06/03/2026 12:27, Ulf Hansson wrote: > The current binding allows one or two clocks to be specified, which is It allows only 2 clocks, unless you meant that referenced dw-mshc schema allows one clock. I don't see it there, so I am a bit confused. > wrong, as both clocks are needed. This is also confirmed by looking at the > exiting upstream DTS files. Let's update the binding to fix this. > > Cc: Ping Gao <ping.gao@samsung.com> > Reported-by: Krzysztof Kozlowski <krzk@kernel.org> > Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> > --- > .../devicetree/bindings/mmc/samsung,exynos-dw-mshc.yaml | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/Documentation/devicetree/bindings/mmc/samsung,exynos-dw-mshc.yaml b/Documentation/devicetree/bindings/mmc/samsung,exynos-dw-mshc.yaml > index 27c4060f2f91..3e560dde714e 100644 > --- a/Documentation/devicetree/bindings/mmc/samsung,exynos-dw-mshc.yaml > +++ b/Documentation/devicetree/bindings/mmc/samsung,exynos-dw-mshc.yaml > @@ -42,6 +42,7 @@ properties: > maxItems: 1 > > clocks: > + minItems: 2 That's redundant, 2 clocks are already implied. > maxItems: 2 Best regards, Krzysztof
On Fri, 6 Mar 2026 at 12:50, Krzysztof Kozlowski <krzk@kernel.org> wrote: > > On 06/03/2026 12:27, Ulf Hansson wrote: > > The current binding allows one or two clocks to be specified, which is > > It allows only 2 clocks, unless you meant that referenced dw-mshc schema > allows one clock. I don't see it there, so I am a bit confused. > > > wrong, as both clocks are needed. This is also confirmed by looking at the > > exiting upstream DTS files. Let's update the binding to fix this. > > > > Cc: Ping Gao <ping.gao@samsung.com> > > Reported-by: Krzysztof Kozlowski <krzk@kernel.org> > > Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> > > --- > > .../devicetree/bindings/mmc/samsung,exynos-dw-mshc.yaml | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/Documentation/devicetree/bindings/mmc/samsung,exynos-dw-mshc.yaml b/Documentation/devicetree/bindings/mmc/samsung,exynos-dw-mshc.yaml > > index 27c4060f2f91..3e560dde714e 100644 > > --- a/Documentation/devicetree/bindings/mmc/samsung,exynos-dw-mshc.yaml > > +++ b/Documentation/devicetree/bindings/mmc/samsung,exynos-dw-mshc.yaml > > @@ -42,6 +42,7 @@ properties: > > maxItems: 1 > > > > clocks: > > + minItems: 2 > > That's redundant, 2 clocks are already implied. Doesn't maxItems mean the maximum number of clocks? And since clocks are required, it means that it's perfectly fine to only have one? My points is, we seems to be requiring *exactly* two clocks, no? > > > maxItems: 2 > Best regards, > Krzysztof Kind regards Uffe
On 06/03/2026 13:55, Ulf Hansson wrote: > On Fri, 6 Mar 2026 at 12:50, Krzysztof Kozlowski <krzk@kernel.org> wrote: >> >> On 06/03/2026 12:27, Ulf Hansson wrote: >>> The current binding allows one or two clocks to be specified, which is >> >> It allows only 2 clocks, unless you meant that referenced dw-mshc schema >> allows one clock. I don't see it there, so I am a bit confused. >> >>> wrong, as both clocks are needed. This is also confirmed by looking at the >>> exiting upstream DTS files. Let's update the binding to fix this. >>> >>> Cc: Ping Gao <ping.gao@samsung.com> >>> Reported-by: Krzysztof Kozlowski <krzk@kernel.org> >>> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> >>> --- >>> .../devicetree/bindings/mmc/samsung,exynos-dw-mshc.yaml | 1 + >>> 1 file changed, 1 insertion(+) >>> >>> diff --git a/Documentation/devicetree/bindings/mmc/samsung,exynos-dw-mshc.yaml b/Documentation/devicetree/bindings/mmc/samsung,exynos-dw-mshc.yaml >>> index 27c4060f2f91..3e560dde714e 100644 >>> --- a/Documentation/devicetree/bindings/mmc/samsung,exynos-dw-mshc.yaml >>> +++ b/Documentation/devicetree/bindings/mmc/samsung,exynos-dw-mshc.yaml >>> @@ -42,6 +42,7 @@ properties: >>> maxItems: 1 >>> >>> clocks: >>> + minItems: 2 >> >> That's redundant, 2 clocks are already implied. > > Doesn't maxItems mean the maximum number of clocks? And since clocks > are required, it means that it's perfectly fine to only have one? > > My points is, we seems to be requiring *exactly* two clocks, no? minItems is already (implied) at 2, so I don't see what is different here. You can open any other binding and see exactly same pattern everywhere, so that's why it would be good to see here explanation why this binding is different than others. IOW, what set here the number of items to 1? Best regards, Krzysztof
On Fri, 6 Mar 2026 at 14:08, Krzysztof Kozlowski <krzk@kernel.org> wrote: > > On 06/03/2026 13:55, Ulf Hansson wrote: > > On Fri, 6 Mar 2026 at 12:50, Krzysztof Kozlowski <krzk@kernel.org> wrote: > >> > >> On 06/03/2026 12:27, Ulf Hansson wrote: > >>> The current binding allows one or two clocks to be specified, which is > >> > >> It allows only 2 clocks, unless you meant that referenced dw-mshc schema > >> allows one clock. I don't see it there, so I am a bit confused. > >> > >>> wrong, as both clocks are needed. This is also confirmed by looking at the > >>> exiting upstream DTS files. Let's update the binding to fix this. > >>> > >>> Cc: Ping Gao <ping.gao@samsung.com> > >>> Reported-by: Krzysztof Kozlowski <krzk@kernel.org> > >>> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> > >>> --- > >>> .../devicetree/bindings/mmc/samsung,exynos-dw-mshc.yaml | 1 + > >>> 1 file changed, 1 insertion(+) > >>> > >>> diff --git a/Documentation/devicetree/bindings/mmc/samsung,exynos-dw-mshc.yaml b/Documentation/devicetree/bindings/mmc/samsung,exynos-dw-mshc.yaml > >>> index 27c4060f2f91..3e560dde714e 100644 > >>> --- a/Documentation/devicetree/bindings/mmc/samsung,exynos-dw-mshc.yaml > >>> +++ b/Documentation/devicetree/bindings/mmc/samsung,exynos-dw-mshc.yaml > >>> @@ -42,6 +42,7 @@ properties: > >>> maxItems: 1 > >>> > >>> clocks: > >>> + minItems: 2 > >> > >> That's redundant, 2 clocks are already implied. > > > > Doesn't maxItems mean the maximum number of clocks? And since clocks > > are required, it means that it's perfectly fine to only have one? > > > > My points is, we seems to be requiring *exactly* two clocks, no? > > minItems is already (implied) at 2, so I don't see what is different > here. You can open any other binding and see exactly same pattern > everywhere, so that's why it would be good to see here explanation why > this binding is different than others. IOW, what set here the number of > items to 1? Apologize for the noise and thanks for clarifying! I just didn't know that omitting minItems implies that it takes the same value as maxItems. Actually, there are quite a number of bindings that do specify the same value for minItems and maxItems, but I assume those could be simplified then. Kind regards Uffe
© 2016 - 2026 Red Hat, Inc.