[PATCH] arm: introduce arm_add_mem_device to register dram device
Jean-Christophe PLAGNIOL-VILLARD
plagnioj at jcrosoft.com
Mon Aug 1 05:19:27 EDT 2011
On 11:09 Mon 01 Aug , Sascha Hauer wrote:
> On Mon, Aug 01, 2011 at 10:05:45AM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote:
> > On 10:05 Mon 01 Aug , Sascha Hauer wrote:
> > > On Mon, Aug 01, 2011 at 07:04:52AM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote:
> > > > this will automaticaly register the device to armlinux_add_dram
> > > >
> > > > Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
> > > > ---
> > > > diff --git a/include/driver.h b/include/driver.h
> > > > index b011f98..0faafe3 100644
> > > > --- a/include/driver.h
> > > > +++ b/include/driver.h
> > > > @@ -214,6 +214,11 @@ static inline struct device_d *add_mem_device(const char *name, resource_size_t
> > > > IORESOURCE_MEM | flags, NULL);
> > > > }
> > > >
> > > > +#ifdef CONFIG_ARM
> > > > +struct device_d *arm_add_mem_device(const char* name, resource_size_t start,
> > > > + resource_size_t size);
> > > > +#endif
> > > > +
> > >
> > > No ifdefs around function declarations please. Also, this should
> > > go somewhere under arch/arm/include.
> > armlinux?
> > >
> > > BTW this conflicts with my mmu series I recently sent. Having this
> > > arm_add_mem_device function is a good thing, but now one of us has
> > > to do his series again :(
> >
> > > For the mmu to just work on all boards I need a place where I know
> > > that all memory has been registered. For this I wanted to introduce
> > > a memory_initcall (we could also reuse console_initcall, but I thought
> > > having a dedicated initcall is cleaner). Then I could initialize the
> > > mmu in a later initcall.
> > I known but I wish we drop the mmu_init in the board at all
> > and manage it in a generic part
>
> That's my goal aswell, but the mmu init needs to be done when the memory
> is registered but still no driver uses dma_alloc_coherent. Currently
> this place does not exist since every board does the memory registration
> at some random place.
> The mmu code can't remap sdram without knowing where it is.
yeah, so in te mmu rework we introduction a initcall for mem init
and an other othrer one (post_mem_init) where we do the mmu_init
if ok I rebase you patched over mine
Best Regards,
J.
More information about the barebox
mailing list