removing get_immrbase()??
Scott Wood
scottwood at freescale.com
Thu Apr 23 08:33:52 EST 2009
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
More information about the Linuxppc-dev
mailing list