[PATCH 15/19] bootwrapper: Add initrd information to the device tree in ft_finalize().
Mark A. Greer
mgreer at mvista.com
Sat Feb 10 10:02:07 EST 2007
On Wed, Feb 07, 2007 at 05:01:40PM -0600, Scott Wood wrote:
Sorry for being so slow on this Scott.
<snip>
> diff --git a/arch/powerpc/boot/flatdevtree_misc.c b/arch/powerpc/boot/flatdevtree_misc.c
> index 04da38f..39fa010 100644
> --- a/arch/powerpc/boot/flatdevtree_misc.c
> +++ b/arch/powerpc/boot/flatdevtree_misc.c
> @@ -33,8 +33,20 @@ static int ft_setprop(const void *phandl
> return ft_set_prop(&cxt, phandle, propname, buf, buflen);
> }
>
> -static unsigned long ft_finalize(void)
> +unsigned long ft_finalize(void)
This is unnecessary. There is already global access from
dt_ops.finalize.
> {
> + unsigned long initrd_end = initrd.addr + initrd.size;
> + void *devp;
> +
> + if (initrd.size && (devp = finddevice("/chosen"))) {
> + setprop(devp, "linux,initrd-start", &initrd.addr,
> + sizeof(initrd.addr));
> + setprop(devp, "linux,initrd-end", &initrd_end,
> + sizeof(initrd_end));
> +
> + ft_add_rsvmap(&cxt, initrd.addr, initrd.size);
> + }
> +
IMHO, this is a very unnatural place to put this code.
It really belongs in main.c. That's where all the rest
of the code that accesses initrd.* is.
Mark
More information about the Linuxppc-dev
mailing list