tree: https://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git master head: 51d1826adbe1b018cf4ba8120dc04848d88438e6 commit: 51d1826adbe1b018cf4ba8120dc04848d88438e6 [4/4] alpha: fix ioread64/iowrite64 macros config: alpha-allyesconfig (https://download.01.org/0day-ci/archive/20250309/202503090739.34zIgOk9-lkp@xxxxxxxxx/config) compiler: alpha-linux-gcc (GCC) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250309/202503090739.34zIgOk9-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202503090739.34zIgOk9-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): In file included from arch/alpha/include/asm/io.h:644, from arch/alpha/kernel/io.c:10: >> include/asm-generic/io.h:878:18: error: conflicting types for 'ioread64'; have 'u64(const void *)' {aka 'long long unsigned int(const void *)'} 878 | #define ioread64 ioread64 | ^~~~~~~~ arch/alpha/kernel/io.c:44:5: note: in expansion of macro 'ioread64' 44 | u64 ioread64(const void __iomem *addr) | ^~~~~~~~ include/asm-generic/io.h:878:18: note: previous definition of 'ioread64' with type 'u64(const volatile void *)' {aka 'long long unsigned int(const volatile void *)'} 878 | #define ioread64 ioread64 | ^~~~~~~~ include/asm-generic/io.h:879:19: note: in expansion of macro 'ioread64' 879 | static inline u64 ioread64(const volatile void __iomem *addr) | ^~~~~~~~ >> include/asm-generic/io.h:912:19: error: conflicting types for 'iowrite64'; have 'void(u64, void *)' {aka 'void(long long unsigned int, void *)'} 912 | #define iowrite64 iowrite64 | ^~~~~~~~~ arch/alpha/kernel/io.c:71:6: note: in expansion of macro 'iowrite64' 71 | void iowrite64(u64 b, void __iomem *addr) | ^~~~~~~~~ include/asm-generic/io.h:912:19: note: previous definition of 'iowrite64' with type 'void(u64, volatile void *)' {aka 'void(long long unsigned int, volatile void *)'} 912 | #define iowrite64 iowrite64 | ^~~~~~~~~ include/asm-generic/io.h:913:20: note: in expansion of macro 'iowrite64' 913 | static inline void iowrite64(u64 value, volatile void __iomem *addr) | ^~~~~~~~~ vim +878 include/asm-generic/io.h 9216efafc52ff99 Thierry Reding 2014-10-01 875 9e44fb1816dba8f Horia Geantă 2016-05-19 876 #ifdef CONFIG_64BIT 9e44fb1816dba8f Horia Geantă 2016-05-19 877 #ifndef ioread64 9e44fb1816dba8f Horia Geantă 2016-05-19 @878 #define ioread64 ioread64 9e44fb1816dba8f Horia Geantă 2016-05-19 879 static inline u64 ioread64(const volatile void __iomem *addr) 9e44fb1816dba8f Horia Geantă 2016-05-19 880 { 9e44fb1816dba8f Horia Geantă 2016-05-19 881 return readq(addr); 9e44fb1816dba8f Horia Geantă 2016-05-19 882 } 9e44fb1816dba8f Horia Geantă 2016-05-19 883 #endif 9e44fb1816dba8f Horia Geantă 2016-05-19 884 #endif /* CONFIG_64BIT */ 9e44fb1816dba8f Horia Geantă 2016-05-19 885 9216efafc52ff99 Thierry Reding 2014-10-01 886 #ifndef iowrite8 9216efafc52ff99 Thierry Reding 2014-10-01 887 #define iowrite8 iowrite8 9216efafc52ff99 Thierry Reding 2014-10-01 888 static inline void iowrite8(u8 value, volatile void __iomem *addr) 9216efafc52ff99 Thierry Reding 2014-10-01 889 { 9216efafc52ff99 Thierry Reding 2014-10-01 890 writeb(value, addr); 9216efafc52ff99 Thierry Reding 2014-10-01 891 } 9216efafc52ff99 Thierry Reding 2014-10-01 892 #endif 9216efafc52ff99 Thierry Reding 2014-10-01 893 9216efafc52ff99 Thierry Reding 2014-10-01 894 #ifndef iowrite16 9216efafc52ff99 Thierry Reding 2014-10-01 895 #define iowrite16 iowrite16 9216efafc52ff99 Thierry Reding 2014-10-01 896 static inline void iowrite16(u16 value, volatile void __iomem *addr) 9216efafc52ff99 Thierry Reding 2014-10-01 897 { 9216efafc52ff99 Thierry Reding 2014-10-01 898 writew(value, addr); 9216efafc52ff99 Thierry Reding 2014-10-01 899 } 9216efafc52ff99 Thierry Reding 2014-10-01 900 #endif 9216efafc52ff99 Thierry Reding 2014-10-01 901 9216efafc52ff99 Thierry Reding 2014-10-01 902 #ifndef iowrite32 9216efafc52ff99 Thierry Reding 2014-10-01 903 #define iowrite32 iowrite32 9216efafc52ff99 Thierry Reding 2014-10-01 904 static inline void iowrite32(u32 value, volatile void __iomem *addr) 9216efafc52ff99 Thierry Reding 2014-10-01 905 { 9216efafc52ff99 Thierry Reding 2014-10-01 906 writel(value, addr); 9216efafc52ff99 Thierry Reding 2014-10-01 907 } 9216efafc52ff99 Thierry Reding 2014-10-01 908 #endif 9216efafc52ff99 Thierry Reding 2014-10-01 909 9e44fb1816dba8f Horia Geantă 2016-05-19 910 #ifdef CONFIG_64BIT 9e44fb1816dba8f Horia Geantă 2016-05-19 911 #ifndef iowrite64 9e44fb1816dba8f Horia Geantă 2016-05-19 @912 #define iowrite64 iowrite64 9e44fb1816dba8f Horia Geantă 2016-05-19 913 static inline void iowrite64(u64 value, volatile void __iomem *addr) 9e44fb1816dba8f Horia Geantă 2016-05-19 914 { 9e44fb1816dba8f Horia Geantă 2016-05-19 915 writeq(value, addr); 9e44fb1816dba8f Horia Geantă 2016-05-19 916 } 9e44fb1816dba8f Horia Geantă 2016-05-19 917 #endif 9e44fb1816dba8f Horia Geantă 2016-05-19 918 #endif /* CONFIG_64BIT */ 9e44fb1816dba8f Horia Geantă 2016-05-19 919 :::::: The code at line 878 was first introduced by commit :::::: 9e44fb1816dba8f283809a25c29ff7969a3acb99 asm-generic/io.h: add io{read,write}64 accessors :::::: TO: Horia Geantă <horia.geanta@xxxxxxx> :::::: CC: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki