[asahilinux:bits/110-smc 4/18] drivers/platform/apple/smc_rtkit.c:74:16: error: implicit declaration of function 'FIELD_PREP'

From: kernel test robot
Date: Mon Jul 11 2022 - 21:55:57 EST


tree: https://github.com/AsahiLinux/linux bits/110-smc
head: b76dc0fdf51c9227cd04d9d3648a5555d9c61fa8
commit: 092d508daf53fa9e5ba7fb7c0163a125753054c3 [4/18] platform/apple: Add new Apple Mac SMC driver
config: ia64-allmodconfig (https://download.01.org/0day-ci/archive/20220712/202207120900.4SEXcrZa-lkp@xxxxxxxxx/config)
compiler: ia64-linux-gcc (GCC) 11.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
# https://github.com/AsahiLinux/linux/commit/092d508daf53fa9e5ba7fb7c0163a125753054c3
git remote add asahilinux https://github.com/AsahiLinux/linux
git fetch --no-tags asahilinux bits/110-smc
git checkout 092d508daf53fa9e5ba7fb7c0163a125753054c3
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=ia64 SHELL=/bin/bash drivers/platform/apple/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>

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) |
| ^~~~~~~~~~
>> 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) {
| ^~~~~~~~~
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