summaryrefslogtreecommitdiffstats
path: root/include/pcmcia
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2022-04-24 14:36:35 +0200
committerArnd Bergmann <arnd@arndb.de>2022-05-07 22:56:17 +0200
commit645b302673bb74930b5f38f1d5b7e7532f164595 (patch)
tree0429d09bd6bef49663611bf46f1a5ae00ecf8afd /include/pcmcia
parent5414bea9a462ba66b54f6ceee6e29b0a3b071828 (diff)
downloadlinux-stable-645b302673bb74930b5f38f1d5b7e7532f164595.tar.gz
linux-stable-645b302673bb74930b5f38f1d5b7e7532f164595.tar.bz2
linux-stable-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.h2
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;