Hi Mark, kernel test robot noticed the following build warnings: [auto build test WARNING on groeck-staging/hwmon-next] [also build test WARNING on linus/master v6.13-rc7 next-20250116] [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/Mark-Pearson/watchdog-lenovo_se30_wdt-Watchdog-driver-for-Lenovo-SE30-platform/20250115-220703 base: https://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git hwmon-next patch link: https://lore.kernel.org/r/20250115140510.2017-1-mpearson-lenovo%40squebb.ca patch subject: [PATCH] watchdog: lenovo_se30_wdt: Watchdog driver for Lenovo SE30 platform config: um-allyesconfig (https://download.01.org/0day-ci/archive/20250116/202501162358.vgAIFntg-lkp@xxxxxxxxx/config) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250116/202501162358.vgAIFntg-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/202501162358.vgAIFntg-lkp@xxxxxxxxx/ All warnings (new ones prefixed by >>): drivers/watchdog/lenovo_se30_wdt.c: In function 'lenovo_se30_wdt_probe': drivers/watchdog/lenovo_se30_wdt.c:314:31: error: implicit declaration of function 'ioremap_cache'; did you mean 'ioremap_uc'? [-Werror=implicit-function-declaration] 314 | priv->shm.base_addr = ioremap_cache(priv->shm.base_phys, SHM_WIN_SIZE); | ^~~~~~~~~~~~~ | ioremap_uc >> drivers/watchdog/lenovo_se30_wdt.c:314:29: warning: assignment to 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 314 | priv->shm.base_addr = ioremap_cache(priv->shm.base_phys, SHM_WIN_SIZE); | ^ cc1: some warnings being treated as errors vim +314 drivers/watchdog/lenovo_se30_wdt.c 276 277 static int lenovo_se30_wdt_probe(struct platform_device *pdev) 278 { 279 struct device *dev = &pdev->dev; 280 struct lenovo_se30_wdt *priv; 281 unsigned long base_phys; 282 unsigned short val; 283 int err; 284 285 err = superio_enter(UNLOCK_KEY, SIO_REG, LNV_SE30_NAME); 286 if (err) 287 return err; 288 289 val = superio_inb(SIO_REG, CHIPID_REG) << 8; 290 val |= superio_inb(SIO_REG, CHIPID_REG + 1); 291 292 if ((val & CHIPID_MASK) != LNV_SE30_ID) { 293 superio_exit(LOCK_KEY, SIO_REG); 294 return -ENODEV; 295 } 296 297 superio_outb(SIO_REG, LDN_REG, LD_NUM_SHM); 298 base_phys = (superio_inb(SIO_REG, LD_BASE_ADDR) | 299 (superio_inb(SIO_REG, LD_BASE_ADDR + 1) << 8) | 300 (superio_inb(SIO_REG, LD_BASE_ADDR + 2) << 16) | 301 (superio_inb(SIO_REG, LD_BASE_ADDR + 3) << 24)) & 302 0xFFFFFFFF; 303 304 superio_exit(LOCK_KEY, SIO_REG); 305 if (base_phys == 0xFFFFFFFF || base_phys == 0) 306 return -ENODEV; 307 308 priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); 309 if (!priv) 310 return -ENOMEM; 311 312 priv->sio.base_phys = base_phys; 313 priv->shm.base_phys = base_phys; > 314 priv->shm.base_addr = ioremap_cache(priv->shm.base_phys, SHM_WIN_SIZE); 315 316 priv->wdt_cfg.mod = WDT_MODULE; 317 priv->wdt_cfg.idx = WDT_CFG_INDEX; 318 priv->wdt_cnt.mod = WDT_MODULE; 319 priv->wdt_cnt.idx = WDT_CNT_INDEX; 320 321 priv->wdt.ops = &lenovo_se30_wdt_ops; 322 priv->wdt.info = &lenovo_se30_wdt_info; 323 priv->wdt.timeout = WATCHDOG_TIMEOUT; /* Set default timeout */ 324 priv->wdt.min_timeout = MIN_TIMEOUT; 325 priv->wdt.max_timeout = MAX_TIMEOUT; 326 priv->wdt.parent = dev; 327 328 watchdog_init_timeout(&priv->wdt, timeout, dev); 329 watchdog_set_drvdata(&priv->wdt, priv); 330 watchdog_set_nowayout(&priv->wdt, nowayout); 331 watchdog_stop_on_reboot(&priv->wdt); 332 watchdog_stop_on_unregister(&priv->wdt); 333 334 return devm_watchdog_register_device(dev, &priv->wdt); 335 } 336 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki