Re: [PATCH v1 5/9] watchdog: Add Nuvoton NCT6694 WDT support

kernel test robot
2024-10-26T09:20:03Z

Hi Ming,

kernel test robot noticed the following build warnings:

[auto build test WARNING on lee-mfd/for-mfd-next]
[also build test WARNING on brgl/gpio/for-next andi-shyti/i2c/i2c-host mkl-can-next/testing groeck-staging/hwmon-next jic23-iio/togreg abelloni/rtc-next linus/master lee-mfd/for-mfd-fixes v6.12-rc4 next-20241025]
[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/Ming-Yu/mfd-Add-core-driver-for-Nuvoton-NCT6694/20241024-170528
base: https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next
patch link: https://lore.kernel.org/r/20241024085922.133071-6-tmyu0%40nuvoton.com
patch subject: [PATCH v1 5/9] watchdog: Add Nuvoton NCT6694 WDT support
config: arc-randconfig-r132-20241026 (https://download.01.org/0day-ci/archive/20241026/202410261752.lUVTJO2Y-lkp@intel.com/config)
compiler: arceb-elf-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20241026/202410261752.lUVTJO2Y-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202410261752.lUVTJO2Y-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
>> drivers/watchdog/nct6694_wdt.c:133:42: sparse: sparse: cast to restricted __le32
>> drivers/watchdog/nct6694_wdt.c:133:42: sparse: sparse: cast to restricted __le32
>> drivers/watchdog/nct6694_wdt.c:133:42: sparse: sparse: cast to restricted __le32
>> drivers/watchdog/nct6694_wdt.c:133:42: sparse: sparse: cast to restricted __le32
>> drivers/watchdog/nct6694_wdt.c:133:42: sparse: sparse: cast to restricted __le32
>> drivers/watchdog/nct6694_wdt.c:133:42: sparse: sparse: cast to restricted __le32
drivers/watchdog/nct6694_wdt.c:134:45: sparse: sparse: cast to restricted __le32
drivers/watchdog/nct6694_wdt.c:134:45: sparse: sparse: cast to restricted __le32
drivers/watchdog/nct6694_wdt.c:134:45: sparse: sparse: cast to restricted __le32
drivers/watchdog/nct6694_wdt.c:134:45: sparse: sparse: cast to restricted __le32
drivers/watchdog/nct6694_wdt.c:134:45: sparse: sparse: cast to restricted __le32
drivers/watchdog/nct6694_wdt.c:134:45: sparse: sparse: cast to restricted __le32
drivers/watchdog/nct6694_wdt.c:166:42: sparse: sparse: cast to restricted __le32
drivers/watchdog/nct6694_wdt.c:166:42: sparse: sparse: cast to restricted __le32
drivers/watchdog/nct6694_wdt.c:166:42: sparse: sparse: cast to restricted __le32
drivers/watchdog/nct6694_wdt.c:166:42: sparse: sparse: cast to restricted __le32
drivers/watchdog/nct6694_wdt.c:166:42: sparse: sparse: cast to restricted __le32
drivers/watchdog/nct6694_wdt.c:166:42: sparse: sparse: cast to restricted __le32
drivers/watchdog/nct6694_wdt.c:167:45: sparse: sparse: cast to restricted __le32
drivers/watchdog/nct6694_wdt.c:167:45: sparse: sparse: cast to restricted __le32
drivers/watchdog/nct6694_wdt.c:167:45: sparse: sparse: cast to restricted __le32
drivers/watchdog/nct6694_wdt.c:167:45: sparse: sparse: cast to restricted __le32
drivers/watchdog/nct6694_wdt.c:167:45: sparse: sparse: cast to restricted __le32
drivers/watchdog/nct6694_wdt.c:167:45: sparse: sparse: cast to restricted __le32
drivers/watchdog/nct6694_wdt.c:220:42: sparse: sparse: cast to restricted __le32
drivers/watchdog/nct6694_wdt.c:220:42: sparse: sparse: cast to restricted __le32
drivers/watchdog/nct6694_wdt.c:220:42: sparse: sparse: cast to restricted __le32
drivers/watchdog/nct6694_wdt.c:220:42: sparse: sparse: cast to restricted __le32
drivers/watchdog/nct6694_wdt.c:220:42: sparse: sparse: cast to restricted __le32
drivers/watchdog/nct6694_wdt.c:220:42: sparse: sparse: cast to restricted __le32
drivers/watchdog/nct6694_wdt.c:221:45: sparse: sparse: cast to restricted __le32
drivers/watchdog/nct6694_wdt.c:221:45: sparse: sparse: cast to restricted __le32
drivers/watchdog/nct6694_wdt.c:221:45: sparse: sparse: cast to restricted __le32
drivers/watchdog/nct6694_wdt.c:221:45: sparse: sparse: cast to restricted __le32
drivers/watchdog/nct6694_wdt.c:221:45: sparse: sparse: cast to restricted __le32
drivers/watchdog/nct6694_wdt.c:221:45: sparse: sparse: cast to restricted __le32

vim +133 drivers/watchdog/nct6694_wdt.c

115
116 static int nct6694_wdt_set_timeout(struct watchdog_device *wdev,
117 unsigned int timeout)
118 {
119 struct nct6694_wdt_data *data = watchdog_get_drvdata(wdev);
120 struct nct6694 *nct6694 = data->nct6694;
121 unsigned int timeout_fmt, pretimeout_fmt;
122 unsigned char buf[REQUEST_WDT_CMD0_LEN];
123 int ret;
124
125 if (timeout < wdev->pretimeout) {
126 pr_err("%s: 'timeout' must be greater than 'pre timeout'!\n",
127 __func__);
128 return -EINVAL;
129 }
130
131 timeout_fmt = timeout * 1000 | (WDT_TIMEOUT_ACT << 24);
132 pretimeout_fmt = wdev->pretimeout * 1000 | (WDT_PRETIMEOUT_ACT << 24);
> 133 set_buf32(&buf[WDT_TIMEOUT_IDX], le32_to_cpu(timeout_fmt));
134 set_buf32(&buf[WDT_PRETIMEOUT_IDX], le32_to_cpu(pretimeout_fmt));
135
136 ret = nct6694_write_msg(nct6694, REQUEST_WDT_MOD,
137 REQUEST_WDT_CMD0_OFFSET(data->wdev_idx),
138 REQUEST_WDT_CMD0_LEN, buf);
139 if (ret) {
140 pr_err("%s: Don't write the setup command in Start stage!\n",
141 __func__);
142 return ret;
143 }
144
145 wdev->timeout = timeout;
146
147 return 0;
148 }
149

--
0-DAY CI Kernel Test Service