[U-Boot] libfdt: make fdt_increase_size() available to everyone

Wolfgang Denk
2010-05-25T22:11:02Z

Dear Timur Tabi,

In message <4BFC24DB.8070805@freescale.com> you wrote:
> Wolfgang Denk wrote:
>
> > That was on IRC; here the relevant snippet:
>
> Thanks. Just to be clear, do you expect fdt_fw_addr always to point to a
> FIT-wrapped firmware binary?

Please re-read the IRC log. Kumar explicitly stated he was trying to
avoid making FIT images mandatory, at least for now. And I explicitly
wrote that it should be "the address of a IH_TYPE_FIRMWARE image
then".

> We never finished this discussion. My point was that even if the firmware
> is wrapped in a FIT image, the process by which the firmware is actually
> inserted into the device tree is specific to the actual firmware. You could
> even say it's board-specific.

You could say that. You could also say that 2+2=5.

I will argue in both cases.

> In contrast, you want the fdt relocation code to be able to increase the
> size of the fdt without knowing any details about the firmware itself.

That's not correct. At least we know the address and the size. And if
you follow my recommendation of using the name entry for type
information (or come up with a better proposal) we also know the
type.

> Therefore, there will be two pieces of code that references fdt_fw_addr.
> The first is in boot_relocate_fdt(), which will extract the size information
> from the FIT image that fdt_fw_addr points to. The second is the QE code
> which extracts the firmware from the FIT image and embeds it into the device
> tree, in a QE-specific way.

I see no inherent problems with having a generic, common part for all
systems enabling this feature, plus eventually hooks for (additional)
customized processing of certain firmware image types.

Of course one can argue that making the decision on the type based on
the name entry is a stupid thing, and come up for example with
additional IH_TYPE entries; or even try to define subtypes. I think
I'll leave this as an exercise to you :-)

Best regards,

Wolfgang Denk

--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
The reasonable man adapts himself to the world; the unreasonable one
persists in trying to adapt the world to himself. Therefore all
progress depends on the unreasonable man." - George Bernard Shaw