Thread (14 messages) 14 messages, 4 authors, 2022-02-28

Re: Aw: Re: Re: Re: [PATCH v3 1/3] dt-bindings: Convert ahci-platform DT bindings to yaml

From: Krzysztof Kozlowski <hidden>
Date: 2022-02-28 17:06:26
Also in: linux-devicetree, linux-ide, linux-rockchip, lkml

On 28/02/2022 18:01, Frank Wunderlich wrote:
Hi
quoted
Gesendet: Montag, 28. Februar 2022 um 15:35 Uhr
Von: "Krzysztof Kozlowski" [off-list ref]
quoted
quoted
Gesendet: Montag, 28. Februar 2022 um 13:38 Uhr
Von: "Krzysztof Kozlowski" [off-list ref]
quoted
quoted
quoted
No, this has to be oneOf. See for example
Documentation/devicetree/bindings/gpio/gpio-vf610.yaml or many other files.
quoted
quoted
compatible:
  oneOf:
    - enum:
      - brcm,iproc-ahci
      - cavium,octeon-7130-ahci
      - hisilicon,hisi-ahci
      - ibm,476gtr-ahci
      - marvell,armada-3700-ahci
      - marvell,armada-380-ahci
      - snps,dwc-ahci
      - snps,spear-ahci
    - items:
      - const: generic-ahci
      - enum:
        - brcm,iproc-ahci
        - cavium,octeon-7130-ahci
        - hisilicon,hisi-ahci
        - ibm,476gtr-ahci
        - marvell,armada-3700-ahci
        - marvell,armada-380-ahci
        - snps,dwc-ahci
        - snps,spear-ahci
That could be one way, but instead I propose to have only second part
(so enum + generic-ahci) for all compatibles mentioned in
ahci_platform.c, which do not customize the driver behavior for these
compatibles..
tried many ways of defining it, but none passes with the examples. either to short (first example) or too long (second)

as far as i understand the logic it should be similar to this:

properties:
  compatible:
    oneOf:
      - items:
        - enum:
          - marvell,berlin2q-achi
You need to extend this enum with all the entries I mentioned before.
        - const: generic-ahci
      - items:
No items here, directly enum.
        - enum:
          - brcm,iproc-ahci
          - cavium,octeon-7130-ahci
          - hisilicon,hisi-ahci
          - ibm,476gtr-ahci
          - marvell,armada-3700-ahci
          - marvell,armada-380-ahci
          - snps,dwc-ahci
          - snps,spear-ahci

this passes the dt-binding_check (examples) for me, but i guess there are many more compatibles defined with the generic.

dtbs_check found some more like

'brcm,iproc-ahci'
'marvell,armada-8k-ahci'
and many more

it looks like these are also checked in the enum, so the yaml itself look correct, but needs some kind of wildcard instead of the "marvell,berlin2q-achi" as second for the generic-ahci compatible

regards Frank

Best regards,
Krzysztof

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help