tree: https://github.com/AsahiLinux/linux bits/110-smc head: d23e12d136f86676385f41e5e612afe735ba8152 commit: 772d47a257030e78353295cd64321e5cf42d13b0 [15/29] platform/apple: Add new Apple Mac SMC driver config: arc-allmodconfig compiler: arceb-elf-gcc (GCC) 12.1.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 # https://github.com/AsahiLinux/linux/commit/772d47a257030e78353295cd64321e5cf42d13b0 git remote add asahilinux https://github.com/AsahiLinux/linux git fetch --no-tags asahilinux bits/110-smc git checkout 772d47a257030e78353295cd64321e5cf42d13b0 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arc SHELL=/bin/bash drivers/hid/ drivers/platform/apple/ net/sunrpc/auth_gss/ sound/soc/codecs/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot All errors (new ones prefixed by >>): drivers/platform/apple/smc_rtkit.c: In function 'apple_smc_rtkit_write_key_atomic': >> drivers/platform/apple/smc_rtkit.c:74:16: error: implicit declaration of function 'FIELD_PREP' [-Werror=implicit-function-declaration] 74 | msg = (FIELD_PREP(SMC_MSG, SMC_MSG_WRITE_KEY) | | ^~~~~~~~~~ In file included from include/linux/bitops.h:6, from include/linux/log2.h:12, from include/asm-generic/div64.h:55, from ./arch/arc/include/generated/asm/div64.h:1, from include/linux/math.h:6, from include/linux/delay.h:22, from drivers/platform/apple/smc_rtkit.c:8: include/linux/bits.h:35:29: warning: left shift count >= width of type [-Wshift-count-overflow] 35 | (((~UL(0)) - (UL(1) << (l)) + 1) & \ | ^~ include/linux/bits.h:38:38: note: in expansion of macro '__GENMASK' 38 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l)) | ^~~~~~~~~ drivers/platform/apple/smc_rtkit.c:30:41: note: in expansion of macro 'GENMASK' 30 | #define SMC_DATA GENMASK(63, 32) | ^~~~~~~ drivers/platform/apple/smc_rtkit.c:77:27: note: in expansion of macro 'SMC_DATA' 77 | FIELD_PREP(SMC_DATA, key)); | ^~~~~~~~ include/linux/bits.h:36:18: warning: right shift count is negative [-Wshift-count-negative] 36 | (~UL(0) >> (BITS_PER_LONG - 1 - (h)))) | ^~ include/linux/bits.h:38:38: note: in expansion of macro '__GENMASK' 38 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l)) | ^~~~~~~~~ drivers/platform/apple/smc_rtkit.c:30:41: note: in expansion of macro 'GENMASK' 30 | #define SMC_DATA GENMASK(63, 32) | ^~~~~~~ drivers/platform/apple/smc_rtkit.c:77:27: note: in expansion of macro 'SMC_DATA' 77 | FIELD_PREP(SMC_DATA, key)); | ^~~~~~~~ >> drivers/platform/apple/smc_rtkit.c:95:13: error: implicit declaration of function 'FIELD_GET' [-Werror=implicit-function-declaration] 95 | if (FIELD_GET(SMC_ID, smc->cmd_ret) != smc->msg_id) { | ^~~~~~~~~ drivers/platform/apple/smc_rtkit.c: In function 'apple_smc_cmd': include/linux/bits.h:35:29: warning: left shift count >= width of type [-Wshift-count-overflow] 35 | (((~UL(0)) - (UL(1) << (l)) + 1) & \ | ^~ include/linux/bits.h:38:38: note: in expansion of macro '__GENMASK' 38 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l)) | ^~~~~~~~~ drivers/platform/apple/smc_rtkit.c:30:41: note: in expansion of macro 'GENMASK' 30 | #define SMC_DATA GENMASK(63, 32) | ^~~~~~~ drivers/platform/apple/smc_rtkit.c:125:27: note: in expansion of macro 'SMC_DATA' 125 | FIELD_PREP(SMC_DATA, arg)); | ^~~~~~~~ include/linux/bits.h:36:18: warning: right shift count is negative [-Wshift-count-negative] 36 | (~UL(0) >> (BITS_PER_LONG - 1 - (h)))) | ^~ include/linux/bits.h:38:38: note: in expansion of macro '__GENMASK' 38 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l)) | ^~~~~~~~~ drivers/platform/apple/smc_rtkit.c:30:41: note: in expansion of macro 'GENMASK' 30 | #define SMC_DATA GENMASK(63, 32) | ^~~~~~~ drivers/platform/apple/smc_rtkit.c:125:27: note: in expansion of macro 'SMC_DATA' 125 | FIELD_PREP(SMC_DATA, arg)); | ^~~~~~~~ include/linux/bits.h:35:29: warning: left shift count >= width of type [-Wshift-count-overflow] 35 | (((~UL(0)) - (UL(1) << (l)) + 1) & \ | ^~ include/linux/bits.h:38:38: note: in expansion of macro '__GENMASK' 38 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l)) | ^~~~~~~~~ drivers/platform/apple/smc_rtkit.c:30:41: note: in expansion of macro 'GENMASK' 30 | #define SMC_DATA GENMASK(63, 32) | ^~~~~~~ drivers/platform/apple/smc_rtkit.c:150:39: note: in expansion of macro 'SMC_DATA' 150 | *ret_data = FIELD_GET(SMC_DATA, smc->cmd_ret); | ^~~~~~~~ include/linux/bits.h:36:18: warning: right shift count is negative [-Wshift-count-negative] 36 | (~UL(0) >> (BITS_PER_LONG - 1 - (h)))) | ^~ include/linux/bits.h:38:38: note: in expansion of macro '__GENMASK' 38 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l)) | ^~~~~~~~~ drivers/platform/apple/smc_rtkit.c:30:41: note: in expansion of macro 'GENMASK' 30 | #define SMC_DATA GENMASK(63, 32) | ^~~~~~~ drivers/platform/apple/smc_rtkit.c:150:39: note: in expansion of macro 'SMC_DATA' 150 | *ret_data = FIELD_GET(SMC_DATA, smc->cmd_ret); | ^~~~~~~~ drivers/platform/apple/smc_rtkit.c: In function 'apple_smc_rtkit_recv': include/linux/bits.h:35:29: warning: left shift count >= width of type [-Wshift-count-overflow] 35 | (((~UL(0)) - (UL(1) << (l)) + 1) & \ | ^~ include/linux/bits.h:38:38: note: in expansion of macro '__GENMASK' 38 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l)) | ^~~~~~~~~ drivers/platform/apple/smc_rtkit.c:30:41: note: in expansion of macro 'GENMASK' 30 | #define SMC_DATA GENMASK(63, 32) | ^~~~~~~ drivers/platform/apple/smc_rtkit.c:332:55: note: in expansion of macro 'SMC_DATA' 332 | apple_smc_event_received(smc->core, FIELD_GET(SMC_DATA, message)); | ^~~~~~~~ include/linux/bits.h:36:18: warning: right shift count is negative [-Wshift-count-negative] 36 | (~UL(0) >> (BITS_PER_LONG - 1 - (h)))) | ^~ include/linux/bits.h:38:38: note: in expansion of macro '__GENMASK' 38 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l)) | ^~~~~~~~~ drivers/platform/apple/smc_rtkit.c:30:41: note: in expansion of macro 'GENMASK' 30 | #define SMC_DATA GENMASK(63, 32) | ^~~~~~~ drivers/platform/apple/smc_rtkit.c:332:55: note: in expansion of macro 'SMC_DATA' 332 | apple_smc_event_received(smc->core, FIELD_GET(SMC_DATA, message)); | ^~~~~~~~ cc1: some warnings being treated as errors vim +/FIELD_PREP +74 drivers/platform/apple/smc_rtkit.c 58 59 static int apple_smc_rtkit_write_key_atomic(void *cookie, smc_key key, void *buf, size_t size) 60 { 61 struct apple_smc_rtkit *smc = cookie; 62 int ret; 63 u64 msg; 64 u8 result; 65 66 if (size > SMC_SHMEM_SIZE || size == 0) 67 return -EINVAL; 68 69 if (!smc->alive) 70 return -EIO; 71 72 memcpy_toio(smc->shmem.iomem, buf, size); 73 smc->msg_id = (smc->msg_id + 1) & 0xf; > 74 msg = (FIELD_PREP(SMC_MSG, SMC_MSG_WRITE_KEY) | 75 FIELD_PREP(SMC_SIZE, size) | 76 FIELD_PREP(SMC_ID, smc->msg_id) | 77 FIELD_PREP(SMC_DATA, key)); 78 smc->atomic_pending = true; 79 80 ret = apple_rtkit_send_message(smc->rtk, SMC_ENDPOINT, msg, NULL, true); 81 if (ret < 0) { 82 dev_err(smc->dev, "Failed to send command (%d)\n", ret); 83 return ret; 84 } 85 86 while (smc->atomic_pending) { 87 ret = apple_rtkit_poll(smc->rtk); 88 if (ret < 0) { 89 dev_err(smc->dev, "RTKit poll failed (%llx)", msg); 90 return ret; 91 } 92 udelay(100); 93 } 94 > 95 if (FIELD_GET(SMC_ID, smc->cmd_ret) != smc->msg_id) { 96 dev_err(smc->dev, "Command sequence mismatch (expected %d, got %d)\n", 97 smc->msg_id, (unsigned int)FIELD_GET(SMC_ID, smc->cmd_ret)); 98 return -EIO; 99 } 100 101 result = FIELD_GET(SMC_RESULT, smc->cmd_ret); 102 if (result != 0) 103 return -result; 104 105 return FIELD_GET(SMC_SIZE, smc->cmd_ret); 106 } 107 -- 0-DAY CI Kernel Test Service https://01.org/lkp