Thread (15 messages) 15 messages, 7 authors, 2021-03-08

RE: [PATCH V3 4/5] dt-bindings: mmc: fsl-imx-esdhc: add clock bindings

From: Aisheng Dong <aisheng.dong@nxp.com>
Date: 2021-03-06 04:54:27
Also in: linux-arm-kernel, linux-devicetree, linux-mmc, lkml

From: Rob Herring <robh+dt@kernel.org>
Sent: Friday, March 5, 2021 10:14 PM

On Fri, Mar 5, 2021 at 8:09 AM Aisheng Dong [off-list ref]
wrote:
quoted
Hi Rob,
quoted
From: Peng Fan (OSS) <redacted>
Sent: Thursday, February 25, 2021 11:10 AM

From: Peng Fan <peng.fan@nxp.com>

Add clock bindings for fsl-imx-esdhc yaml

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
 .../devicetree/bindings/mmc/fsl-imx-esdhc.yaml        | 11
+++++++++++
quoted
quoted
 1 file changed, 11 insertions(+)

diff --git
a/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.yaml
b/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.yaml
index a7fbd8cc1e38..369471814496 100644
--- a/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.yaml
+++ b/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.yaml
@@ -103,6 +103,17 @@ properties:
       Only eMMC HS400 mode need to take care of this property.
     default: 0

+  clocks:
+    maxItems: 3
+    description:
+      Handle clocks for the sdhc controller.
+
+  clock-names:
+    items:
+      - const: ipg
+      - const: ahb
+      - const: per
One question:
The side effect of this patch is that it imposes a forced order of clk
names In DT which actually was not needed.

Do we really have to do that?
Yes.
quoted
Or any other better approach to allow a random order to match the DT
usage better?
Why do you need random order?
Thanks for the feedback.
I thought the DT itself supports the random order of strings/names in
a property and the OF API in kernel can also handle the random name order properly.
That means DT binding don't enforce the order of names when people writing DTS.
e.g.
Order1: clock-names = "ipg", "per", "ahb"
can function the same as:
Order2: clock-names = "ipg", "ahb", "per";

However, the schema in this patch enforced the name order which caused dt binding check fail.
https://lore.kernel.org/linux-arm-kernel/CAL_JsqKAOUKnVLvu-VNeDVg0ShXPy56wxhCQv38+rO2k961v+g@mail.gmail.com/#t (local)

And this seems like a common issue in kernel DT because DT supports random name order before.
If we have to fix it, should we need fix them all in kernel?

And finally, If all the names property are fixed by dt schema definition, the driver
may also work without it by using index.
We can not enforce the order, but we only do that when there's multiple
optional entries.
Understood, probably this is the simplest way to do a accurate DT schema checking.

Regards
Aisheng
Rob
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help