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

Russell King - ARM Linux linux at arm.linux.org.uk
Mon Feb 13 17:36:53 EST 2012


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.

In other words, if you have PCI or ISA and your __io() macro is a 1:1
translation, you _need_ an io.h to define a proper offset for this.

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



More information about the linux-arm-kernel mailing list