Re: [PATCH] x86/devicetree: add missing early_init_dt_setup_initrd_archstub

From: Grant Likely
Date: Thu Jun 09 2011 - 09:23:26 EST


On Thursday, June 9, 2011, Florian Fainelli <ffainelli@xxxxxxxxxx> wrote:
> On Monday 06 June 2011 10:21:31 Grant Likely wrote:
>> 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, are you picking this patch to any of your tree?

No. This is x86 stuff and should go via the tip tree.

g.

>
>>
>> > ---
>> > 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.  :-)
>
> Allright, I will take a look at this.
>
>>
>> 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);
>>
>> --
>> 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/
>

--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
--
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/