Hi Manikanta,

kernel test robot noticed the following build errors:

[auto build test ERROR on robh/for-next]
[also build test ERROR on linus/master arnd-asm-generic/master v6.17-rc7 
next-20250924]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    
https://github.com/intel-lab-lkp/linux/commits/Manikanta-Guntupalli/dt-bindings-i3c-Add-AMD-I3C-master-controller-support/20250923-234944
base:   https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
patch link:    
https://lore.kernel.org/r/20250923154551.2112388-3-manikanta.guntupalli%40amd.com
patch subject: [PATCH V7 2/4] asm-generic/io.h: Add big-endian MMIO accessors
config: powerpc-allnoconfig 
(https://download.01.org/0day-ci/archive/20250925/[email protected]/config)
compiler: powerpc-linux-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20250925/[email protected]/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 <[email protected]>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

   In file included from arch/powerpc/include/asm/io.h:962,
                    from include/linux/io.h:12,
                    from include/linux/irq.h:20,
                    from arch/powerpc/include/asm/hardirq.h:6,
                    from include/linux/hardirq.h:11,
                    from include/linux/interrupt.h:11,
                    from include/linux/kernel_stat.h:8,
                    from include/linux/cgroup.h:27,
                    from include/linux/memcontrol.h:13,
                    from include/linux/swap.h:9,
                    from include/linux/suspend.h:5,
                    from arch/powerpc/kernel/asm-offsets.c:21:
>> include/asm-generic/io.h:304:18: error: redefinition of 'readw_be'
     304 | #define readw_be readw_be
         |                  ^~~~~~~~
   include/asm-generic/io.h:305:19: note: in expansion of macro 'readw_be'
     305 | static inline u16 readw_be(const volatile void __iomem *addr)
         |                   ^~~~~~~~
   arch/powerpc/include/asm/io.h:517:19: note: previous definition of 
'readw_be' with type 'u16(const volatile void *)' {aka 'short unsigned 
int(const volatile void *)'}
     517 | static inline u16 readw_be(const volatile void __iomem *addr)
         |                   ^~~~~~~~
>> include/asm-generic/io.h:319:18: error: redefinition of 'readl_be'
     319 | #define readl_be readl_be
         |                  ^~~~~~~~
   include/asm-generic/io.h:320:19: note: in expansion of macro 'readl_be'
     320 | static inline u32 readl_be(const volatile void __iomem *addr)
         |                   ^~~~~~~~
   arch/powerpc/include/asm/io.h:522:19: note: previous definition of 
'readl_be' with type 'u32(const volatile void *)' {aka 'unsigned int(const 
volatile void *)'}
     522 | static inline u32 readl_be(const volatile void __iomem *addr)
         |                   ^~~~~~~~
>> include/asm-generic/io.h:351:19: error: redefinition of 'writew_be'
     351 | #define writew_be writew_be
         |                   ^~~~~~~~~
   include/asm-generic/io.h:352:20: note: in expansion of macro 'writew_be'
     352 | static inline void writew_be(u16 value, volatile void __iomem *addr)
         |                    ^~~~~~~~~
   arch/powerpc/include/asm/io.h:545:20: note: previous definition of 
'writew_be' with type 'void(u16,  volatile void *)' {aka 'void(short unsigned 
int,  volatile void *)'}
     545 | static inline void writew_be(u16 val, volatile void __iomem *addr)
         |                    ^~~~~~~~~
>> include/asm-generic/io.h:363:19: error: redefinition of 'writel_be'
     363 | #define writel_be writel_be
         |                   ^~~~~~~~~
   include/asm-generic/io.h:364:20: note: in expansion of macro 'writel_be'
     364 | static inline void writel_be(u32 value, volatile void __iomem *addr)
         |                    ^~~~~~~~~
   arch/powerpc/include/asm/io.h:550:20: note: previous definition of 
'writel_be' with type 'void(u32,  volatile void *)' {aka 'void(unsigned int,  
volatile void *)'}
     550 | static inline void writel_be(u32 val, volatile void __iomem *addr)
         |                    ^~~~~~~~~
   make[3]: *** [scripts/Makefile.build:182: arch/powerpc/kernel/asm-offsets.s] 
Error 1
   make[3]: Target 'prepare' not remade because of errors.
   make[2]: *** [Makefile:1282: prepare0] Error 2
   make[2]: Target 'prepare' not remade because of errors.
   make[1]: *** [Makefile:248: __sub-make] Error 2
   make[1]: Target 'prepare' not remade because of errors.
   make: *** [Makefile:248: __sub-make] Error 2
   make: Target 'prepare' not remade because of errors.


vim +/readw_be +304 include/asm-generic/io.h

   297  
   298  /*
   299   * {read,write}{w,l,q}_be() access big endian memory and return result
   300   * in native endianness.
   301   */
   302  
   303  #ifndef readw_be
 > 304  #define readw_be readw_be
   305  static inline u16 readw_be(const volatile void __iomem *addr)
   306  {
   307          u16 val;
   308  
   309          log_read_mmio(16, addr, _THIS_IP_, _RET_IP_);
   310          __io_br();
   311          val = __be16_to_cpu((__be16 __force)__raw_readw(addr));
   312          __io_ar(val);
   313          log_post_read_mmio(val, 16, addr, _THIS_IP_, _RET_IP_);
   314          return val;
   315  }
   316  #endif
   317  
   318  #ifndef readl_be
 > 319  #define readl_be readl_be
   320  static inline u32 readl_be(const volatile void __iomem *addr)
   321  {
   322          u32 val;
   323  
   324          log_read_mmio(32, addr, _THIS_IP_, _RET_IP_);
   325          __io_br();
   326          val = __be32_to_cpu((__be32 __force)__raw_readl(addr));
   327          __io_ar(val);
   328          log_post_read_mmio(val, 32, addr, _THIS_IP_, _RET_IP_);
   329          return val;
   330  }
   331  #endif
   332  
   333  #ifdef CONFIG_64BIT
   334  #ifndef readq_be
   335  #define readq_be readq_be
   336  static inline u64 readq_be(const volatile void __iomem *addr)
   337  {
   338          u64 val;
   339  
   340          log_read_mmio(64, addr, _THIS_IP_, _RET_IP_);
   341          __io_br();
   342          val = __be64_to_cpu((__be64 __force)__raw_readq(addr));
   343          __io_ar(val);
   344          log_post_read_mmio(val, 64, addr, _THIS_IP_, _RET_IP_);
   345          return val;
   346  }
   347  #endif
   348  #endif /* CONFIG_64BIT */
   349  
   350  #ifndef writew_be
 > 351  #define writew_be writew_be
   352  static inline void writew_be(u16 value, volatile void __iomem *addr)
   353  {
   354          log_write_mmio(value, 16, addr, _THIS_IP_, _RET_IP_);
   355          __io_bw();
   356          __raw_writew((u16 __force)__cpu_to_be16(value), addr);
   357          __io_aw();
   358          log_post_write_mmio(value, 16, addr, _THIS_IP_, _RET_IP_);
   359  }
   360  #endif
   361  
   362  #ifndef writel_be
 > 363  #define writel_be writel_be
   364  static inline void writel_be(u32 value, volatile void __iomem *addr)
   365  {
   366          log_write_mmio(value, 32, addr, _THIS_IP_, _RET_IP_);
   367          __io_bw();
   368          __raw_writel((u32 __force)__cpu_to_be32(value), addr);
   369          __io_aw();
   370          log_post_write_mmio(value, 32, addr, _THIS_IP_, _RET_IP_);
   371  }
   372  #endif
   373  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

Reply via email to