[PATCH 6/8] arm: mach-armada: add support for Armada XP board with device tree
From: Ben Dooks <hidden>
Date: 2012-05-15 15:07:59
On 15/05/12 15:58, Thomas Petazzoni wrote:
Le Tue, 15 May 2012 15:32:36 +0100, Ben Dooks[off-list ref] a ?crit :quoted
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.quoted
* 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?
I think it was because that PCI was initialised early and requires a large mapping space. It is very likely to be legacy kernel stuff that people have kept copying through. -- Ben Dooks http://www.codethink.co.uk/ Senior Engineer Codethink - Providing Genius