[U-Boot] [PATCH] clk: sifive: Fix ethernet regression on HiFive Unleashed

Marcus Comstedt marcus at mc.pp.se
Tue Sep 10 15:53:31 UTC 2019


Hi Bin,

Bin Meng <bmeng.cn at gmail.com> writes:

> So 4.14 definitely was an out-of-tree kernel

Everything before 5.2 was out-of-tree.


> No one can guarantee an out-of-tree implementation will be
> keeping compatible after it's accepted in-tree.

Reviewers/maintainers can guarantee compatibility with existing
hardware and DT by not instisting on breaking changes.

It's not really about keeping in-tree and out-of-tree compatible with
each other, but about keeping both of them compatible with the actual
hardware and DT of the system the OS is supposed to run on.


> Reviewers/maintainers
> may have different view from the author on what's the best

A reviewer/maintainer could for example have the view that a certain
register in a piece of hardware should really be two registers with
the bits divided between them based on some logical partitioning.  And
they might be right.  But the hardware is what it is, and if they
insist that the driver access two different registers the driver will
not work the hardware.  You'll have a nice driver that works on
nothing (at least until the vendor makes a new spin of the hardware
with the two registers).

My opinion is that the DT should be treated the same way.  It is part
of the hardware (sort of the "metadata" for the hardware).  Sure you
can have some idea of how things could be expressed better and add
support for that, but you need to also keep compat with the actual
hardware platform that the driver is there to interface against,
otherwise the driver won't work.


  // Marcus




More information about the U-Boot mailing list