tree: https://github.com/AsahiLinux/linux bits/090-spi-hid head: bd3ea9c827680dbc49e10be104d6bb78b0f5527c commit: c667618792a48a30a217d3d27d16d5805ed8fa8f [29/34] hid: Add Apple DockChannel HID transport driver config: powerpc-allmodconfig compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 791a7ae1ba3efd6bca96338e10ffde557ba83920) 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 powerpc cross compiling tool for clang build # apt-get install binutils-powerpc-linux-gnu # https://github.com/AsahiLinux/linux/commit/c667618792a48a30a217d3d27d16d5805ed8fa8f git remote add asahilinux https://github.com/AsahiLinux/linux git fetch --no-tags asahilinux bits/090-spi-hid git checkout c667618792a48a30a217d3d27d16d5805ed8fa8f # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=powerpc SHELL=/bin/bash drivers/hid/dockchannel-hid/ drivers/net/ethernet/renesas/ drivers/phy/freescale/ drivers/phy/renesas/ drivers/platform/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot All error/warnings (new ones prefixed by >>): >> drivers/hid/dockchannel-hid/dockchannel-hid.c:303:21: error: call to undeclared function 'FIELD_PREP'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] iface->out_flags = FIELD_PREP(FLAGS_GROUP, type) | FIELD_PREP(FLAGS_REQ, req); ^ >> drivers/hid/dockchannel-hid/dockchannel-hid.c:569:62: warning: format specifies type 'long' but the argument has type 'size_t' (aka 'unsigned int') [-Wformat] dev_err(dchid->dev, "Bad length for ready message: %ld\n", length); ~~~ ^~~~~~ %zu include/linux/dev_printk.h:144:65: note: expanded from macro 'dev_err' dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__) ~~~ ^~~~~~~~~~~ include/linux/dev_printk.h:110:23: note: expanded from macro 'dev_printk_index_wrap' _p_func(dev, fmt, ##__VA_ARGS__); \ ~~~ ^~~~~~~~~~~ >> drivers/hid/dockchannel-hid/dockchannel-hid.c:825:13: error: call to undeclared function 'FIELD_GET'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] int type = FIELD_GET(FLAGS_GROUP, shdr->flags); ^ >> drivers/hid/dockchannel-hid/dockchannel-hid.c:830:18: warning: format specifies type 'long' but the argument has type 'unsigned int' [-Wformat] shdr->length, work->hdr.length - sizeof(*shdr)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/dev_printk.h:144:65: note: expanded from macro 'dev_err' dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__) ~~~ ^~~~~~~~~~~ include/linux/dev_printk.h:110:23: note: expanded from macro 'dev_printk_index_wrap' _p_func(dev, fmt, ##__VA_ARGS__); \ ~~~ ^~~~~~~~~~~ drivers/hid/dockchannel-hid/dockchannel-hid.c:856:18: warning: format specifies type 'long' but the argument has type 'unsigned int' [-Wformat] shdr->length, hdr->length - sizeof(*shdr)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/dev_printk.h:144:65: note: expanded from macro 'dev_err' dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__) ~~~ ^~~~~~~~~~~ include/linux/dev_printk.h:110:23: note: expanded from macro 'dev_printk_index_wrap' _p_func(dev, fmt, ##__VA_ARGS__); \ ~~~ ^~~~~~~~~~~ 3 warnings and 2 errors generated. vim +/FIELD_PREP +303 drivers/hid/dockchannel-hid/dockchannel-hid.c 292 293 static int dchid_cmd(struct dchid_iface *iface, u32 type, u32 req, 294 void *data, size_t size, void *resp_buf, size_t resp_size) 295 { 296 int ret; 297 int report_id = *(u8*)data; 298 299 mutex_lock(&iface->out_mutex); 300 301 WARN_ON(iface->out_report != -1); 302 iface->out_report = report_id; > 303 iface->out_flags = FIELD_PREP(FLAGS_GROUP, type) | FIELD_PREP(FLAGS_REQ, req); 304 iface->resp_buf = resp_buf; 305 iface->resp_size = resp_size; 306 reinit_completion(&iface->out_complete); 307 308 ret = dchid_send(iface, iface->out_flags, data, size); 309 if (ret < 0) 310 goto done; 311 312 if (!wait_for_completion_timeout(&iface->out_complete, msecs_to_jiffies(1000))) { 313 dev_err(iface->dchid->dev, "output report 0x%x to iface %d (%s) timed out\n", 314 report_id, iface->index, iface->name); 315 ret = -ETIMEDOUT; 316 goto done; 317 } 318 319 ret = iface->resp_size; 320 if (iface->retcode) { 321 dev_err(iface->dchid->dev, 322 "output report 0x%x to iface %d (%s) failed with err 0x%x\n", 323 report_id, iface->index, iface->name, iface->retcode); 324 ret = -EIO; 325 } 326 327 done: 328 iface->tx_seq++; 329 iface->out_report = -1; 330 iface->out_flags = 0; 331 iface->resp_buf = NULL; 332 iface->resp_size = 0; 333 mutex_unlock(&iface->out_mutex); 334 return ret; 335 } 336 -- 0-DAY CI Kernel Test Service https://01.org/lkp