Re: [PATCH v2] driver core: shut down devices asynchronously

From: kernel test robot
Date: Thu Sep 14 2023 - 02:26:21 EST


Hi Stuart,

kernel test robot noticed the following build warnings:

[auto build test WARNING on driver-core/driver-core-testing]
[also build test WARNING on driver-core/driver-core-next driver-core/driver-core-linus linus/master v6.6-rc1 next-20230913]
[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/Stuart-Hayes/driver-core-shut-down-devices-asynchronously/20230914-050611
base: driver-core/driver-core-testing
patch link: https://lore.kernel.org/r/20230913210516.3545-1-stuart.w.hayes%40gmail.com
patch subject: [PATCH v2] driver core: shut down devices asynchronously
config: parisc-allyesconfig (https://download.01.org/0day-ci/archive/20230914/202309141407.CpZtIa2w-lkp@xxxxxxxxx/config)
compiler: hppa-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230914/202309141407.CpZtIa2w-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/202309141407.CpZtIa2w-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

drivers/base/core.c:68: warning: Function parameter or member 'flags' not described in '__fwnode_link_add'
>> drivers/base/core.c:4771: warning: Function parameter or member 'dev' not described in 'shutdown_device_and_children'
>> drivers/base/core.c:4771: warning: Function parameter or member 'data' not described in 'shutdown_device_and_children'
>> drivers/base/core.c:4771: warning: expecting prototype for device_shutdown_async(). Prototype was for shutdown_device_and_children() instead


vim +4771 drivers/base/core.c

4764
4765 /**
4766 * device_shutdown_async - schedule ->shutdown() on each device to shutdown
4767 * asynchronously, ensuring each device's children are shut down before
4768 * shutting down the device
4769 */
4770 static int shutdown_device_and_children(struct device *dev, void *data)
> 4771 {
4772 struct async_domain *domain = data;
4773 struct device_private *p = dev->p;
4774
4775 INIT_ASYNC_DOMAIN_EXCLUSIVE(&p->children_shutdown);
4776
4777 /* make sure device doesn't go away before it is shut down */
4778 get_device(dev);
4779
4780 /* schedule shutdown of children */
4781 device_for_each_child(dev, &p->children_shutdown,
4782 shutdown_device_and_children);
4783
4784 /* schedule shutdown of this device */
4785 async_schedule_domain(shutdown_device, dev, domain);
4786
4787 return 0;
4788 }
4789

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki