2022-02-28 17:52:15

by Frank Wunderlich

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

Hi

> Gesendet: Montag, 28. Februar 2022 um 15:35 Uhr
> Von: "Krzysztof Kozlowski" <[email protected]>
> >> Gesendet: Montag, 28. Februar 2022 um 13:38 Uhr
> >> Von: "Krzysztof Kozlowski" <[email protected]>

> >> No, this has to be oneOf. See for example
> >> Documentation/devicetree/bindings/gpio/gpio-vf610.yaml or many other files.

> > 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
- const: generic-ahci
- items:
- 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


2022-02-28 18:06:57

by Krzysztof Kozlowski

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

On 28/02/2022 18:01, Frank Wunderlich wrote:
> Hi
>
>> Gesendet: Montag, 28. Februar 2022 um 15:35 Uhr
>> Von: "Krzysztof Kozlowski" <[email protected]>
>>>> Gesendet: Montag, 28. Februar 2022 um 13:38 Uhr
>>>> Von: "Krzysztof Kozlowski" <[email protected]>
>
>>>> No, this has to be oneOf. See for example
>>>> Documentation/devicetree/bindings/gpio/gpio-vf610.yaml or many other files.
>
>>> 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