On Sun, Oct 10, 2010 at 10:03 PM, Russell King - ARM Linux <li...@arm.linux.org.uk> wrote: > On Sun, Oct 10, 2010 at 08:40:38PM +0300, Felipe Contreras wrote: >> So that they can reserve some memory. >> >> Signed-off-by: Felipe Contreras <felipe.contre...@gmail.com> >> --- >> arch/arm/include/asm/mach/arch.h | 2 +- >> arch/arm/mm/init.c | 7 ++++--- >> 2 files changed, 5 insertions(+), 4 deletions(-) >> >> diff --git a/arch/arm/include/asm/mach/arch.h >> b/arch/arm/include/asm/mach/arch.h >> index 8a0dd18..408e4d5 100644 >> --- a/arch/arm/include/asm/mach/arch.h >> +++ b/arch/arm/include/asm/mach/arch.h >> @@ -38,7 +38,7 @@ struct machine_desc { >> void (*fixup)(struct machine_desc *, >> struct tag *, char **, >> struct meminfo *); >> - void (*reserve)(void);/* reserve mem blocks */ >> + void (*reserve)(struct meminfo *);/* reserve mem >> blocks */ >> void (*map_io)(void);/* IO mapping function */ >> void (*init_irq)(void); >> struct sys_timer *timer; /* system tick timer */ >> diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c >> index 7185b00..4b5c117 100644 >> --- a/arch/arm/mm/init.c >> +++ b/arch/arm/mm/init.c >> @@ -272,8 +272,6 @@ void __init arm_memblock_init(struct meminfo *mi, struct >> machine_desc *mdesc) >> int i; >> >> memblock_init(); >> - for (i = 0; i < mi->nr_banks; i++) >> - memblock_add(mi->bank[i].start, mi->bank[i].size); >> >> /* Register the kernel text, kernel data and initrd with memblock. */ >> #ifdef CONFIG_XIP_KERNEL >> @@ -295,7 +293,10 @@ void __init arm_memblock_init(struct meminfo *mi, >> struct machine_desc *mdesc) >> >> /* reserve any platform specific memblock areas */ >> if (mdesc->reserve) >> - mdesc->reserve(); >> + mdesc->reserve(mi); >> + >> + for (i = 0; i < mi->nr_banks; i++) >> + memblock_add(mi->bank[i].start, mi->bank[i].size); > > It is not a good idea to change the ordering here, as we'll now be > adding the memory blocks _after_ we've started to make reservations > into memblock. > > At least the omapfb code wants there to be memory present in memblock > when ->reserve is called.
True. I initially added a new callback called reserve_mem(), but I thought it would be nicer to avoid adding a new function almost identical to an existing one. Anyway, what is your suggestion? Can you come up with something else? -- Felipe Contreras -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html