alpha: add full ioread64/iowrite64 implementation
authorArnd Bergmann <arnd@arndb.de>
Mon, 3 Oct 2022 11:12:54 +0000 (13:12 +0200)
committerArnd Bergmann <arnd@arndb.de>
Tue, 4 Oct 2022 09:23:29 +0000 (11:23 +0200)
commite19d4ebc536dadb607fe305fdaf48218d3e32d7c
tree5d645d629d6675015352a1a00d560f55efc6272d
parent28a679ea60d0d16c3556f687bb2040559e92e932
alpha: add full ioread64/iowrite64 implementation

The previous patch introduced ioread64/iowrite64 declarations, but
this means we no longer get the io-64-nonatomic variant, and
run into a long error when someone actually wants to use these:

ERROR: modpost: "ioread64" [drivers/net/ethernet/freescale/enetc/fsl-enetc.ko] undefined!

Add the (hopefully) correct implementation for each machine type,
based on the 32-bit accessor. Since the 32-bit return type does
not work for ioread64(), change the internal implementation to use
the correct width consistently, but leave the external interface
to match the asm-generic/iomap.h header that uses 32-bit or 64-bit
return values.

Reported-by: Guenter Roeck <linux@roeck-us.net>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Fixes: 7e772dad9913 ("alpha: Use generic <asm-generic/io.h>")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
13 files changed:
arch/alpha/include/asm/core_apecs.h
arch/alpha/include/asm/core_cia.h
arch/alpha/include/asm/core_lca.h
arch/alpha/include/asm/core_marvel.h
arch/alpha/include/asm/core_mcpcia.h
arch/alpha/include/asm/core_t2.h
arch/alpha/include/asm/io.h
arch/alpha/include/asm/io_trivial.h
arch/alpha/include/asm/jensen.h
arch/alpha/include/asm/machvec.h
arch/alpha/kernel/core_marvel.c
arch/alpha/kernel/io.c
arch/alpha/kernel/machvec_impl.h