tree: https://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra.git hte/for-next head: cedbe14082d169f4c1136c70c5170a76bd9a076a commit: 98935236600d4e179b664ffcfcd54e0ec3a1b4e3 [7/10] gpiolib: cdev: Add hardware timestamp clock type config: arm-ep93xx_defconfig (https://download.01.org/0day-ci/archive/20220504/202205040454.CGWxoTt3-lkp@xxxxxxxxx/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 363b3a645a1e30011cc8da624f13dac5fd915628) 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 arm cross compiling tool for clang build # apt-get install binutils-arm-linux-gnueabi # https://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra.git/commit/?id=98935236600d4e179b664ffcfcd54e0ec3a1b4e3 git remote add arm-tegra https://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra.git git fetch --no-tags arm-tegra hte/for-next git checkout 98935236600d4e179b664ffcfcd54e0ec3a1b4e3 # 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=arm SHELL=/bin/bash If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All errors (new ones prefixed by >>): drivers/gpio/gpiolib-cdev.c:572:8: error: unknown type name 'hte_return_t'; did you mean 'irqreturn_t'? static hte_return_t process_hw_ts_thread(void *p) ^~~~~~~~~~~~ irqreturn_t include/linux/irqreturn.h:17:24: note: 'irqreturn_t' declared here typedef enum irqreturn irqreturn_t; ^ drivers/gpio/gpiolib-cdev.c:581:10: warning: implicit conversion from enumeration type 'enum hte_return' to different enumeration type 'irqreturn_t' (aka 'enum irqreturn') [-Wenum-conversion] return HTE_CB_HANDLED; ~~~~~~ ^~~~~~~~~~~~~~ drivers/gpio/gpiolib-cdev.c:612:10: warning: implicit conversion from enumeration type 'enum hte_return' to different enumeration type 'irqreturn_t' (aka 'enum irqreturn') [-Wenum-conversion] return HTE_CB_HANDLED; ~~~~~~ ^~~~~~~~~~~~~~ drivers/gpio/gpiolib-cdev.c:620:9: warning: implicit conversion from enumeration type 'enum hte_return' to different enumeration type 'irqreturn_t' (aka 'enum irqreturn') [-Wenum-conversion] return HTE_CB_HANDLED; ~~~~~~ ^~~~~~~~~~~~~~ drivers/gpio/gpiolib-cdev.c:623:8: error: unknown type name 'hte_return_t'; did you mean 'irqreturn_t'? static hte_return_t process_hw_ts(struct hte_ts_data *ts, void *p) ^~~~~~~~~~~~ irqreturn_t include/linux/irqreturn.h:17:24: note: 'irqreturn_t' declared here typedef enum irqreturn irqreturn_t; ^ drivers/gpio/gpiolib-cdev.c:630:10: warning: implicit conversion from enumeration type 'enum hte_return' to different enumeration type 'irqreturn_t' (aka 'enum irqreturn') [-Wenum-conversion] return HTE_CB_HANDLED; ~~~~~~ ^~~~~~~~~~~~~~ drivers/gpio/gpiolib-cdev.c:644:11: warning: implicit conversion from enumeration type 'enum hte_return' to different enumeration type 'irqreturn_t' (aka 'enum irqreturn') [-Wenum-conversion] return HTE_CB_HANDLED; ~~~~~~ ^~~~~~~~~~~~~~ drivers/gpio/gpiolib-cdev.c:652:10: warning: implicit conversion from enumeration type 'enum hte_return' to different enumeration type 'irqreturn_t' (aka 'enum irqreturn') [-Wenum-conversion] return HTE_RUN_SECOND_CB; ~~~~~~ ^~~~~~~~~~~~~~~~~ drivers/gpio/gpiolib-cdev.c:655:9: warning: implicit conversion from enumeration type 'enum hte_return' to different enumeration type 'irqreturn_t' (aka 'enum irqreturn') [-Wenum-conversion] return HTE_CB_HANDLED; ~~~~~~ ^~~~~~~~~~~~~~ >> drivers/gpio/gpiolib-cdev.c:851:34: error: incompatible function pointer types passing 'irqreturn_t (struct hte_ts_data *, void *)' (aka 'enum irqreturn (struct hte_ts_data *, void *)') to parameter of type 'hte_ts_cb_t' (aka 'enum hte_return (*)(struct hte_ts_data *, void *)') [-Werror,-Wincompatible-function-pointer-types] return hte_request_ts_ns(hdesc, process_hw_ts, ^~~~~~~~~~~~~ include/linux/hte.h:234:75: note: passing argument to parameter 'cb' here static inline int hte_request_ts_ns(struct hte_ts_desc *desc, hte_ts_cb_t cb, ^ >> drivers/gpio/gpiolib-cdev.c:852:6: error: incompatible function pointer types passing 'irqreturn_t (void *)' (aka 'enum irqreturn (void *)') to parameter of type 'hte_ts_sec_cb_t' (aka 'enum hte_return (*)(void *)') [-Werror,-Wincompatible-function-pointer-types] process_hw_ts_thread, line); ^~~~~~~~~~~~~~~~~~~~ include/linux/hte.h:235:25: note: passing argument to parameter 'tcb' here hte_ts_sec_cb_t tcb, void *data) ^ 7 warnings and 4 errors generated. vim +851 drivers/gpio/gpiolib-cdev.c 828 829 static int hte_edge_setup(struct line *line, u64 eflags) 830 { 831 int ret; 832 unsigned long flags = 0; 833 struct hte_ts_desc *hdesc = &line->hdesc; 834 835 if (eflags & GPIO_V2_LINE_FLAG_EDGE_RISING) 836 flags |= test_bit(FLAG_ACTIVE_LOW, &line->desc->flags) ? 837 HTE_FALLING_EDGE_TS : HTE_RISING_EDGE_TS; 838 if (eflags & GPIO_V2_LINE_FLAG_EDGE_FALLING) 839 flags |= test_bit(FLAG_ACTIVE_LOW, &line->desc->flags) ? 840 HTE_RISING_EDGE_TS : HTE_FALLING_EDGE_TS; 841 842 line->total_discard_seq = 0; 843 844 hte_init_line_attr(hdesc, desc_to_gpio(line->desc), flags, 845 NULL, line->desc); 846 847 ret = hte_ts_get(NULL, hdesc, 0); 848 if (ret) 849 return ret; 850 > 851 return hte_request_ts_ns(hdesc, process_hw_ts, > 852 process_hw_ts_thread, line); 853 } 854 -- 0-DAY CI Kernel Test Service https://01.org/lkp