Re: [PATCH] net: renesas: Fix rgmii-id delays

Thomas Petazzoni
2021-10-19T15:57:54Z

On Tue, 19 Oct 2021 17:41:49 +0200
Andrew Lunn <andrew@lunn.ch> wrote:

> > When people update the kernel version don't they update also the devicetree?
>
> DT is ABI. Driver writers should not break old blobs running on new
> kernels. Often the DT blob is updated with the kernel, but it is not
> required. It could be stored in a hard to reach place, shared with
> u-boot etc.

Right, but conversely if someone reads the DT bindings that exists
today, specifies phy-mode = "rgmii-rxid" or phy-mmode = "rmgii-txid",
this person will get incorrect behavior. Sure a behavior that is
backward compatible with older DTs, but a terribly wrong one when you
write a new DT and read the DT binding documentation. This is exactly
the problem that happened to us.

I know that those properties are considered obsolete, but even though
they are considered as such, they are still supported, but for this
particular MAC driver, with an inverted meaning compared to what the DT
binding documentation says.

What wins: DT ABI backward compatibility, or correctness of the DT
binding ? :-)

Best regards,

Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training