DT vs ARM static mappings

Russell King - ARM Linux linux at arm.linux.org.uk
Thu Sep 22 09:13:02 EDT 2011


On Thu, Sep 22, 2011 at 02:04:56PM +0100, Pawel Moll wrote:
> > > ARM machine description contains a "map_io" method, which is used to
> > > create static memory mappings (using iotable_init() function) for things
> > > like peripherals or SRAMs. At least that's the theory, because most of
> > > the platforms are doing much more stuff there, like clocking/GPIOs/UARTs
> > > initialization, hardware probing etc.
> > 
> > No, most of them don't.  Maybe a few cases do for historical reasons, 
> > but there are other hooks now to link probing and initialization code 
> > to.
> 
> Ok, what I did was grepping for all .map_io-s. Then I sorted the list
> and had a look at first 100 and about 50% of them were doing more than
> just creating mappings.

The answer to that is: they shouldn't be now that we have the init_early
hook.  The only remainder for .map_io is where platforms make run-time
decisions about what to map based on some register value somewhere
(eg, Assabet vs Assabet+Neponset).

I do have a large patch series floating around in my git tree which tries
to clean up to all those map_io functions - the biggest stumbling block
to them is the Samsung stuff being indirected through its own tables.

Of course, with all the changes to .boot_params etc, the patches no longer
apply to current kernels.



More information about the linux-arm-kernel mailing list