linux/drivers/pcmcia
Arnd Bergmann 645b302673 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>
2022-05-07 22:56:17 +02:00
..
at91_cf.c
bcm63xx_pcmcia.c
bcm63xx_pcmcia.h
cardbus.c
cirrus.h
cistpl.c
cs_internal.h
cs.c pcmcia: fix setting of kthread task states 2022-01-09 21:30:04 +01:00
db1xxx_ss.c
ds.c pcmcia: use sysfs_emit{,_at} for sysfs output 2022-01-06 09:15:52 +01:00
electra_cf.c
i82092.c
i82092aa.h
i82365.c
i82365.h
Kconfig ARM: pxa: remove Intel Imote2 and Stargate 2 boards 2022-02-28 15:08:14 +01:00
Makefile ARM: pxa: move pcmcia board data into mach-pxa 2022-04-19 21:34:05 +02:00
max1600.c
max1600.h
o2micro.h
omap_cf.c
pcmcia_cis.c
pcmcia_resource.c pcmcia: make pcmcia_release_io() void, as no-one is interested in return value 2022-01-02 19:01:37 +01:00
pd6729.c
pd6729.h
pxa2xx_base.c ARM: pxa: pcmcia: move smemc configuration back to arch 2022-05-07 22:55:49 +02:00
pxa2xx_base.h
pxa2xx_mainstone.c
pxa2xx_sharpsl.c ARM: pxa: move pcmcia board data into mach-pxa 2022-04-19 21:34:05 +02:00
ricoh.h
rsrc_iodyn.c
rsrc_mgr.c
rsrc_nonstatic.c pcmcia: use sysfs_emit{,_at} for sysfs output 2022-01-06 09:15:52 +01:00
sa11xx_base.c
sa11xx_base.h
sa1100_generic.c
sa1100_generic.h
sa1100_h3600.c
sa1100_simpad.c
sa1111_badge4.c
sa1111_generic.c ARM: pxa: split up mach/hardware.h 2022-04-19 16:27:05 +02:00
sa1111_generic.h
sa1111_jornada720.c
sa1111_lubbock.c ARM: pxa: split up mach/hardware.h 2022-04-19 16:27:05 +02:00
sa1111_neponset.c
soc_common.c ARM: pxa/sa1100: move I/O space to PCI_IOBASE 2022-05-07 22:56:17 +02:00
soc_common.h ARM: pxa: move pcmcia board data into mach-pxa 2022-04-19 21:34:05 +02:00
socket_sysfs.c pcmcia: use sysfs_emit{,_at} for sysfs output 2022-01-06 09:15:52 +01:00
tcic.c
tcic.h
ti113x.h
topic.h
vg468.h
vrc4171_card.c
xxs1500_ss.c
yenta_socket.c drivers/pcmcia: Fix ifdef covering yenta_pm_ops 2022-01-11 14:45:19 -08:00
yenta_socket.h