Hi Andrey,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.14-rc8]
[cannot apply to next-20171110]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/Andrey-Smirnov/ZII-RAVE-platform-driver/20171112-215306
config: blackfin-allyesconfig (attached as .config)
compiler: bfin-uclinux-gcc (GCC) 6.2.0
reproduce:
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=blackfin 

All errors (new ones prefixed by >>):

   drivers/watchdog/rave-sp-wdt.c: In function 'rave_sp_wdt_probe':
>> drivers/watchdog/rave-sp-wdt.c:314:8: error: implicit declaration of 
>> function 'devm_register_reboot_notifier' 
>> [-Werror=implicit-function-declaration]
     ret = devm_register_reboot_notifier(dev, &sp_wd->reboot_notifier);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +/devm_register_reboot_notifier +314 drivers/watchdog/rave-sp-wdt.c

   265  
   266  static int rave_sp_wdt_probe(struct platform_device *pdev)
   267  {
   268          struct device *dev = &pdev->dev;
   269          const struct of_device_id *id;
   270          struct watchdog_device *wdd;
   271          struct rave_sp_wdt *sp_wd;
   272          struct nvmem_cell *cell;
   273          __le16 timeout = 0;
   274          int ret;
   275  
   276          id = of_match_device(rave_sp_wdt_variants, dev->parent);
   277          if (!id) {
   278                  dev_err(dev, "Unknown parent device variant. Bailing 
out\n");
   279                  return -ENODEV;
   280          }
   281  
   282          sp_wd = devm_kzalloc(dev, sizeof(*sp_wd), GFP_KERNEL);
   283          if (!sp_wd)
   284                  return -ENOMEM;
   285  
   286          sp_wd->variant = id->data;
   287          sp_wd->sp      = dev_get_drvdata(dev->parent);
   288  
   289          wdd              = &sp_wd->wdd;
   290          wdd->parent      = dev;
   291          wdd->info        = &rave_sp_wdt_info;
   292          wdd->ops         = &rave_sp_wdt_ops;
   293          wdd->min_timeout = sp_wd->variant->min_timeout;
   294          wdd->max_timeout = sp_wd->variant->max_timeout;
   295          wdd->status      = WATCHDOG_NOWAYOUT_INIT_STATUS;
   296          wdd->timeout     = 60;
   297  
   298          cell = nvmem_cell_get(dev, "wdt-timeout");
   299          if (!IS_ERR(cell)) {
   300                  size_t len;
   301                  void *value = nvmem_cell_read(cell, &len);
   302  
   303                  if (!IS_ERR(value)) {
   304                          memcpy(&timeout, value, min(len, 
sizeof(timeout)));
   305                          kfree(value);
   306                  }
   307                  nvmem_cell_put(cell);
   308          }
   309          watchdog_init_timeout(wdd, le16_to_cpu(timeout), dev);
   310          watchdog_set_restart_priority(wdd, 255);
   311          watchdog_stop_on_unregister(wdd);
   312  
   313          sp_wd->reboot_notifier.notifier_call = 
rave_sp_wdt_reboot_notifier;
 > 314          ret = devm_register_reboot_notifier(dev, 
 > &sp_wd->reboot_notifier);
   315          if (ret) {
   316                  dev_err(dev, "Failed to register reboot notifier\n");
   317                  return ret;
   318          }
   319  
   320          /*
   321           * We don't know if watchdog is running now. To be sure, let's
   322           * start it and depend on watchdog core to ping it
   323           */
   324          wdd->max_hw_heartbeat_ms = wdd->max_timeout * 1000;
   325          ret = rave_sp_wdt_start(wdd);
   326          if (ret) {
   327                  dev_err(dev, "Watchdog didn't start\n");
   328                  return ret;
   329          }
   330  
   331          ret = devm_watchdog_register_device(dev, wdd);
   332          if (ret) {
   333                  dev_err(dev, "Failed to register watchdog device\n");
   334                  rave_sp_wdt_stop(wdd);
   335                  return ret;
   336          }
   337  
   338          return 0;
   339  }
   340  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to