linux/arch/arm
Willy Tarreau e72e8bf1c9 floppy: split the base port from the register in I/O accesses
Currently we have architecture-specific fd_inb() and fd_outb() functions
or macros, taking just a port which is in fact made of a base address and
a register. The base address is FDC-specific and derived from the local or
global "fdc" variable through the FD_IOPORT macro used in the base address
calculation.

This change splits this by explicitly passing the FDC's base address and
the register separately to fd_outb() and fd_inb(). It affects the
following archs:
  - x86, alpha, mips, powerpc, parisc, arm, m68k:
    simple remap of port -> base+reg

  - sparc32: use of reg only, since the base address was already masked
    out and the FDC controller is known from a static struct.

  - sparc64: like x86 for PCI, like sparc32 for 82077

Some archs use inline functions and others macros. This was not
unified in order to minimize the number of changes to review. For the
same reason checkpatch still spews a few warnings about things that
were already there before.

The parisc still uses hard-coded register values and could be cleaned up
by taking the register definitions.

The sparc per-controller inb/outb functions could further be refined
to explicitly take an FDC register instead of a port in argument but it
was not needed yet and may be cleaned later.

Link: https://lore.kernel.org/r/20200331094054.24441-2-w@1wt.eu
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Matt Turner <mattst88@gmail.com>
Cc: Ian Molton <spyro@f2s.com>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Helge Deller <deller@gmx.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: x86@kernel.org
Signed-off-by: Willy Tarreau <w@1wt.eu>
Signed-off-by: Denis Efremov <efremov@linux.com>
2020-05-12 19:34:52 +03:00
..
boot Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-04-16 14:52:29 -07:00
common ARM: sa1111: Fix irq_retrigger callback return value 2020-03-16 15:48:54 +00:00
configs ARM: defconfig updates 2020-04-03 15:15:10 -07:00
crypto SPDX patches for 5.7-rc1. 2020-04-03 13:12:26 -07:00
include floppy: split the base port from the register in I/O accesses 2020-05-12 19:34:52 +03:00
kernel SPDX patches for 5.7-rc1. 2020-04-03 13:12:26 -07:00
lib ARM: 8958/1: rename missed uaccess .fixup section 2020-02-21 17:03:21 +00:00
mach-actions
mach-alpine
mach-artpec
mach-asm9260
mach-aspeed
mach-at91 ARM: SoC updates 2020-04-03 15:02:35 -07:00
mach-axxia
mach-bcm ARM: bcm: Drop unneeded select of PCI_DOMAINS_GENERIC, HAVE_SMP, TIMER_OF 2020-03-10 10:58:26 -07:00
mach-berlin
mach-clps711x
mach-cns3xxx ARM: cns3xxx: replace setup_irq() by request_irq() 2020-03-27 14:11:47 +01:00
mach-davinci ARM: SoC: late updates 2020-02-08 14:17:27 -08:00
mach-digicolor
mach-dove arm: mach-dove: Mark dove_io_desc as __maybe_unused 2020-03-13 21:44:50 +01:00
mach-ebsa110 ARM: 8964/1: ebsa110: replace setup_irq() by request_irq() 2020-03-19 09:27:39 +00:00
mach-efm32
mach-ep93xx ARM: ep93xx: Replace setup_irq() by request_irq() 2020-03-27 14:11:42 +01:00
mach-exynos arm: Unplug KVM from the build system 2020-03-24 10:55:50 +00:00
mach-footbridge ARM: 8965/2: footbridge: replace setup_irq() by request_irq() 2020-03-19 09:27:40 +00:00
mach-gemini
mach-highbank
mach-hisi
mach-imx ARM: SoC updates 2020-04-03 15:02:35 -07:00
mach-integrator ARM: integrator: impd1: Use GPIO_LOOKUP() helper macro 2020-03-26 22:05:12 +01:00
mach-iop32x ARM: iop32x: replace setup_irq() by request_irq() 2020-03-27 14:10:52 +01:00
mach-ixp4xx
mach-keystone
mach-lpc18xx
mach-lpc32xx
mach-mediatek
mach-meson ARM: meson: Drop unneeded select of COMMON_CLK 2020-02-29 08:16:20 -08:00
mach-milbeaut
mach-mmp ARM: mmp: replace setup_irq() by request_irq() 2020-03-27 14:11:50 +01:00
mach-moxart
mach-mv78xx0
mach-mvebu
mach-mxs
mach-nomadik
mach-npcm ARM: npcm: Bring back GPIOLIB support 2020-02-09 03:44:51 -08:00
mach-nspire
mach-omap1 ARM: SoC updates 2020-04-03 15:02:35 -07:00
mach-omap2 change email address for Pali Rohár 2020-04-10 15:36:22 -07:00
mach-orion5x ARM: orion5x: ts78xx: Remove unneeded variable ret 2020-03-08 12:42:07 +01:00
mach-oxnas
mach-picoxcell
mach-prima2
mach-pxa backlight: corgi: Convert to use GPIO descriptors 2020-03-25 09:30:46 +00:00
mach-qcom ARM: qcom: Add support for IPQ40xx 2020-03-31 21:03:27 +02:00
mach-rda
mach-realview
mach-rockchip
mach-rpc ARM: 8966/1: rpc: replace setup_irq() by request_irq() 2020-03-19 09:27:42 +00:00
mach-s3c24xx backlight: pwm_bl: Switch to full GPIO descriptor 2020-03-18 15:05:57 +00:00
mach-s3c64xx backlight: pwm_bl: Switch to full GPIO descriptor 2020-03-18 15:05:57 +00:00
mach-s5pv210
mach-sa1100
mach-shmobile ARM: shmobile: Replace <linux/clk-provider.h> by <linux/of_clk.h> 2020-02-17 11:39:44 +01:00
mach-socfpga
mach-spear ARM: spear: replace setup_irq() by request_irq() 2020-03-27 14:11:45 +01:00
mach-sti
mach-stm32
mach-sunxi ARM: sunxi: Replace <linux/clk-provider.h> by <linux/of_clk.h> 2020-02-12 18:15:39 +01:00
mach-tango
mach-tegra cpuidle: tegra: Squash Tegra114 driver into the common driver 2020-03-13 11:32:01 +01:00
mach-u300
mach-uniphier
mach-ux500
mach-versatile
mach-vexpress
mach-vt8500
mach-zx
mach-zynq ARM: zynq: Replace <linux/clk-provider.h> by <linux/of_clk.h> 2020-02-13 07:26:36 +01:00
mm mm/special: create generic fallbacks for pte_special() and pte_mkspecial() 2020-04-10 15:36:21 -07:00
net arm, bpf: Fix offset overflow for BPF_MEM BPF_DW 2020-04-14 21:27:54 +02:00
nwfpe
oprofile
plat-omap
plat-orion ARM: orion: replace setup_irq() by request_irq() 2020-03-13 21:37:15 +01:00
plat-pxa
plat-samsung
plat-versatile
probes
tools threads-v5.6 2020-01-29 19:38:34 -08:00
vdso .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
vfp
xen arm/xen: make _xen_start_info static 2020-04-17 07:45:12 +02:00
Kconfig ARM: 2020-04-02 15:13:15 -07:00
Kconfig-nommu
Kconfig.debug ARM: debug: stm32: add UART early console support for STM32MP1 2020-03-13 17:05:07 +01:00
Makefile ARM: SoC updates 2020-04-03 15:02:35 -07:00