Re: [PATCH v11 2/5] USB: misc: Add onboard_usb_hub driver

From: kernel test robot
Date: Fri Jun 04 2021 - 19:19:39 EST


Hi Matthias,

I love your patch! Perhaps something to improve:

[auto build test WARNING on next-20210604]
[also build test WARNING on v5.13-rc4]
[cannot apply to usb/usb-testing robh/for-next char-misc/char-misc-testing driver-core/driver-core-testing linus/master v5.13-rc4 v5.13-rc3 v5.13-rc2]
[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/Matthias-Kaehlcke/USB-misc-Add-onboard_usb_hub-driver/20210605-054213
base: ccc252d2e818f6a479441119ad453c3ce7c7c461
config: arc-allyesconfig (attached as .config)
compiler: arceb-elf-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/7107f99a12058b7147342c6f763d026102bd6606
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Matthias-Kaehlcke/USB-misc-Add-onboard_usb_hub-driver/20210605-054213
git checkout 7107f99a12058b7147342c6f763d026102bd6606
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arc

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

All warnings (new ones prefixed by >>):

>> drivers/usb/misc/onboard_usb_hub.c:400:6: warning: no previous prototype for 'onboard_hub_create_pdevs' [-Wmissing-prototypes]
400 | void onboard_hub_create_pdevs(struct usb_device *parent_hub, struct list_head *pdev_list)
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/usb/misc/onboard_usb_hub.c:458:6: warning: no previous prototype for 'onboard_hub_destroy_pdevs' [-Wmissing-prototypes]
458 | void onboard_hub_destroy_pdevs(struct list_head *pdev_list)
| ^~~~~~~~~~~~~~~~~~~~~~~~~


vim +/onboard_hub_create_pdevs +400 drivers/usb/misc/onboard_usb_hub.c

394
395 /*
396 * Creates a platform device for each supported onboard hub that is connected to
397 * the given parent hub. To keep track of the platform devices they are added to
398 * a list that is owned by the parent hub.
399 */
> 400 void onboard_hub_create_pdevs(struct usb_device *parent_hub, struct list_head *pdev_list)
401 {
402 int i;
403 phandle ph;
404 struct device_node *np, *npc;
405 struct platform_device *pdev;
406 struct pdev_list_entry *pdle;
407
408 for (i = 1; i <= parent_hub->maxchild; i++) {
409 np = usb_of_get_device_node(parent_hub, i);
410 if (!np)
411 continue;
412
413 if (!of_is_onboard_usb_hub(np))
414 goto node_put;
415
416 if (of_property_read_u32(np, "companion-hub", &ph))
417 goto node_put;
418
419 npc = of_find_node_by_phandle(ph);
420 if (!npc)
421 goto node_put;
422
423 pdev = of_find_device_by_node(npc);
424 of_node_put(npc);
425
426 if (pdev) {
427 /* the companion hub already has a platform device, nothing to do here */
428 put_device(&pdev->dev);
429 goto node_put;
430 }
431
432 pdev = of_platform_device_create(np, NULL, &parent_hub->dev);
433 if (pdev) {
434 pdle = kzalloc(sizeof(*pdle), GFP_KERNEL);
435 if (!pdle)
436 goto node_put;
437
438 INIT_LIST_HEAD(&pdle->node);
439
440 pdle->pdev = pdev;
441 list_add(&pdle->node, pdev_list);
442 } else {
443 dev_err(&parent_hub->dev,
444 "failed to create platform device for onboard hub '%s'\n",
445 of_node_full_name(np));
446 }
447
448 node_put:
449 of_node_put(np);
450 }
451 }
452 EXPORT_SYMBOL_GPL(onboard_hub_create_pdevs);
453
454 /*
455 * Destroys the platform devices in the given list and frees the memory associated
456 * with the list entry.
457 */
> 458 void onboard_hub_destroy_pdevs(struct list_head *pdev_list)
459 {
460 struct pdev_list_entry *pdle, *tmp;
461
462 list_for_each_entry_safe(pdle, tmp, pdev_list, node) {
463 of_platform_device_destroy(&pdle->pdev->dev, NULL);
464 kfree(pdle);
465 }
466 }
467 EXPORT_SYMBOL_GPL(onboard_hub_destroy_pdevs);
468

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip