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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux