Re: [PATCH] x86/devicetree: add missingearly_init_dt_setup_initrd_arch stub

From: Grant Likely
Date: Mon Jun 06 2011 - 04:21:37 EST


On Mon, Jun 06, 2011 at 10:15:49AM +0200, Florian Fainelli wrote:
> From: Florian Fainelli <ffainelli@xxxxxxxxxx>
>
> This patch fixes the following build failure:
>
> drivers/built-in.o: In function `early_init_dt_check_for_initrd':
> /home/florian/dev/kernel/x86/linux-2.6-x86/drivers/of/fdt.c:571:
> undefined reference to `early_init_dt_setup_initrd_arch'
> make: *** [.tmp_vmlinux1] Error 1
>
> which happens as soon as we enable initrd support on a x86 devicetree
> platform such as Intel CE4100.
>
> Tested on a custom Intel CE4100 board.
>
> CC:stable@xxxxxxxxxx
> Signed-off-by: Florian Fainelli <ffainelli@xxxxxxxxxx>

Acked-by: Grant Likely <grant.likely@xxxxxxxxxxxx>

> ---
> Grant,
>
> MIPS, PowerPC, Microblaze and now x86 all have the same way of implementing
> this, would it rather make sense to get this merged to generic devicetree functions
> and let this be overriden if needed?

Probably, but I'm not going to tackle that problem just yet. Although
if you want to investigate and propose a patch, then go for it. :-)

g.


>
> Stable: this is a candidate for 2.6.39.2
>
> diff --git a/arch/x86/kernel/devicetree.c b/arch/x86/kernel/devicetree.c
> index 690bc84..9aeb78a 100644
> --- a/arch/x86/kernel/devicetree.c
> +++ b/arch/x86/kernel/devicetree.c
> @@ -13,6 +13,7 @@
> #include <linux/slab.h>
> #include <linux/pci.h>
> #include <linux/of_pci.h>
> +#include <linux/initrd.h>
>
> #include <asm/hpet.h>
> #include <asm/irq_controller.h>
> @@ -98,6 +99,16 @@ void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align)
> return __alloc_bootmem(size, align, __pa(MAX_DMA_ADDRESS));
> }
>
> +#ifdef CONFIG_BLK_DEV_INITRD
> +void __init early_init_dt_setup_initrd_arch(unsigned long start,
> + unsigned long end)
> +{
> + initrd_start = (unsigned long)__va(start);
> + initrd_end = (unsigned long)__va(end);
> + initrd_below_start_ok = 1;
> +}
> +#endif
> +
> void __init add_dtb(u64 data)
> {
> initial_dtb = data + offsetof(struct setup_data, data);
> --
> 1.7.4.1
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/