Kumar Gala wrote:
On Apr 22, 2009, at 4:38 PM, Scott Wood wrote:
Kumar Gala wrote:
I disagree. If you update your kernel you should update your device
tree (thus we have .dts in the kernel tree and not somewhere else).
No. The device tree is a means to pass information from the firmware
to the kernel. It is part of the firmware. That the repository of
trees is in the Linux kernel for any boards which are not including
the tree inside a bootwrapper is a historical accident.
I think its a point of view argument.
I don't. It is the responsibility of u-boot to produce a complete
device tree; what bits are in the dts and what bits are programatically
generated is an internal implementation detail. We are currently
hosting some parts of that implementation detail in the Linux tree, but
it is still a u-boot implementation detail. U-boot is perfectly within
its rights to generate the entire tree from scratch if it wanted to.
Just a few hours ago you were telling me that you didn't want to put
accurate information in the device tree because you wanted u-boot to
generate it instead. :-)
The reason we have standards such as ePAPR in the first place is so that
we are dealing with well-defined interfaces that can be used even when
the firmware is not U-Boot at all (but merely something that is
standards-compliant) and/or the kernel is not Linux at all (but merely
something that is standards-compliant). The downside to that is that
revising standards is a bit more of a pain than revising code. We can
do it if it's worthwhile, but we should try to avoid doing it gratuitously.
I don't agree its part of the
firmware, at least not part of the firmware we use (u-boot).
We have had many instances of certain versions of device trees being
incompatible with certain versions of u-boot.
All I'm asking is that we treat a mandatory dts upgrade as seriously as
a mandatory firmware upgrade.
Updating the dtb with the kernel just shifts the risk of
incompatibility to interactions between the firmware and the dtb. The
same backwards compatibility considerations when making kernel changes
that depend on firmware changes should be made when making kernel
changes that depend on dts changes.
As I told Timur, I'm speaking of addition of new nodes and code that
parses and expect those nodes to be there.
And what do we gain from this change in interface with the firmware on
hardware that is not exactly under active development? What problem are
you trying to solve? Why do we need to get rid of get_immrbase() (as
opposed to being less reliant on it going forward, and tolerating its
failure on platforms that may be virtualized and thus not have the
complete IMMR/CCSR)?
Will any of these new nodes need anything to be filled in by u-boot?
-Scott
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev