[PATCH v6 1/3] Fix ioport_map() for !CONFIG_GENERIC_IOMAP cases.
Arnd Bergmann
arnd at arndb.de
Thu Mar 6 19:37:38 EST 2014
On Thursday 06 March 2014, Russell King - ARM Linux wrote:
> On Wed, Mar 05, 2014 at 11:49:08AM +0000, Liviu Dudau wrote:
> > The inline version of ioport_map() that gets used when !CONFIG_GENERIC_IOMAP
> > is wrong. It returns a mapped (i.e. virtual) address that can start from
> > zero and completely ignores the PCI_IOBASE and IO_SPACE_LIMIT that most
> > architectures that use !CONFIG_GENERIC_MAP define.
>
> What value does PCI_IOBASE and IO_SPACE_LIMIT have on other architectures
> who make use of asm-generic/io.h ?
>
> $ git grep asm-generic/io.h arch/
> arch/arc/include/asm/io.h:#include <asm-generic/io.h>
PCI support hasn't been upstreamed.
> arch/blackfin/include/asm/io.h:#include <asm-generic/io.h>
> arch/metag/include/asm/io.h:#include <asm-generic/io.h>
No PCI support
> arch/microblaze/include/asm/io.h:/* from asm-generic/io.h */
PCI_IOBASE=0, IO_SPACE_LIMIT=0xffffffff, so no change.
> arch/openrisc/include/asm/io.h:#include <asm-generic/io.h>
No PCI support
> arch/s390/include/asm/io.h:#include <asm-generic/io.h>
s390 supports PCI but no I/O space
> arch/score/include/asm/io.h:#include <asm-generic/io.h>
No PCI support
> arch/unicore32/include/asm/io.h:#include <asm-generic/io.h>
unicore32 is broken currently, the patch fixes it.
> arch/xtensa/include/asm/io.h:#include <asm-generic/io.h>
PCI_IOBASE=0, IO_SPACE_LIMIT=0xffffffff, so no change.
For most of these, I assume we actually want to remove support
for inb/outb as they don't support I/O space accesses. The other
ones look correct to me.
Arnd
More information about the linux-arm-kernel
mailing list