Hi Allen, Thank you for the patch! Yet something to improve: [auto build test ERROR on crypto/master] [also build test ERROR on rockchip/for-next sparc-next/master v5.10-rc7 next-20201207] [cannot apply to cryptodev/master] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Allen-Pais/crypto-convert-tasklets-to-use-new-tasklet_setup-API/20201207-170424 base: https://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6.git master config: powerpc-randconfig-m031-20201207 (attached as .config) compiler: powerpc64le-linux-gcc (GCC) 9.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/0day-ci/linux/commit/ecb2ecb81c98d4b5b97ac311cc967a806adf0681 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Allen-Pais/crypto-convert-tasklets-to-use-new-tasklet_setup-API/20201207-170424 git checkout ecb2ecb81c98d4b5b97ac311cc967a806adf0681 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): >> drivers/crypto/ccree/cc_fips.c:112:13: error: conflicting types for 'fips_dsr' 112 | static void fips_dsr(struct tasklet_struct *t) | ^~~~~~~~ drivers/crypto/ccree/cc_fips.c:11:13: note: previous declaration of 'fips_dsr' was here 11 | static void fips_dsr(unsigned long devarg); | ^~~~~~~~ In file included from : drivers/crypto/ccree/cc_fips.c: In function 'fips_dsr': >> include/linux/kernel.h:1002:51: error: 'struct cc_drvdata' has no member named 'tasklet' 1002 | BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ | ^~ include/linux/compiler_types.h:299:9: note: in definition of macro '__compiletime_assert' 299 | if (!(condition)) \ | ^~~~~~~~~ include/linux/compiler_types.h:319:2: note: in expansion of macro '_compiletime_assert' 319 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' 39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) | ^~~~~~~~~~~~~~~~~~ include/linux/kernel.h:1002:2: note: in expansion of macro 'BUILD_BUG_ON_MSG' 1002 | BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ | ^~~~~~~~~~~~~~~~ include/linux/kernel.h:1002:20: note: in expansion of macro '__same_type' 1002 | BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ | ^~~~~~~~~~~ include/linux/interrupt.h:637:2: note: in expansion of macro 'container_of' 637 | container_of(callback_tasklet, typeof(*var), tasklet_fieldname) | ^~~~~~~~~~~~ drivers/crypto/ccree/cc_fips.c:114:31: note: in expansion of macro 'from_tasklet' 114 | struct cc_drvdata *drvdata = from_tasklet(drvdata, t, tasklet); | ^~~~~~~~~~~~ >> include/linux/compiler_types.h:135:35: error: 'struct cc_drvdata' has no member named 'tasklet' 135 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b) | ^~~~~~~~~~~~~~~~~~ include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof' 17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER) | ^~~~~~~~~~~~~~~~~~~ include/linux/kernel.h:1005:21: note: in expansion of macro 'offsetof' 1005 | ((type *)(__mptr - offsetof(type, member))); }) | ^~~~~~~~ include/linux/interrupt.h:637:2: note: in expansion of macro 'container_of' 637 | container_of(callback_tasklet, typeof(*var), tasklet_fieldname) | ^~~~~~~~~~~~ drivers/crypto/ccree/cc_fips.c:114:31: note: in expansion of macro 'from_tasklet' 114 | struct cc_drvdata *drvdata = from_tasklet(drvdata, t, tasklet); | ^~~~~~~~~~~~ vim +/fips_dsr +112 drivers/crypto/ccree/cc_fips.c 110 111 /* Deferred service handler, run as interrupt-fired tasklet */ > 112 static void fips_dsr(struct tasklet_struct *t) 113 { 114 struct cc_drvdata *drvdata = from_tasklet(drvdata, t, tasklet); 115 u32 irq, val; 116 117 irq = (drvdata->irq & (CC_GPR0_IRQ_MASK)); 118 119 if (irq) { 120 cc_tee_handle_fips_error(drvdata); 121 } 122 123 /* after verifying that there is nothing to do, 124 * unmask AXI completion interrupt. 125 */ 126 val = (CC_REG(HOST_IMR) & ~irq); 127 cc_iowrite(drvdata, CC_REG(HOST_IMR), val); 128 } 129 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org