Re: [PATCH] dt-bindings: mmc: fsl-imx-esdhc: allow more compatible combinations

From: Andreas Kemnade
Date: Sat Jan 07 2023 - 10:02:03 EST


On Sat, 7 Jan 2023 15:09:24 +0100
Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> wrote:

> On 07/01/2023 15:07, Andreas Kemnade wrote:
> > On Sat, 7 Jan 2023 15:00:56 +0100
> > Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> wrote:
> >
> > [...]
> >>>> I asked to remove half-compatible. Not to enforce.
> >>>>
> > so you are saying that allowing
> > compatible = "A", "B"
> > is not ok, if B is not fully compatible. I agree with that
> > one.
>
> I did not say that. It's not related to this problem.
>
You said "I asked to remove half-compatible" that means to me
remove "B" if not fully compatible with A which sounds sane to me.

> Again - you cannot have device which is and is not compatible with
> something else. It's not a Schroedinger's cat to be in two states,
> unless you explicitly document the cases (there are exception). If this
> is such exception, it requires it's own documentation.
>
so conclusion:
If having A and B half-compatible with A:

compatible = "A" only: is allowed to specifiy it the binding (status quo),
but not allowed to make the actual dtsi match the binding documentation
https://lore.kernel.org/linux-devicetree/72e1194e10ccb4f87aed96265114f0963e805092.camel@xxxxxxxxxxxxxx/
and
https://lore.kernel.org/linux-devicetree/20210924091439.2561931-5-andreas@xxxxxxxxxxxx/

compatible = "A", "B" in the binding definition: is not allowed ("I asked to remove
half-compatible" (= removing B))

having mismatch between binding definition and devicetree causes dtbs_check errors
-> also not nice.

I rather drop this patch and learn to live with dtbs_check errors
for this one since I have no idea how to proceed. All roads are blocked.
This all causes too much churn.

Regards,
Andreas