Subject: [PATCH 6/8] arm: mach-armada: add support for Armada XP board with device tree

From: [email-masked] (Thomas Petazzoni)
Date: Tue, 15 May 2012 16:58:13 +0200

Le Tue, 15 May 2012 15:32:36 +0100,
Ben Dooks <[email-masked]> a ?crit :

> Yes, the number of times I've viewed the kernel and seen very similar
> code replicated multiple times tends to make me burst into tears.
> 
> >   * Maybe those mappings can be done using a normal ioremap() rather
> >     than in ->map_io(), according to DT informations (but most
> > other ARM SoC support at the moment seem to do PCI mappings using
> > static mappings in ->map_io)
> 
> That's a very old way of doing it. I'm pretty sure there's no reason
> to get these allocated so early.
> 
> I believe you can probably leave the PCI/PCIe bindings until you have
> enough kernel state to do ioremap() or similar and then associate the
> necessary mappings with the bus creation.

Agreed. When looking at the code, I wasn't sure why PCI mappings were
needed so early. Surely, the minimal mappings to get an UART are quite
useful to have very early, but why PCI?

> >   * We probably shouldn't have anticipated this too much, and keep
> > only one file for this initial submission.
> 
> Yes, the less we need to review the better.

We've tried to minimize as much as possible the amount of code for this
initial submission. We already have some code for PCI, L2 cache
support, network driver, etc, but we wanted to limit ourselves to the
strict minimum to get a kernel booting with an initramfs based root
filesystem.

> > Thanks for the comments!
> 
> I'll get to testing this kernel soon, and report back

Excellent, thanks!

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com