Hi Abhishek, kernel test robot noticed the following build errors: [auto build test ERROR on staging/staging-testing] url: https://github.com/intel-lab-lkp/linux/commits/Abhishek-Tamboli/staging-octeon-Use-new-initialization-api-for-tasklet/20240913-012448 base: staging/staging-testing patch link: https://lore.kernel.org/r/20240912172231.369566-1-abhishektamboli9%40gmail.com patch subject: [PATCH] staging: octeon: Use new initialization api for tasklet config: m68k-allmodconfig (https://download.01.org/0day-ci/archive/20240913/202409132123.Kfncs3AN-lkp@xxxxxxxxx/config) compiler: m68k-linux-gcc (GCC) 14.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240913/202409132123.Kfncs3AN-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202409132123.Kfncs3AN-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): In file included from include/linux/kernel_stat.h:8, from include/linux/cgroup.h:25, from include/net/netprio_cgroup.h:11, from include/linux/netdevice.h:42, from drivers/staging/octeon/ethernet-tx.c:10: >> drivers/staging/octeon/ethernet-tx.c:44:52: error: initialization of 'void (*)(struct tasklet_struct *)' from incompatible pointer type 'void (*)(struct tasklet_struct)' [-Wincompatible-pointer-types] 44 | static DECLARE_TASKLET(cvm_oct_tx_cleanup_tasklet, cvm_oct_tx_do_cleanup); | ^~~~~~~~~~~~~~~~~~~~~ include/linux/interrupt.h:665:21: note: in definition of macro 'DECLARE_TASKLET' 665 | .callback = _callback, \ | ^~~~~~~~~ drivers/staging/octeon/ethernet-tx.c:44:52: note: (near initialization for 'cvm_oct_tx_cleanup_tasklet.<anonymous>.callback') 44 | static DECLARE_TASKLET(cvm_oct_tx_cleanup_tasklet, cvm_oct_tx_do_cleanup); | ^~~~~~~~~~~~~~~~~~~~~ include/linux/interrupt.h:665:21: note: in definition of macro 'DECLARE_TASKLET' 665 | .callback = _callback, \ | ^~~~~~~~~ vim +44 drivers/staging/octeon/ethernet-tx.c > 10 #include <linux/netdevice.h> 11 #include <linux/etherdevice.h> 12 #include <linux/ip.h> 13 #include <linux/ratelimit.h> 14 #include <linux/string.h> 15 #include <linux/interrupt.h> 16 #include <net/dst.h> 17 #ifdef CONFIG_XFRM 18 #include <linux/xfrm.h> 19 #include <net/xfrm.h> 20 #endif /* CONFIG_XFRM */ 21 22 #include <linux/atomic.h> 23 #include <net/sch_generic.h> 24 25 #include "octeon-ethernet.h" 26 #include "ethernet-defines.h" 27 #include "ethernet-tx.h" 28 #include "ethernet-util.h" 29 30 #define CVM_OCT_SKB_CB(skb) ((u64 *)((skb)->cb)) 31 32 /* 33 * You can define GET_SKBUFF_QOS() to override how the skbuff output 34 * function determines which output queue is used. The default 35 * implementation always uses the base queue for the port. If, for 36 * example, you wanted to use the skb->priority field, define 37 * GET_SKBUFF_QOS as: #define GET_SKBUFF_QOS(skb) ((skb)->priority) 38 */ 39 #ifndef GET_SKBUFF_QOS 40 #define GET_SKBUFF_QOS(skb) 0 41 #endif 42 43 static void cvm_oct_tx_do_cleanup(struct tasklet_struct clean); > 44 static DECLARE_TASKLET(cvm_oct_tx_cleanup_tasklet, cvm_oct_tx_do_cleanup); 45 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki