On Mon, Oct 03, 2022 at 02:13:16PM +0200, Linus Walleij wrote: > When doing allmod builds it turns out some modules are using > ioread64() and iowrite64() that the alpha does not implement, > as it is using <asm-generic/iomap.h> without selecting > GENERIC_IOMAP. > > Fix this by implementing the ioread64()/iowrite64() stubs > as well, using readq() and writeq() respectively. > > Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> > Fixes: 7e772dad9913 ("alpha: Use generic <asm-generic/io.h>") > Link: https://lore.kernel.org/linux-arch/20221002224521.GA968453@xxxxxxxxxxxx/ > Cc: Arnd Bergmann <arnd@xxxxxxxx> > Cc: Richard Henderson <richard.henderson@xxxxxxxxxx> > Cc: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx> > Cc: Matt Turner <mattst88@xxxxxxxxx> > Cc: linux-arch@xxxxxxxxxxxxxxx > Cc: linux-alpha@xxxxxxxxxxxxxxx > Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Note that I don't have a preference about the two suggested patches. Both fix the problem I had observed. Thanks, Guenter > --- > Arnd if this looks OK then please apply it on linux-arch > for fixes. > --- > arch/alpha/kernel/io.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/arch/alpha/kernel/io.c b/arch/alpha/kernel/io.c > index 838586abb1e0..5f3e75a945c1 100644 > --- a/arch/alpha/kernel/io.c > +++ b/arch/alpha/kernel/io.c > @@ -41,6 +41,11 @@ unsigned int ioread32(const void __iomem *addr) > return ret; > } > > +u64 ioread64(const void __iomem *addr) > +{ > + return readq(addr); > +} > + > void iowrite8(u8 b, void __iomem *addr) > { > mb(); > @@ -59,12 +64,19 @@ void iowrite32(u32 b, void __iomem *addr) > IO_CONCAT(__IO_PREFIX,iowrite32)(b, addr); > } > > +void iowrite64(u64 b, void __iomem *addr) > +{ > + writeq(b, addr); > +} > + > EXPORT_SYMBOL(ioread8); > EXPORT_SYMBOL(ioread16); > EXPORT_SYMBOL(ioread32); > +EXPORT_SYMBOL(ioread64); > EXPORT_SYMBOL(iowrite8); > EXPORT_SYMBOL(iowrite16); > EXPORT_SYMBOL(iowrite32); > +EXPORT_SYMBOL(iowrite64); > > u8 inb(unsigned long port) > { > -- > 2.34.1 >