[PATCH 1/6] ARM: bcm476x: Add infrastructure
Arnd Bergmann
arnd at arndb.de
Fri Oct 12 06:48:24 EDT 2012
On Friday 12 October 2012, Thomas Petazzoni wrote:
> On Fri, 12 Oct 2012 08:03:54 +0000, Arnd Bergmann wrote:
>
> > I would certainly like to see this, yes. I had a patch for it ages
> > ago, but would start over again if I did this now.
> >
> > I don't have time to do the conversion at the moment, but I would
> > certainly welcome a patch that does it. I can give some details about
> > the problems with that and how I think they should be solved.
>
> I did start working on such a patch a few weeks ago, but converting all
> the platforms to use IOMEM() was really boring. But now you did that, I
> can try to revive my patch, see if it works, and post it if you're
> interested.
Ok, cool!
The main thing to watch out for are mappings that are not for MMIO,
such as the call to create_mapping() in map_lowmem() or in
devicemaps_init().
I would suggest making struct map_desc specific to callers of
iotable_init() and changing the prototype for create_mapping() to
void __init create_mapping(unsigned long virtual, unsigned long pfn,
size_t length, unsigned int type);
That means we still need to add one type cast in iotable_init(), but
everything else should become simpler. There are a few instances in
platform code that use MT_MEMORY rather MT_DEVICE. At least the TCM
one should not really be __iomem, but I'm not sure about the various
TI SRAM locations. Probably doesn't matter all that much for those.
Arnd
More information about the linux-arm-kernel
mailing list