* Re: [linux-next:master 5820/6679] ERROR: modpost: "ioread64" [drivers/pci/switch/switchtec.ko] undefined!
2022-09-12 18:24 [linux-next:master 5820/6679] ERROR: modpost: "ioread64" [drivers/pci/switch/switchtec.ko] undefined! kernel test robot
@ 2022-09-12 19:29 ` Arnd Bergmann
0 siblings, 0 replies; 2+ messages in thread
From: Arnd Bergmann @ 2022-09-12 19:29 UTC (permalink / raw)
To: kernel test robot, Linus Walleij; +Cc: kbuild-all, Linux Memory Management List
On Mon, Sep 12, 2022, at 8:24 PM, kernel test robot wrote:
> tree:
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
> master
> head: 044b771be9c5de9d817dfafb829d2f049c71c3b4
> commit: 77bfc8bdb5a1cdbcea21daccdf1686e1bfea3db6 [5820/6679] parisc:
> Remove 64bit access on 32bit machines
> config: parisc-buildonly-randconfig-r005-20220911
> (https://download.01.org/0day-ci/archive/20220913/202209130203.tvgNPt7a-lkp@intel.com/config)
> compiler: hppa-linux-gcc (GCC) 12.1.0
> reproduce (this is a W=1 build):
> wget
> https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross
> -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> #
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=77bfc8bdb5a1cdbcea21daccdf1686e1bfea3db6
> git remote add linux-next
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
> git fetch --no-tags linux-next master
> git checkout 77bfc8bdb5a1cdbcea21daccdf1686e1bfea3db6
> # save the config file
> mkdir build_dir && cp config build_dir/.config
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross
> W=1 O=build_dir ARCH=parisc SHELL=/bin/bash
>
> If you fix the issue, kindly add following tag where applicable
> Reported-by: kernel test robot <lkp@intel.com>
>
> All errors (new ones prefixed by >>, old ones prefixed by <<):
>
>>> ERROR: modpost: "ioread64" [drivers/pci/switch/switchtec.ko] undefined!
Applied this patch on top, thanks for the report!
Arnd
commit fdc5bebfb66bf0d261818c2df2b01c2a005791fe
Author: Arnd Bergmann <arnd@arndb.de>
Date: Mon Sep 12 21:27:19 2022 +0200
parisc: hide ioread64 declaration on 32-bit
The definition of ioread64 etc is hidden on 32-bit, but the declaration
remained by accident, which led to the generic definition getting left
out:
ERROR: modpost: "ioread64" [drivers/pci/switch/switchtec.ko] undefined!
Hide the declaration and #define under the same #ifdef.
Reported-by: kernel test robot <lkp@intel.com>
Fixes: 77bfc8bdb5a1 ("parisc: Remove 64bit access on 32bit machines")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
diff --git a/arch/parisc/include/asm/io.h b/arch/parisc/include/asm/io.h
index 37580ad8d5bd..c05e781be2f5 100644
--- a/arch/parisc/include/asm/io.h
+++ b/arch/parisc/include/asm/io.h
@@ -227,6 +227,7 @@ extern void outsl (unsigned long port, const void *src, unsigned long count);
* value for either 32 or 64 bit mode */
#define F_EXTEND(x) ((unsigned long)((x) | (0xffffffff00000000ULL)))
+#ifdef CONFIG_64BIT
#define ioread64 ioread64
#define ioread64be ioread64be
#define iowrite64 iowrite64
@@ -235,6 +236,7 @@ extern u64 ioread64(const void __iomem *addr);
extern u64 ioread64be(const void __iomem *addr);
extern void iowrite64(u64 val, void __iomem *addr);
extern void iowrite64be(u64 val, void __iomem *addr);
+#endif
#include <asm-generic/iomap.h>
/*
^ permalink raw reply related [flat|nested] 2+ messages in thread