[arnd-asm-generic:master 4/4] include/asm-generic/io.h:878:18: error: conflicting types for 'ioread64'; have 'u64(const void *)' {aka 'long long unsigned int(const void *)'}

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux