Hi Ingo, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v5.16-rc8 next-20211224] [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] url: https://github.com/0day-ci/linux/commits/Ingo-Molnar/headers-deps-dcache-Move-the-____cacheline_aligned-attribute-to-the-head-of-the-definition/20220104-190351 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git c9e6606c7fe92b50a02ce51dda82586ebdf99b48 config: arm64-buildonly-randconfig-r004-20220104 (https://download.01.org/0day-ci/archive/20220104/202201042231.vdt1cNrS-lkp@xxxxxxxxx/config) compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project b50fea47b6c454581fce89af359f3afe5154986c) 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 # install arm64 cross compiling tool for clang build # apt-get install binutils-aarch64-linux-gnu # https://github.com/0day-ci/linux/commit/a9357af49d3cae2b1b4b8bbb7f1adf9ed381bf46 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Ingo-Molnar/headers-deps-dcache-Move-the-____cacheline_aligned-attribute-to-the-head-of-the-definition/20220104-190351 git checkout a9357af49d3cae2b1b4b8bbb7f1adf9ed381bf46 # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash drivers/phy/amlogic/ lib/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All error/warnings (new ones prefixed by >>): In file included from arch/arm64/kernel/asm-offsets.c:10: In file included from include/linux/arm_sdei.h:8: In file included from include/acpi/ghes.h:5: In file included from include/acpi/apei.h:9: In file included from include/linux/acpi.h:15: In file included from include/linux/device.h:32: In file included from include/linux/device/driver.h:21: In file included from include/linux/module.h:19: In file included from include/linux/elf.h:6: In file included from arch/arm64/include/asm/elf.h:141: In file included from include/linux/fs.h:8: >> include/linux/dcache.h:137:1: warning: attribute '__aligned__' is ignored, place it after "struct" to apply attribute to type declaration [-Wignored-attributes] ____cacheline_aligned ^ include/linux/cache.h:41:46: note: expanded from macro '____cacheline_aligned' #define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES))) ^ 1 warning generated. -- In file included from drivers/phy/amlogic/phy-meson-g12a-usb2.c:16: In file included from include/linux/module.h:19: In file included from include/linux/elf.h:6: In file included from arch/arm64/include/asm/elf.h:141: In file included from include/linux/fs.h:8: >> include/linux/dcache.h:137:1: warning: attribute '__aligned__' is ignored, place it after "struct" to apply attribute to type declaration [-Wignored-attributes] ____cacheline_aligned ^ include/linux/cache.h:41:46: note: expanded from macro '____cacheline_aligned' #define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES))) ^ drivers/phy/amlogic/phy-meson-g12a-usb2.c:311:17: warning: cast to smaller integer type 'enum meson_soc_id' from 'const void *' [-Wvoid-pointer-to-enum-cast] priv->soc_id = (enum meson_soc_id)of_device_get_match_data(&pdev->dev); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2 warnings generated. -- In file included from lib/radix-tree.c:15: In file included from include/linux/cpu.h:17: In file included from include/linux/node.h:18: In file included from include/linux/device.h:32: In file included from include/linux/device/driver.h:21: In file included from include/linux/module.h:19: In file included from include/linux/elf.h:6: In file included from arch/arm64/include/asm/elf.h:141: In file included from include/linux/fs.h:8: >> include/linux/dcache.h:137:1: warning: attribute '__aligned__' is ignored, place it after "struct" to apply attribute to type declaration [-Wignored-attributes] ____cacheline_aligned ^ include/linux/cache.h:41:46: note: expanded from macro '____cacheline_aligned' #define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES))) ^ lib/radix-tree.c:288:6: warning: no previous prototype for function 'radix_tree_node_rcu_free' [-Wmissing-prototypes] void radix_tree_node_rcu_free(struct rcu_head *head) ^ lib/radix-tree.c:288:1: note: declare 'static' if the function is not intended to be used outside of this translation unit void radix_tree_node_rcu_free(struct rcu_head *head) ^ static 2 warnings generated. -- In file included from lib/test_bitops.c:9: In file included from include/linux/module.h:19: In file included from include/linux/elf.h:6: In file included from arch/arm64/include/asm/elf.h:141: In file included from include/linux/fs.h:8: >> include/linux/dcache.h:137:1: error: attribute '__aligned__' is ignored, place it after "struct" to apply attribute to type declaration [-Werror,-Wignored-attributes] ____cacheline_aligned ^ include/linux/cache.h:41:46: note: expanded from macro '____cacheline_aligned' #define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES))) ^ 1 error generated. -- In file included from lib/test_ida.c:10: In file included from include/linux/module.h:19: In file included from include/linux/elf.h:6: In file included from arch/arm64/include/asm/elf.h:141: In file included from include/linux/fs.h:8: >> include/linux/dcache.h:137:1: warning: attribute '__aligned__' is ignored, place it after "struct" to apply attribute to type declaration [-Wignored-attributes] ____cacheline_aligned ^ include/linux/cache.h:41:46: note: expanded from macro '____cacheline_aligned' #define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES))) ^ lib/test_ida.c:16:6: warning: no previous prototype for function 'ida_dump' [-Wmissing-prototypes] void ida_dump(struct ida *ida) { } ^ lib/test_ida.c:16:1: note: declare 'static' if the function is not intended to be used outside of this translation unit void ida_dump(struct ida *ida) { } ^ static 2 warnings generated. -- In file included from lib/test_printf.c:10: In file included from include/linux/module.h:19: In file included from include/linux/elf.h:6: In file included from arch/arm64/include/asm/elf.h:141: In file included from include/linux/fs.h:8: >> include/linux/dcache.h:137:1: warning: attribute '__aligned__' is ignored, place it after "struct" to apply attribute to type declaration [-Wignored-attributes] ____cacheline_aligned ^ include/linux/cache.h:41:46: note: expanded from macro '____cacheline_aligned' #define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES))) ^ lib/test_printf.c:157:52: warning: format specifies type 'unsigned char' but the argument has type 'int' [-Wformat] test("0|1|1|128|255", "%hhu|%hhu|%hhu|%hhu|%hhu", 0, 1, 257, 128, -1); ~~~~ ^ %d lib/test_printf.c:137:40: note: expanded from macro 'test' __test(expect, strlen(expect), fmt, ##__VA_ARGS__) ~~~ ^~~~~~~~~~~ lib/test_printf.c:157:55: warning: format specifies type 'unsigned char' but the argument has type 'int' [-Wformat] test("0|1|1|128|255", "%hhu|%hhu|%hhu|%hhu|%hhu", 0, 1, 257, 128, -1); ~~~~ ^ %d lib/test_printf.c:137:40: note: expanded from macro 'test' __test(expect, strlen(expect), fmt, ##__VA_ARGS__) ~~~ ^~~~~~~~~~~ lib/test_printf.c:157:58: warning: format specifies type 'unsigned char' but the argument has type 'int' [-Wformat] test("0|1|1|128|255", "%hhu|%hhu|%hhu|%hhu|%hhu", 0, 1, 257, 128, -1); ~~~~ ^~~ %d lib/test_printf.c:137:40: note: expanded from macro 'test' __test(expect, strlen(expect), fmt, ##__VA_ARGS__) ~~~ ^~~~~~~~~~~ lib/test_printf.c:157:63: warning: format specifies type 'unsigned char' but the argument has type 'int' [-Wformat] test("0|1|1|128|255", "%hhu|%hhu|%hhu|%hhu|%hhu", 0, 1, 257, 128, -1); ~~~~ ^~~ %d lib/test_printf.c:137:40: note: expanded from macro 'test' __test(expect, strlen(expect), fmt, ##__VA_ARGS__) ~~~ ^~~~~~~~~~~ lib/test_printf.c:157:68: warning: format specifies type 'unsigned char' but the argument has type 'int' [-Wformat] test("0|1|1|128|255", "%hhu|%hhu|%hhu|%hhu|%hhu", 0, 1, 257, 128, -1); ~~~~ ^~ %d lib/test_printf.c:137:40: note: expanded from macro 'test' __test(expect, strlen(expect), fmt, ##__VA_ARGS__) ~~~ ^~~~~~~~~~~ lib/test_printf.c:158:52: warning: format specifies type 'char' but the argument has type 'int' [-Wformat] test("0|1|1|-128|-1", "%hhd|%hhd|%hhd|%hhd|%hhd", 0, 1, 257, 128, -1); ~~~~ ^ %d lib/test_printf.c:137:40: note: expanded from macro 'test' __test(expect, strlen(expect), fmt, ##__VA_ARGS__) ~~~ ^~~~~~~~~~~ lib/test_printf.c:158:55: warning: format specifies type 'char' but the argument has type 'int' [-Wformat] test("0|1|1|-128|-1", "%hhd|%hhd|%hhd|%hhd|%hhd", 0, 1, 257, 128, -1); ~~~~ ^ %d lib/test_printf.c:137:40: note: expanded from macro 'test' __test(expect, strlen(expect), fmt, ##__VA_ARGS__) ~~~ ^~~~~~~~~~~ lib/test_printf.c:158:58: warning: format specifies type 'char' but the argument has type 'int' [-Wformat] test("0|1|1|-128|-1", "%hhd|%hhd|%hhd|%hhd|%hhd", 0, 1, 257, 128, -1); ~~~~ ^~~ %d lib/test_printf.c:137:40: note: expanded from macro 'test' __test(expect, strlen(expect), fmt, ##__VA_ARGS__) ~~~ ^~~~~~~~~~~ lib/test_printf.c:158:63: warning: format specifies type 'char' but the argument has type 'int' [-Wformat] test("0|1|1|-128|-1", "%hhd|%hhd|%hhd|%hhd|%hhd", 0, 1, 257, 128, -1); ~~~~ ^~~ %d lib/test_printf.c:137:40: note: expanded from macro 'test' __test(expect, strlen(expect), fmt, ##__VA_ARGS__) ~~~ ^~~~~~~~~~~ lib/test_printf.c:158:68: warning: format specifies type 'char' but the argument has type 'int' [-Wformat] test("0|1|1|-128|-1", "%hhd|%hhd|%hhd|%hhd|%hhd", 0, 1, 257, 128, -1); ~~~~ ^~ %d lib/test_printf.c:137:40: note: expanded from macro 'test' __test(expect, strlen(expect), fmt, ##__VA_ARGS__) ~~~ ^~~~~~~~~~~ lib/test_printf.c:159:41: warning: format specifies type 'unsigned short' but the argument has type 'int' [-Wformat] test("2015122420151225", "%ho%ho%#ho", 1037, 5282, -11627); ~~~ ^~~~ %o lib/test_printf.c:137:40: note: expanded from macro 'test' __test(expect, strlen(expect), fmt, ##__VA_ARGS__) ~~~ ^~~~~~~~~~~ lib/test_printf.c:159:47: warning: format specifies type 'unsigned short' but the argument has type 'int' [-Wformat] test("2015122420151225", "%ho%ho%#ho", 1037, 5282, -11627); ~~~ ^~~~ %o lib/test_printf.c:137:40: note: expanded from macro 'test' __test(expect, strlen(expect), fmt, ##__VA_ARGS__) ~~~ ^~~~~~~~~~~ lib/test_printf.c:159:53: warning: format specifies type 'unsigned short' but the argument has type 'int' [-Wformat] test("2015122420151225", "%ho%ho%#ho", 1037, 5282, -11627); ~~~~ ^~~~~~ %#o lib/test_printf.c:137:40: note: expanded from macro 'test' __test(expect, strlen(expect), fmt, ##__VA_ARGS__) ~~~ ^~~~~~~~~~~ 14 warnings generated. -- In file included from lib/crc32test.c:28: In file included from include/linux/module.h:19: In file included from include/linux/elf.h:6: In file included from arch/arm64/include/asm/elf.h:141: In file included from include/linux/fs.h:8: >> include/linux/dcache.h:137:1: warning: attribute '__aligned__' is ignored, place it after "struct" to apply attribute to type declaration [-Wignored-attributes] ____cacheline_aligned ^ include/linux/cache.h:41:46: note: expanded from macro '____cacheline_aligned' #define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES))) ^ lib/crc32test.c:674:13: warning: variable 'crc' set but not used [-Wunused-but-set-variable] static u32 crc; ^ lib/crc32test.c:754:13: warning: variable 'crc' set but not used [-Wunused-but-set-variable] static u32 crc; ^ 3 warnings generated. -- In file included from lib/test_rhashtable.c:17: In file included from include/linux/module.h:19: In file included from include/linux/elf.h:6: In file included from arch/arm64/include/asm/elf.h:141: In file included from include/linux/fs.h:8: >> include/linux/dcache.h:137:1: warning: attribute '__aligned__' is ignored, place it after "struct" to apply attribute to type declaration [-Wignored-attributes] ____cacheline_aligned ^ include/linux/cache.h:41:46: note: expanded from macro '____cacheline_aligned' #define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES))) ^ lib/test_rhashtable.c:451:18: warning: variable 'insert_retries' set but not used [-Wunused-but-set-variable] unsigned int i, insert_retries = 0; ^ 2 warnings generated. -- In file included from lib/devmem_is_allowed.c:11: In file included from include/linux/mm.h:717: In file included from include/linux/huge_mm.h:8: In file included from include/linux/fs.h:8: >> include/linux/dcache.h:137:1: warning: attribute '__aligned__' is ignored, place it after "struct" to apply attribute to type declaration [-Wignored-attributes] ____cacheline_aligned ^ include/linux/cache.h:41:46: note: expanded from macro '____cacheline_aligned' #define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES))) ^ lib/devmem_is_allowed.c:20:5: warning: no previous prototype for function 'devmem_is_allowed' [-Wmissing-prototypes] int devmem_is_allowed(unsigned long pfn) ^ lib/devmem_is_allowed.c:20:1: note: declare 'static' if the function is not intended to be used outside of this translation unit int devmem_is_allowed(unsigned long pfn) ^ static 2 warnings generated. -- In file included from lib/lz4/lz4_decompress.c:39: In file included from include/linux/module.h:19: In file included from include/linux/elf.h:6: In file included from arch/arm64/include/asm/elf.h:141: In file included from include/linux/fs.h:8: >> include/linux/dcache.h:137:1: warning: attribute '__aligned__' is ignored, place it after "struct" to apply attribute to type declaration [-Wignored-attributes] ____cacheline_aligned ^ include/linux/cache.h:41:46: note: expanded from macro '____cacheline_aligned' #define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES))) ^ lib/lz4/lz4_decompress.c:506:5: warning: no previous prototype for function 'LZ4_decompress_safe_forceExtDict' [-Wmissing-prototypes] int LZ4_decompress_safe_forceExtDict(const char *source, char *dest, ^ lib/lz4/lz4_decompress.c:506:1: note: declare 'static' if the function is not intended to be used outside of this translation unit int LZ4_decompress_safe_forceExtDict(const char *source, char *dest, ^ static 2 warnings generated. -- In file included from arch/arm64/kernel/asm-offsets.c:10: In file included from include/linux/arm_sdei.h:8: In file included from include/acpi/ghes.h:5: In file included from include/acpi/apei.h:9: In file included from include/linux/acpi.h:15: In file included from include/linux/device.h:32: In file included from include/linux/device/driver.h:21: In file included from include/linux/module.h:19: In file included from include/linux/elf.h:6: In file included from arch/arm64/include/asm/elf.h:141: In file included from include/linux/fs.h:8: >> include/linux/dcache.h:137:1: warning: attribute '__aligned__' is ignored, place it after "struct" to apply attribute to type declaration [-Wignored-attributes] ____cacheline_aligned ^ include/linux/cache.h:41:46: note: expanded from macro '____cacheline_aligned' #define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES))) ^ 1 warning generated. arch/arm64/kernel/vdso/vgettimeofday.c:9:5: warning: no previous prototype for function '__kernel_clock_gettime' [-Wmissing-prototypes] int __kernel_clock_gettime(clockid_t clock, ^ arch/arm64/kernel/vdso/vgettimeofday.c:9:1: note: declare 'static' if the function is not intended to be used outside of this translation unit int __kernel_clock_gettime(clockid_t clock, ^ static arch/arm64/kernel/vdso/vgettimeofday.c:15:5: warning: no previous prototype for function '__kernel_gettimeofday' [-Wmissing-prototypes] int __kernel_gettimeofday(struct __kernel_old_timeval *tv, ^ arch/arm64/kernel/vdso/vgettimeofday.c:15:1: note: declare 'static' if the function is not intended to be used outside of this translation unit int __kernel_gettimeofday(struct __kernel_old_timeval *tv, ^ static arch/arm64/kernel/vdso/vgettimeofday.c:21:5: warning: no previous prototype for function '__kernel_clock_getres' [-Wmissing-prototypes] int __kernel_clock_getres(clockid_t clock_id, ^ arch/arm64/kernel/vdso/vgettimeofday.c:21:1: note: declare 'static' if the function is not intended to be used outside of this translation unit int __kernel_clock_getres(clockid_t clock_id, ^ static 3 warnings generated. vim +137 include/linux/dcache.h 136 > 137 ____cacheline_aligned 138 struct dentry_operations { 139 int (*d_revalidate)(struct dentry *, unsigned int); 140 int (*d_weak_revalidate)(struct dentry *, unsigned int); 141 int (*d_hash)(const struct dentry *, struct qstr *); 142 int (*d_compare)(const struct dentry *, 143 unsigned int, const char *, const struct qstr *); 144 int (*d_delete)(const struct dentry *); 145 int (*d_init)(struct dentry *); 146 void (*d_release)(struct dentry *); 147 void (*d_prune)(struct dentry *); 148 void (*d_iput)(struct dentry *, struct inode *); 149 char *(*d_dname)(struct dentry *, char *, int); 150 struct vfsmount *(*d_automount)(struct path *); 151 int (*d_manage)(const struct path *, bool); 152 struct dentry *(*d_real)(struct dentry *, const struct inode *); 153 }; 154 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx