DT vs ARM static mappings
Russell King - ARM Linux
linux at arm.linux.org.uk
Thu Sep 22 23:13:02 EST 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 devicetree-discuss
mailing list