Hi Sami, Thank you for the patch! Yet something to improve: [auto build test ERROR on 26e122e97a3d0390ebec389347f64f3730fdf48f] url: https://github.com/0day-ci/linux/commits/Sami-Tolvanen/add-support-for-Clang-LTO/20200625-043816 base: 26e122e97a3d0390ebec389347f64f3730fdf48f config: m68k-allyesconfig (attached as .config) compiler: m68k-linux-gcc (GCC) 9.3.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 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): In file included from arch/m68k/include/asm/io_mm.h:25, from arch/m68k/include/asm/io.h:8, from include/linux/io.h:13, from include/linux/irq.h:20, from include/asm-generic/hardirq.h:13, from ./arch/m68k/include/generated/asm/hardirq.h:1, from include/linux/hardirq.h:10, from include/linux/interrupt.h:11, from drivers/ide/gayle.c:13: arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsb': arch/m68k/include/asm/raw_io.h:83:7: warning: variable '__w' set but not used [-Wunused-but-set-variable] 83 | ({u8 __w, __v = (b); u32 _addr = ((u32) (addr)); \ | ^~~ arch/m68k/include/asm/raw_io.h:430:3: note: in expansion of macro 'rom_out_8' 430 | rom_out_8(port, *buf++); | ^~~~~~~~~ arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw': arch/m68k/include/asm/raw_io.h:86:8: warning: variable '__w' set but not used [-Wunused-but-set-variable] 86 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \ | ^~~ arch/m68k/include/asm/raw_io.h:448:3: note: in expansion of macro 'rom_out_be16' 448 | rom_out_be16(port, *buf++); | ^~~~~~~~~~~~ arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw_swapw': arch/m68k/include/asm/raw_io.h:90:8: warning: variable '__w' set but not used [-Wunused-but-set-variable] 90 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \ | ^~~ arch/m68k/include/asm/raw_io.h:466:3: note: in expansion of macro 'rom_out_le16' 466 | rom_out_le16(port, *buf++); | ^~~~~~~~~~~~ In file included from include/asm-generic/bug.h:5, from arch/m68k/include/asm/bug.h:32, from include/linux/bug.h:5, from include/linux/mmdebug.h:5, from include/linux/mm.h:9, from drivers/ide/gayle.c:12: include/linux/scatterlist.h: In function 'sg_set_buf': arch/m68k/include/asm/page_mm.h:169:49: warning: ordered comparison of pointer with null pointer [-Wextra] 169 | #define virt_addr_valid(kaddr) ((void *)(kaddr) >= (void *)PAGE_OFFSET && (void *)(kaddr) < high_memory) | ^~ include/linux/compiler.h:78:42: note: in definition of macro 'unlikely' 78 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ include/linux/scatterlist.h:143:2: note: in expansion of macro 'BUG_ON' 143 | BUG_ON(!virt_addr_valid(buf)); | ^~~~~~ include/linux/scatterlist.h:143:10: note: in expansion of macro 'virt_addr_valid' 143 | BUG_ON(!virt_addr_valid(buf)); | ^~~~~~~~~~~~~~~ In file included from arch/m68k/include/asm/bug.h:32, from include/linux/bug.h:5, from include/linux/mmdebug.h:5, from include/linux/mm.h:9, from drivers/ide/gayle.c:12: include/linux/dma-mapping.h: In function 'dma_map_resource': arch/m68k/include/asm/page_mm.h:169:49: warning: ordered comparison of pointer with null pointer [-Wextra] 169 | #define virt_addr_valid(kaddr) ((void *)(kaddr) >= (void *)PAGE_OFFSET && (void *)(kaddr) < high_memory) | ^~ include/asm-generic/bug.h:144:27: note: in definition of macro 'WARN_ON_ONCE' 144 | int __ret_warn_once = !!(condition); \ | ^~~~~~~~~ arch/m68k/include/asm/page_mm.h:170:25: note: in expansion of macro 'virt_addr_valid' 170 | #define pfn_valid(pfn) virt_addr_valid(pfn_to_virt(pfn)) | ^~~~~~~~~~~~~~~ include/linux/dma-mapping.h:352:19: note: in expansion of macro 'pfn_valid' 352 | if (WARN_ON_ONCE(pfn_valid(PHYS_PFN(phys_addr)))) | ^~~~~~~~~ In file included from : drivers/ide/gayle.c: At top level: >> arch/m68k/include/asm/amigayle.h:57:66: error: pasting ")" and "__282_185_amiga_gayle_ide_driver_init" does not give a valid preprocessing token 57 | #define gayle (*(volatile struct GAYLE *)(zTwoBase+GAYLE_ADDRESS)) | ^ include/linux/compiler_types.h:53:23: note: in definition of macro '___PASTE' 53 | #define ___PASTE(a,b) a##b | ^ include/linux/init.h:189:2: note: in expansion of macro '__PASTE' 189 | __PASTE(__KBUILD_MODNAME, \ | ^~~~~~~ : note: in expansion of macro 'gayle' include/linux/init.h:189:10: note: in expansion of macro '__KBUILD_MODNAME' 189 | __PASTE(__KBUILD_MODNAME, \ | ^~~~~~~~~~~~~~~~ include/linux/init.h:236:35: note: in expansion of macro '__initcall_id' 236 | __unique_initcall(fn, id, __sec, __initcall_id(fn)) | ^~~~~~~~~~~~~ include/linux/init.h:238:35: note: in expansion of macro '___define_initcall' 238 | #define __define_initcall(fn, id) ___define_initcall(fn, id, .initcall##id) | ^~~~~~~~~~~~~~~~~~ include/linux/init.h:267:30: note: in expansion of macro '__define_initcall' 267 | #define device_initcall(fn) __define_initcall(fn, 6) | ^~~~~~~~~~~~~~~~~ include/linux/init.h:272:24: note: in expansion of macro 'device_initcall' 272 | #define __initcall(fn) device_initcall(fn) | ^~~~~~~~~~~~~~~ include/linux/module.h:88:24: note: in expansion of macro '__initcall' 88 | #define module_init(x) __initcall(x); | ^~~~~~~~~~ include/linux/platform_device.h:271:1: note: in expansion of macro 'module_init' 271 | module_init(__platform_driver##_init); \ | ^~~~~~~~~~~ drivers/ide/gayle.c:185:1: note: in expansion of macro 'module_platform_driver_probe' 185 | module_platform_driver_probe(amiga_gayle_ide_driver, amiga_gayle_ide_probe); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/init.h:200:10: error: pasting "__" and "(" does not give a valid preprocessing token 200 | __PASTE(__, \ | ^~ include/linux/compiler_types.h:53:23: note: in definition of macro '___PASTE' 53 | #define ___PASTE(a,b) a##b | ^ include/linux/init.h:200:2: note: in expansion of macro '__PASTE' 200 | __PASTE(__, \ | ^~~~~~~ include/linux/init.h:232:3: note: in expansion of macro '__initcall_name' 232 | __initcall_name(initcall, __iid, id), \ | ^~~~~~~~~~~~~~~ include/linux/init.h:236:2: note: in expansion of macro '__unique_initcall' 236 | __unique_initcall(fn, id, __sec, __initcall_id(fn)) | ^~~~~~~~~~~~~~~~~ include/linux/init.h:238:35: note: in expansion of macro '___define_initcall' 238 | #define __define_initcall(fn, id) ___define_initcall(fn, id, .initcall##id) | ^~~~~~~~~~~~~~~~~~ include/linux/init.h:267:30: note: in expansion of macro '__define_initcall' 267 | #define device_initcall(fn) __define_initcall(fn, 6) | ^~~~~~~~~~~~~~~~~ include/linux/init.h:272:24: note: in expansion of macro 'device_initcall' 272 | #define __initcall(fn) device_initcall(fn) | ^~~~~~~~~~~~~~~ include/linux/module.h:88:24: note: in expansion of macro '__initcall' 88 | #define module_init(x) __initcall(x); | ^~~~~~~~~~ include/linux/platform_device.h:271:1: note: in expansion of macro 'module_init' 271 | module_init(__platform_driver##_init); \ | ^~~~~~~~~~~ drivers/ide/gayle.c:185:1: note: in expansion of macro 'module_platform_driver_probe' 185 | module_platform_driver_probe(amiga_gayle_ide_driver, amiga_gayle_ide_probe); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/printk.h:6, from include/linux/kernel.h:15, from include/asm-generic/bug.h:19, from arch/m68k/include/asm/bug.h:32, from include/linux/bug.h:5, from include/linux/mmdebug.h:5, from include/linux/mm.h:9, from drivers/ide/gayle.c:12: arch/m68k/include/asm/amigayle.h:57:16: error: expected declaration specifiers or '...' before '*' token 57 | #define gayle (*(volatile struct GAYLE *)(zTwoBase+GAYLE_ADDRESS)) | ^ include/linux/init.h:226:20: note: in definition of macro '____define_initcall' 226 | static initcall_t __name __used \ | ^~~~~~ include/linux/compiler_types.h:54:22: note: in expansion of macro '___PASTE' 54 | #define __PASTE(a,b) ___PASTE(a,b) | ^~~~~~~~ include/linux/init.h:198:2: note: in expansion of macro '__PASTE' 198 | __PASTE(__, \ | ^~~~~~~ include/linux/compiler_types.h:54:22: note: in expansion of macro '___PASTE' 54 | #define __PASTE(a,b) ___PASTE(a,b) | ^~~~~~~~ include/linux/init.h:199:2: note: in expansion of macro '__PASTE' 199 | __PASTE(prefix, \ | ^~~~~~~ include/linux/compiler_types.h:54:22: note: in expansion of macro '___PASTE' 54 | #define __PASTE(a,b) ___PASTE(a,b) | ^~~~~~~~ include/linux/init.h:200:2: note: in expansion of macro '__PASTE' 200 | __PASTE(__, \ | ^~~~~~~ include/linux/compiler_types.h:54:22: note: in expansion of macro '___PASTE' 54 | #define __PASTE(a,b) ___PASTE(a,b) vim +57 arch/m68k/include/asm/amigayle.h ^1da177e4c3f41 include/asm-m68k/amigayle.h Linus Torvalds 2005-04-16 53 ^1da177e4c3f41 include/asm-m68k/amigayle.h Linus Torvalds 2005-04-16 54 #define GAYLE_RESET (0xa40000) /* write 0x00 to start reset, ^1da177e4c3f41 include/asm-m68k/amigayle.h Linus Torvalds 2005-04-16 55 read 1 byte to stop reset */ ^1da177e4c3f41 include/asm-m68k/amigayle.h Linus Torvalds 2005-04-16 56 ^1da177e4c3f41 include/asm-m68k/amigayle.h Linus Torvalds 2005-04-16 @57 #define gayle (*(volatile struct GAYLE *)(zTwoBase+GAYLE_ADDRESS)) ^1da177e4c3f41 include/asm-m68k/amigayle.h Linus Torvalds 2005-04-16 58 #define gayle_reset (*(volatile u_char *)(zTwoBase+GAYLE_RESET)) ^1da177e4c3f41 include/asm-m68k/amigayle.h Linus Torvalds 2005-04-16 59 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org