[PATCH 13/15] ARM: make mach/io.h include optional

Arnd Bergmann arnd at arndb.de
Mon Feb 13 21:03:15 EST 2012


On Monday 13 February 2012, Russell King - ARM Linux wrote:
> On Mon, Feb 13, 2012 at 03:43:26PM -0600, Rob Herring wrote:
> > From: Rob Herring <rob.herring at calxeda.com>
> > 
> > Add a kconfig option NEED_MACH_IO_H to conditionally include mach/io.h.
> > 
> > Basing this on CONFIG_PCI and CONFIG_ISA doesn't quite work. Most ISA
> > platforms don't need mach/io.h, but ebsa110 does.
> 
> This is architecturally wrong.  If you have ISA, and your __io() macro
> is essentially a 1:1 translation, you're asking for ISA drivers to
> scribble on whatever is at virtual address 0-64K.  Too bad if that
> happens to be where your CPU vectors are stored, you'll lose control
> of the CPU in that case.

Right. I still think it should be conditional on PCI || ISA || PCMCIA,
not introducing a new kconfig symbol, and the next step should be to
unify the __io() implementations for the platforms that need them.

> So, I think this patch series moves things in the wrong direction.

I would very much like to see a lot of the series get merged as it
brings us closer to the single zimage, but I agree we have to be
careful not to add extra complexity (or bugs, for that matter).

	Arnd



More information about the linux-arm-kernel mailing list