ARM: s3c24xx: remove support for ISA drivers on BAST PC/104
authorArnd Bergmann <arnd@arndb.de>
Sat, 2 Apr 2022 10:29:36 +0000 (12:29 +0200)
committerArnd Bergmann <arnd@arndb.de>
Thu, 7 Apr 2022 07:31:21 +0000 (09:31 +0200)
commit91276c0fa4b405c90d7a7fafdca84ae18a516bbf
tree6619dfb005de61a8b93569da2c52a353a59df9ac
parent09f6b27d5ddd9ad0ec096d1b0f8decdacc70f0f8
ARM: s3c24xx: remove support for ISA drivers on BAST PC/104

BAST is the one machine that theoretically supports unmodified ISA
drivers for hardware on its PC/104 connector, using a custom version of
the inb()/outb() and inw()/outw() macros.

This is incompatible with the generic version used in asm/io.h, and
can't easily be used in a multiplatform kernel.

Removing the special case for 16-bit I/O port access on BAST gets us
closer to multiplatform, at the expense of any PC/104 users with 16-bit
cards having to either use an older kernel or modify their ISA drivers
to manually ioremap() the area and use readw()/write() in place of
inw()/outw(). Either way is probably ok, given that there is a
recurring discussion about dropping s3c24xx altogether, and many
traditional ISA drivers are already gone.

Machines other than BAST already have no support for ISA drivers, though a
couple of them do map one of the external chip-selects into the ISA port
range, using the same address for 8-bit and 16-bit I/O. It is unlikely
that anything actually uses this mapping, but it's also easy to keep
this working by mapping it to the normal platform-independent PCI I/O
base that is otherwise unused on s3c24xx.

The mach/map-base.h file is no longer referenced in global headers and
can be moved into the platform directory.

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
17 files changed:
arch/arm/Kconfig
arch/arm/mach-s3c/Kconfig.s3c24xx
arch/arm/mach-s3c/cpu.c
arch/arm/mach-s3c/include/mach/io-s3c24xx.h [deleted file]
arch/arm/mach-s3c/include/mach/io.h [deleted file]
arch/arm/mach-s3c/irq-pm-s3c24xx.c
arch/arm/mach-s3c/mach-anubis.c
arch/arm/mach-s3c/mach-bast.c
arch/arm/mach-s3c/mach-osiris.c
arch/arm/mach-s3c/mach-rx3715.c
arch/arm/mach-s3c/mach-smdk2416.c
arch/arm/mach-s3c/mach-smdk2440.c
arch/arm/mach-s3c/mach-smdk2443.c
arch/arm/mach-s3c/mach-vr1000.c
arch/arm/mach-s3c/map-base.h [moved from arch/arm/mach-s3c/include/mach/map-base.h with 87% similarity]
arch/arm/mach-s3c/map-s3c24xx.h
arch/arm/mach-s3c/map-s3c64xx.h