Hi Raag, kernel test robot noticed the following build errors: [auto build test ERROR on a1e062ab4a1f19bb0e94093ef90ab9a74f1f7744] url: https://github.com/intel-lab-lkp/linux/commits/Raag-Jadav/driver-core-Split-devres-APIs-to-device-devres-h/20250210-145732 base: a1e062ab4a1f19bb0e94093ef90ab9a74f1f7744 patch link: https://lore.kernel.org/r/20250210064906.2181867-2-raag.jadav%40intel.com patch subject: [PATCH v4 01/20] driver core: Split devres APIs to device/devres.h config: powerpc-randconfig-003-20250210 (https://download.01.org/0day-ci/archive/20250210/202502102137.SA3rtuTB-lkp@xxxxxxxxx/config) compiler: powerpc-linux-gcc (GCC) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250210/202502102137.SA3rtuTB-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/202502102137.SA3rtuTB-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): In file included from include/linux/device/devres.h:7, from include/linux/device.h:31, from arch/powerpc/include/asm/io.h:22, from drivers/video/fbdev/sis/init.h:64, from drivers/video/fbdev/sis/init.c:59: include/linux/io.h: In function 'pci_remap_cfgspace': >> include/linux/io.h:106:16: error: implicit declaration of function 'ioremap_np' [-Wimplicit-function-declaration] 106 | return ioremap_np(offset, size) ?: ioremap(offset, size); | ^~~~~~~~~~ >> include/linux/io.h:106:44: error: implicit declaration of function 'ioremap' [-Wimplicit-function-declaration] 106 | return ioremap_np(offset, size) ?: ioremap(offset, size); | ^~~~~~~ >> include/linux/io.h:106:42: error: returning 'int' from a function with return type 'void *' makes pointer from integer without a cast [-Wint-conversion] 106 | return ioremap_np(offset, size) ?: ioremap(offset, size); | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ arch/powerpc/include/asm/io.h: At top level: >> arch/powerpc/include/asm/io.h:885:22: error: conflicting types for 'ioremap'; have 'void *(phys_addr_t, long unsigned int)' {aka 'void *(unsigned int, long unsigned int)'} 885 | extern void __iomem *ioremap(phys_addr_t address, unsigned long size); | ^~~~~~~ include/linux/io.h:106:44: note: previous implicit declaration of 'ioremap' with type 'int()' 106 | return ioremap_np(offset, size) ?: ioremap(offset, size); | ^~~~~~~ In file included from arch/powerpc/include/asm/io.h:1031: >> include/asm-generic/io.h:1161:20: error: conflicting types for 'ioremap_np'; have 'void *(phys_addr_t, size_t)' {aka 'void *(unsigned int, unsigned int)'} 1161 | #define ioremap_np ioremap_np | ^~~~~~~~~~ include/asm-generic/io.h:1162:29: note: in expansion of macro 'ioremap_np' 1162 | static inline void __iomem *ioremap_np(phys_addr_t offset, size_t size) | ^~~~~~~~~~ include/linux/io.h:106:16: note: previous implicit declaration of 'ioremap_np' with type 'int()' 106 | return ioremap_np(offset, size) ?: ioremap(offset, size); | ^~~~~~~~~~ -- In file included from include/linux/device/devres.h:7, from include/linux/device.h:31, from arch/powerpc/include/asm/io.h:22, from drivers/video/fbdev/sis/init301.h:64, from drivers/video/fbdev/sis/init301.c:72: include/linux/io.h: In function 'pci_remap_cfgspace': >> include/linux/io.h:106:16: error: implicit declaration of function 'ioremap_np' [-Wimplicit-function-declaration] 106 | return ioremap_np(offset, size) ?: ioremap(offset, size); | ^~~~~~~~~~ >> include/linux/io.h:106:44: error: implicit declaration of function 'ioremap' [-Wimplicit-function-declaration] 106 | return ioremap_np(offset, size) ?: ioremap(offset, size); | ^~~~~~~ >> include/linux/io.h:106:42: error: returning 'int' from a function with return type 'void *' makes pointer from integer without a cast [-Wint-conversion] 106 | return ioremap_np(offset, size) ?: ioremap(offset, size); | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ arch/powerpc/include/asm/io.h: At top level: >> arch/powerpc/include/asm/io.h:885:22: error: conflicting types for 'ioremap'; have 'void *(phys_addr_t, long unsigned int)' {aka 'void *(unsigned int, long unsigned int)'} 885 | extern void __iomem *ioremap(phys_addr_t address, unsigned long size); | ^~~~~~~ include/linux/io.h:106:44: note: previous implicit declaration of 'ioremap' with type 'int()' 106 | return ioremap_np(offset, size) ?: ioremap(offset, size); | ^~~~~~~ In file included from arch/powerpc/include/asm/io.h:1031: >> include/asm-generic/io.h:1161:20: error: conflicting types for 'ioremap_np'; have 'void *(phys_addr_t, size_t)' {aka 'void *(unsigned int, unsigned int)'} 1161 | #define ioremap_np ioremap_np | ^~~~~~~~~~ include/asm-generic/io.h:1162:29: note: in expansion of macro 'ioremap_np' 1162 | static inline void __iomem *ioremap_np(phys_addr_t offset, size_t size) | ^~~~~~~~~~ include/linux/io.h:106:16: note: previous implicit declaration of 'ioremap_np' with type 'int()' 106 | return ioremap_np(offset, size) ?: ioremap(offset, size); | ^~~~~~~~~~ drivers/video/fbdev/sis/init301.c: In function 'SiS_SetCRT2ModeRegs': drivers/video/fbdev/sis/init301.c:2687:24: warning: variable 'modeflag' set but not used [-Wunused-but-set-variable] 2687 | unsigned short i, j, modeflag, tempah=0; | ^~~~~~~~ drivers/video/fbdev/sis/init301.c: In function 'SiS_SetGroup1': drivers/video/fbdev/sis/init301.c:6233:52: warning: variable 'resinfo' set but not used [-Wunused-but-set-variable] 6233 | unsigned short pushbx=0, CRT1Index=0, modeflag, resinfo=0; | ^~~~~~~ vim +/ioremap_np +106 include/linux/io.h 7d3dcf26a6559f Christoph Hellwig 2015-08-10 84 4d312ac057da57 Arnd Bergmann 2023-05-16 85 /* architectures can override this */ 4d312ac057da57 Arnd Bergmann 2023-05-16 86 pgprot_t __init early_memremap_pgprot_adjust(resource_size_t phys_addr, 4d312ac057da57 Arnd Bergmann 2023-05-16 87 unsigned long size, pgprot_t prot); 4d312ac057da57 Arnd Bergmann 2023-05-16 88 4d312ac057da57 Arnd Bergmann 2023-05-16 89 cf9ea8ca4a0bea Lorenzo Pieralisi 2017-04-19 90 #ifdef CONFIG_PCI cf9ea8ca4a0bea Lorenzo Pieralisi 2017-04-19 91 /* cf9ea8ca4a0bea Lorenzo Pieralisi 2017-04-19 92 * The PCI specifications (Rev 3.0, 3.2.5 "Transaction Ordering and b10eb2d50911f9 Hector Martin 2021-03-25 93 * Posting") mandate non-posted configuration transactions. This default b10eb2d50911f9 Hector Martin 2021-03-25 94 * implementation attempts to use the ioremap_np() API to provide this b10eb2d50911f9 Hector Martin 2021-03-25 95 * on arches that support it, and falls back to ioremap() on those that b10eb2d50911f9 Hector Martin 2021-03-25 96 * don't. Overriding this function is deprecated; arches that properly b10eb2d50911f9 Hector Martin 2021-03-25 97 * support non-posted accesses should implement ioremap_np() instead, which b10eb2d50911f9 Hector Martin 2021-03-25 98 * this default implementation can then use to return mappings compliant with b10eb2d50911f9 Hector Martin 2021-03-25 99 * the PCI specification. cf9ea8ca4a0bea Lorenzo Pieralisi 2017-04-19 100 */ cf9ea8ca4a0bea Lorenzo Pieralisi 2017-04-19 101 #ifndef pci_remap_cfgspace cf9ea8ca4a0bea Lorenzo Pieralisi 2017-04-19 102 #define pci_remap_cfgspace pci_remap_cfgspace cf9ea8ca4a0bea Lorenzo Pieralisi 2017-04-19 103 static inline void __iomem *pci_remap_cfgspace(phys_addr_t offset, cf9ea8ca4a0bea Lorenzo Pieralisi 2017-04-19 104 size_t size) cf9ea8ca4a0bea Lorenzo Pieralisi 2017-04-19 105 { b10eb2d50911f9 Hector Martin 2021-03-25 @106 return ioremap_np(offset, size) ?: ioremap(offset, size); cf9ea8ca4a0bea Lorenzo Pieralisi 2017-04-19 107 } cf9ea8ca4a0bea Lorenzo Pieralisi 2017-04-19 108 #endif cf9ea8ca4a0bea Lorenzo Pieralisi 2017-04-19 109 #endif cf9ea8ca4a0bea Lorenzo Pieralisi 2017-04-19 110 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki