diff options
author | Arnd Bergmann <arnd@arndb.de> | 2022-04-24 14:36:35 +0200 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2022-05-07 22:56:17 +0200 |
commit | 645b302673bb74930b5f38f1d5b7e7532f164595 (patch) | |
tree | 0429d09bd6bef49663611bf46f1a5ae00ecf8afd /include/pcmcia | |
parent | 5414bea9a462ba66b54f6ceee6e29b0a3b071828 (diff) | |
download | linux-rpi-645b302673bb74930b5f38f1d5b7e7532f164595.tar.gz linux-rpi-645b302673bb74930b5f38f1d5b7e7532f164595.tar.bz2 linux-rpi-645b302673bb74930b5f38f1d5b7e7532f164595.zip |
ARM: pxa/sa1100: move I/O space to PCI_IOBASE
PXA and StrongARM1100 traditionally map their I/O space 1:1 into virtual
memory, using a per-bus io_offset that matches the base address of the
ioremap mapping.
In order for PXA to work in a multiplatform config, this needs to
change so I/O space starts at PCI_IOBASE (0xfee00000). Since the pcmcia
soc_common support is shared with StrongARM1100, both have to change at
the same time. The affected machines are:
- Anything with a PCMCIA slot now uses pci_remap_iospace, which
is made available to PCMCIA configurations as well, rather than
just PCI. The first PCMCIA slot now starts at port number 0x10000.
- The Zeus and Viper platforms have PC/104-style ISA buses,
which have a static mapping for both I/O and memory space at
0xf1000000, which can no longer work. It does not appear to have
any in-tree users, so moving it to port number 0 makes them
behave like a traditional PC.
- SA1100 does support ISA slots in theory, but all machines that
originally enabled this appear to have been removed from the tree
ages ago, and the I/O space is never mapped anywhere.
- The Nanoengine machine has support for PCI slots, but looks
like this never included I/O space, the resources only define the
location for memory and config space.
With this, the definitions of __io() and IO_SPACE_LIMIT can be simplified,
as the only remaining cases are the generic PCI_IOBASE and the custom
inb()/outb() macros on RiscPC. S3C24xx still has a custom inb()/outb()
in this here, but this is already removed in another branch.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'include/pcmcia')
-rw-r--r-- | include/pcmcia/soc_common.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/pcmcia/soc_common.h b/include/pcmcia/soc_common.h index 26f1473a06c5..d4f18f4679df 100644 --- a/include/pcmcia/soc_common.h +++ b/include/pcmcia/soc_common.h @@ -46,9 +46,9 @@ struct soc_pcmcia_socket { struct resource res_skt; struct resource res_io; + struct resource res_io_io; struct resource res_mem; struct resource res_attr; - void __iomem *virt_io; struct { int gpio; |