[PATCH] arm: introduce arm_add_mem_device to register dram device

Sascha Hauer s.hauer at pengutronix.de
Mon Aug 1 05:51:07 EDT 2011


On Mon, Aug 01, 2011 at 11:19:27AM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote:
> 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

Yes, that would be great.

Sascha


-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list