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 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@lists.01.org