Re: [PATCH v4 2/4] Watchdog: sp5100_tco: Refactor MMIO base address initialization

kernel test robot
2022-01-31T02:53:11Z

Hi Terry,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on groeck-staging/hwmon-next]
[also build test WARNING on linux/master linus/master v5.17-rc2 next-20220128]
[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/Terry-Bowman/Watchdog-sp5100_tco-Replace-cd6h-cd7h-port-I-O-accesses-with-MMIO-accesses/20220131-031525
base: https://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git hwmon-next
config: x86_64-randconfig-m001-20220131 (https://download.01.org/0day-ci/archive/20220131/202201311012.U53Rg3e2-lkp@intel.com/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/e6855f66e7e915cd09a8f8dae411997df8a7c641
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Terry-Bowman/Watchdog-sp5100_tco-Replace-cd6h-cd7h-port-I-O-accesses-with-MMIO-accesses/20220131-031525
git checkout e6855f66e7e915cd09a8f8dae411997df8a7c641
# save the config file to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/watchdog/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

In file included from include/linux/device.h:15,
from include/linux/pci.h:37,
from drivers/watchdog/sp5100_tco.c:40:
drivers/watchdog/sp5100_tco.c: In function 'sp5100_tco_prepare_base':
>> drivers/watchdog/sp5100_tco.c:270:16: warning: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'void *' [-Wformat=]
270 | dev_info(dev, "Using 0x%08x for watchdog MMIO address\n", tco->tcobase);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/dev_printk.h:110:16: note: in definition of macro 'dev_printk_index_wrap'
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
include/linux/dev_printk.h:150:51: note: in expansion of macro 'dev_fmt'
150 | dev_printk_index_wrap(_dev_info, KERN_INFO, dev, dev_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~
drivers/watchdog/sp5100_tco.c:270:2: note: in expansion of macro 'dev_info'
270 | dev_info(dev, "Using 0x%08x for watchdog MMIO address\n", tco->tcobase);
| ^~~~~~~~
drivers/watchdog/sp5100_tco.c:270:28: note: format string is defined here
270 | dev_info(dev, "Using 0x%08x for watchdog MMIO address\n", tco->tcobase);
| ~~~^
| |
| unsigned int
| %08p

vim +270 drivers/watchdog/sp5100_tco.c

238
239 static u32 sp5100_tco_prepare_base(struct sp5100_tco *tco,
240 u32 mmio_addr,
241 u32 alt_mmio_addr,
242 const char *dev_name)
243 {
244 struct device *dev = tco->wdd.parent;
245
246 dev_dbg(dev, "Got 0x%08x from SBResource_MMIO register\n", mmio_addr);
247
248 if (!mmio_addr && !alt_mmio_addr)
249 return -ENODEV;
250
251 /* Check for MMIO address and alternate MMIO address conflicts */
252 if (mmio_addr)
253 mmio_addr = sp5100_tco_request_region(dev, mmio_addr, dev_name);
254
255 if (!mmio_addr && alt_mmio_addr)
256 mmio_addr = sp5100_tco_request_region(dev, alt_mmio_addr, dev_name);
257
258 if (!mmio_addr) {
259 dev_err(dev, "Failed to reserve MMIO or alternate MMIO region\n");
260 return -EBUSY;
261 }
262
263 tco->tcobase = devm_ioremap(dev, mmio_addr, SP5100_WDT_MEM_MAP_SIZE);
264 if (!tco->tcobase) {
265 dev_err(dev, "MMIO address 0x%08x failed mapping\n", mmio_addr);
266 devm_release_mem_region(dev, mmio_addr, SP5100_WDT_MEM_MAP_SIZE);
267 return -ENOMEM;
268 }
269
> 270 dev_info(dev, "Using 0x%08x for watchdog MMIO address\n", tco->tcobase);
271
272 return 0;
273 }
274

---
0-DAY CI Kernel Test Service, Intel Corporation