[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