Hi Srinivas, I love your patch! Yet something to improve: [auto build test ERROR on robh/for-next] [also build test ERROR on groeck-staging/hwmon-next linus/master v6.0 next-20220930] [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#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Srinivas-Neeli/watchdog-xilinx_wwdt-Add-Versal-watchdog-support/20220927-190614 base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next config: microblaze-randconfig-s032-20221002 compiler: microblaze-linux-gcc (GCC) 12.1.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.4-39-gce1a6720-dirty # https://github.com/intel-lab-lkp/linux/commit/087af35ad96612793f66339f25bf298947b02258 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Srinivas-Neeli/watchdog-xilinx_wwdt-Add-Versal-watchdog-support/20220927-190614 git checkout 087af35ad96612793f66339f25bf298947b02258 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=microblaze SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot All errors (new ones prefixed by >>): microblaze-linux-ld: drivers/watchdog/xilinx_wwdt.o: in function `xilinx_wwdt_start': >> drivers/watchdog/xilinx_wwdt.c:89: undefined reference to `__udivdi3' >> microblaze-linux-ld: drivers/watchdog/xilinx_wwdt.c:95: undefined reference to `__udivdi3' vim +89 drivers/watchdog/xilinx_wwdt.c 77 78 static int xilinx_wwdt_start(struct watchdog_device *wdd) 79 { 80 struct xwwdt_device *xdev = watchdog_get_drvdata(wdd); 81 struct watchdog_device *xilinx_wwdt_wdd = &xdev->xilinx_wwdt_wdd; 82 u64 time_out, closed_timeout, open_timeout; 83 u32 control_status_reg; 84 85 /* Calculate timeout count */ 86 time_out = xdev->freq * wdd->timeout; 87 88 if (xclosed_window_percent) { > 89 closed_timeout = (time_out * xclosed_window_percent) / 100; 90 open_timeout = time_out - closed_timeout; 91 wdd->min_hw_heartbeat_ms = xclosed_window_percent * 10 * wdd->timeout; 92 } else { 93 /* Calculate 50% of timeout */ 94 time_out *= XWWDT_PERCENT; > 95 time_out /= 100; 96 wdd->min_hw_heartbeat_ms = XWWDT_PERCENT * 10 * wdd->timeout; 97 } 98 99 spin_lock(&xdev->spinlock); 100 101 iowrite32(XWWDT_MWR_MASK, xdev->base + XWWDT_MWR_OFFSET); 102 iowrite32(~(u32)XWWDT_ESR_WEN_MASK, xdev->base + XWWDT_ESR_OFFSET); 103 104 if (xclosed_window_percent) { 105 iowrite32((u32)closed_timeout, xdev->base + XWWDT_FWR_OFFSET); 106 iowrite32((u32)open_timeout, xdev->base + XWWDT_SWR_OFFSET); 107 } else { 108 /* Configure closed and open windows with 50% of timeout */ 109 iowrite32((u32)time_out, xdev->base + XWWDT_FWR_OFFSET); 110 iowrite32((u32)time_out, xdev->base + XWWDT_SWR_OFFSET); 111 } 112 113 /* Enable the window watchdog timer */ 114 control_status_reg = ioread32(xdev->base + XWWDT_ESR_OFFSET); 115 control_status_reg |= XWWDT_ESR_WEN_MASK; 116 iowrite32(control_status_reg, xdev->base + XWWDT_ESR_OFFSET); 117 118 spin_unlock(&xdev->spinlock); 119 120 dev_dbg(xilinx_wwdt_wdd->parent, "Watchdog Started!\n"); 121 122 return 0; 123 } 124 -- 0-DAY CI Kernel Test Service https://01.org/lkp