Thread (57 messages) 57 messages, 10 authors, 2022-11-22

Re: [PATCH 1/6] dt-bindings: mfd: add binding for Apple Mac System Management Controller

From: Krzysztof Kozlowski <hidden>
Date: 2022-09-01 15:46:17
Also in: asahi, linux-arm-kernel, linux-gpio

On 01/09/2022 18:24, Russell King (Oracle) wrote:
On Thu, Sep 01, 2022 at 06:15:46PM +0300, Krzysztof Kozlowski wrote:
quoted
On 01/09/2022 18:12, Russell King (Oracle) wrote:
quoted
quoted
quoted
+  compatible:
+    items:
+      - enum:
+        - apple,t8103-smc
You miss two spaces of indentation on this level.
Should that be picked up by the dt checker?
I think yamllint complains about it. It is not a hard-dependency, so
maybe you don't have it installed.
quoted
quoted
quoted
+        - apple,t8112-smc
+        - apple,t6000-smc
Bring some order here - either alphabetical or by date of release (as in
other Apple schemas). I think t6000 was before t8112, so it's none of
that orders.
Ok.
quoted
quoted
+      - const: apple,smc
+
+  reg:
+    description: Two regions, one for the SMC area and one for the SRAM area.
You need constraints for size/order, so in this context list with
described items.
How do I do that? I tried maxItems/minItems set to 2, but the dt checker
objected to it.
One way:
reg:
  items:
    - description: SMC area
    - description: SRAM area

but actually this is very similar what you wrote for reg-names - kind of
obvious, so easier way:

reg:
  maxItems: 2
Doesn't work. With maxItems: 2, the example fails, yet it correctly lists
two regs which are 64-bit address and 64-bit size - so in total 8 32-bit
ints.

Documentation/devicetree/bindings/mfd/apple,smc.example.dtb: smc@23e400000: reg: [[2, 1044381696], [0, 16384], [2, 1071644672], [0, 1048576]] is too long
        From schema: /home/rmk/git/linux-rmk/Documentation/devicetree/bindings/mfd/apple,smc.yaml

Hence, I originally had maxItems: 2, and ended up deleting it because of
the dt checker.

With the two descriptions, it's the same failure.
Yeah, they should create same result.
I think the problem is that the checker has no knowledge in the example
of how big each address and size element of the reg property is. So,
it's interpreting it as four entries of 32-bit address,size pairs
instead of two entries of 64-bit address,size pairs. Yep, that's it,
if I increase the number of "- description" entries to four then it's
happy.

So, what's the solution?
If you open generated DTS examples (in your
kbuild-output/Documentation/devicetree/bindings/mfd/) you will see which
address/size cells are expected. By default it is I think address/size
cells=1, so you need a bus node setting it to 2.

Best regards,
Krzysztof
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help