All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: oe-kbuild-all@lists.linux.dev, devel@driverdev.osuosl.org
Subject: [driver-core:faux_bus 3/6] drivers/usb/musb/sunxi.c:764:23: error: assignment to 'struct platform_device *' from incompatible pointer type 'struct faux_device *'
Date: Wed, 5 Feb 2025 14:08:08 +0800	[thread overview]
Message-ID: <202502051411.UbAAgX8D-lkp@intel.com> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git faux_bus
head:   f18e2d21ac0290209c516f14151bbb8df602b73f
commit: b9313848b0afacf2f24760d74b901f5895b13ea0 [3/6] USB: phy: convert usb_phy_generic logic to use a faux device
config: riscv-randconfig-001-20250205 (https://download.01.org/0day-ci/archive/20250205/202502051411.UbAAgX8D-lkp@intel.com/config)
compiler: riscv64-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250205/202502051411.UbAAgX8D-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202502051411.UbAAgX8D-lkp@intel.com/

All errors (new ones prefixed by >>):

   drivers/usb/musb/sunxi.c: In function 'sunxi_musb_probe':
>> drivers/usb/musb/sunxi.c:764:23: error: assignment to 'struct platform_device *' from incompatible pointer type 'struct faux_device *' [-Wincompatible-pointer-types]
     764 |         glue->usb_phy = usb_phy_generic_register();
         |                       ^
>> drivers/usb/musb/sunxi.c:801:40: error: passing argument 1 of 'usb_phy_generic_unregister' from incompatible pointer type [-Wincompatible-pointer-types]
     801 |         usb_phy_generic_unregister(glue->usb_phy);
         |                                    ~~~~^~~~~~~~~
         |                                        |
         |                                        struct platform_device *
   In file included from drivers/usb/musb/sunxi.c:24:
   include/linux/usb/usb_phy_generic.h:11:33: note: expected 'struct faux_device *' but argument is of type 'struct platform_device *'
      11 | void usb_phy_generic_unregister(struct faux_device *);
         |                                 ^~~~~~~~~~~~~~~~~~~~
   drivers/usb/musb/sunxi.c: In function 'sunxi_musb_remove':
   drivers/usb/musb/sunxi.c:811:36: error: passing argument 1 of 'usb_phy_generic_unregister' from incompatible pointer type [-Wincompatible-pointer-types]
     811 |         usb_phy_generic_unregister(usb_phy);
         |                                    ^~~~~~~
         |                                    |
         |                                    struct platform_device *
   include/linux/usb/usb_phy_generic.h:11:33: note: expected 'struct faux_device *' but argument is of type 'struct platform_device *'
      11 | void usb_phy_generic_unregister(struct faux_device *);
         |                                 ^~~~~~~~~~~~~~~~~~~~


vim +764 drivers/usb/musb/sunxi.c

c1fce66ecd271de Icenowy Zheng   2017-02-01  676  
744543c599c420b Hans de Goede   2015-07-08  677  static int sunxi_musb_probe(struct platform_device *pdev)
744543c599c420b Hans de Goede   2015-07-08  678  {
744543c599c420b Hans de Goede   2015-07-08  679  	struct musb_hdrc_platform_data	pdata;
744543c599c420b Hans de Goede   2015-07-08  680  	struct platform_device_info	pinfo;
744543c599c420b Hans de Goede   2015-07-08  681  	struct sunxi_glue		*glue;
744543c599c420b Hans de Goede   2015-07-08  682  	struct device_node		*np = pdev->dev.of_node;
196774960ba176f Andre Przywara  2023-02-01  683  	const struct sunxi_musb_cfg	*cfg;
744543c599c420b Hans de Goede   2015-07-08  684  	int ret;
744543c599c420b Hans de Goede   2015-07-08  685  
744543c599c420b Hans de Goede   2015-07-08  686  	if (!np) {
744543c599c420b Hans de Goede   2015-07-08  687  		dev_err(&pdev->dev, "Error no device tree node found\n");
744543c599c420b Hans de Goede   2015-07-08  688  		return -EINVAL;
744543c599c420b Hans de Goede   2015-07-08  689  	}
744543c599c420b Hans de Goede   2015-07-08  690  
7cba17ec9adc8cf Hans de Goede   2016-09-12  691  	glue = devm_kzalloc(&pdev->dev, sizeof(*glue), GFP_KERNEL);
7cba17ec9adc8cf Hans de Goede   2016-09-12  692  	if (!glue)
7cba17ec9adc8cf Hans de Goede   2016-09-12  693  		return -ENOMEM;
7cba17ec9adc8cf Hans de Goede   2016-09-12  694  
744543c599c420b Hans de Goede   2015-07-08  695  	memset(&pdata, 0, sizeof(pdata));
06e7114f0d82972 Heikki Krogerus 2015-09-21  696  	switch (usb_get_dr_mode(&pdev->dev)) {
744543c599c420b Hans de Goede   2015-07-08  697  #if defined CONFIG_USB_MUSB_DUAL_ROLE || defined CONFIG_USB_MUSB_HOST
744543c599c420b Hans de Goede   2015-07-08  698  	case USB_DR_MODE_HOST:
7ad76955c67b705 Bin Liu         2018-05-21  699  		pdata.mode = MUSB_HOST;
7cba17ec9adc8cf Hans de Goede   2016-09-12  700  		glue->phy_mode = PHY_MODE_USB_HOST;
744543c599c420b Hans de Goede   2015-07-08  701  		break;
744543c599c420b Hans de Goede   2015-07-08  702  #endif
a1ca2c6b2924a60 Hans de Goede   2016-06-30  703  #if defined CONFIG_USB_MUSB_DUAL_ROLE || defined CONFIG_USB_MUSB_GADGET
a1ca2c6b2924a60 Hans de Goede   2016-06-30  704  	case USB_DR_MODE_PERIPHERAL:
7ad76955c67b705 Bin Liu         2018-05-21  705  		pdata.mode = MUSB_PERIPHERAL;
7cba17ec9adc8cf Hans de Goede   2016-09-12  706  		glue->phy_mode = PHY_MODE_USB_DEVICE;
a1ca2c6b2924a60 Hans de Goede   2016-06-30  707  		break;
a1ca2c6b2924a60 Hans de Goede   2016-06-30  708  #endif
744543c599c420b Hans de Goede   2015-07-08  709  #ifdef CONFIG_USB_MUSB_DUAL_ROLE
744543c599c420b Hans de Goede   2015-07-08  710  	case USB_DR_MODE_OTG:
7ad76955c67b705 Bin Liu         2018-05-21  711  		pdata.mode = MUSB_OTG;
7cba17ec9adc8cf Hans de Goede   2016-09-12  712  		glue->phy_mode = PHY_MODE_USB_OTG;
744543c599c420b Hans de Goede   2015-07-08  713  		break;
744543c599c420b Hans de Goede   2015-07-08  714  #endif
744543c599c420b Hans de Goede   2015-07-08  715  	default:
744543c599c420b Hans de Goede   2015-07-08  716  		dev_err(&pdev->dev, "Invalid or missing 'dr_mode' property\n");
744543c599c420b Hans de Goede   2015-07-08  717  		return -EINVAL;
744543c599c420b Hans de Goede   2015-07-08  718  	}
744543c599c420b Hans de Goede   2015-07-08  719  	pdata.platform_ops	= &sunxi_musb_ops;
196774960ba176f Andre Przywara  2023-02-01  720  
196774960ba176f Andre Przywara  2023-02-01  721  	cfg = of_device_get_match_data(&pdev->dev);
196774960ba176f Andre Przywara  2023-02-01  722  	if (!cfg)
196774960ba176f Andre Przywara  2023-02-01  723  		return -EINVAL;
196774960ba176f Andre Przywara  2023-02-01  724  
196774960ba176f Andre Przywara  2023-02-01  725  	pdata.config = cfg->hdrc_config;
744543c599c420b Hans de Goede   2015-07-08  726  
744543c599c420b Hans de Goede   2015-07-08  727  	glue->dev = &pdev->dev;
744543c599c420b Hans de Goede   2015-07-08  728  	INIT_WORK(&glue->work, sunxi_musb_work);
744543c599c420b Hans de Goede   2015-07-08  729  	glue->host_nb.notifier_call = sunxi_musb_host_notifier;
744543c599c420b Hans de Goede   2015-07-08  730  
196774960ba176f Andre Przywara  2023-02-01  731  	if (cfg->has_sram)
132e23775779cc8 Hans de Goede   2015-07-08  732  		set_bit(SUNXI_MUSB_FL_HAS_SRAM, &glue->flags);
132e23775779cc8 Hans de Goede   2015-07-08  733  
196774960ba176f Andre Przywara  2023-02-01  734  	if (cfg->has_reset)
132e23775779cc8 Hans de Goede   2015-07-08  735  		set_bit(SUNXI_MUSB_FL_HAS_RESET, &glue->flags);
132e23775779cc8 Hans de Goede   2015-07-08  736  
196774960ba176f Andre Przywara  2023-02-01  737  	if (cfg->no_configdata)
d91de093d94eca6 Hans de Goede   2015-07-08  738  		set_bit(SUNXI_MUSB_FL_NO_CONFIGDATA, &glue->flags);
d91de093d94eca6 Hans de Goede   2015-07-08  739  
744543c599c420b Hans de Goede   2015-07-08  740  	glue->clk = devm_clk_get(&pdev->dev, NULL);
744543c599c420b Hans de Goede   2015-07-08  741  	if (IS_ERR(glue->clk)) {
744543c599c420b Hans de Goede   2015-07-08  742  		dev_err(&pdev->dev, "Error getting clock: %ld\n",
744543c599c420b Hans de Goede   2015-07-08  743  			PTR_ERR(glue->clk));
744543c599c420b Hans de Goede   2015-07-08  744  		return PTR_ERR(glue->clk);
744543c599c420b Hans de Goede   2015-07-08  745  	}
744543c599c420b Hans de Goede   2015-07-08  746  
132e23775779cc8 Hans de Goede   2015-07-08  747  	if (test_bit(SUNXI_MUSB_FL_HAS_RESET, &glue->flags)) {
132e23775779cc8 Hans de Goede   2015-07-08  748  		glue->rst = devm_reset_control_get(&pdev->dev, NULL);
7a8275099361e24 Yang Yingliang  2022-09-27  749  		if (IS_ERR(glue->rst))
7a8275099361e24 Yang Yingliang  2022-09-27  750  			return dev_err_probe(&pdev->dev, PTR_ERR(glue->rst),
7a8275099361e24 Yang Yingliang  2022-09-27  751  					     "Error getting reset\n");
132e23775779cc8 Hans de Goede   2015-07-08  752  	}
132e23775779cc8 Hans de Goede   2015-07-08  753  
a1ca2c6b2924a60 Hans de Goede   2016-06-30  754  	glue->extcon = extcon_get_edev_by_phandle(&pdev->dev, 0);
7a8275099361e24 Yang Yingliang  2022-09-27  755  	if (IS_ERR(glue->extcon))
7a8275099361e24 Yang Yingliang  2022-09-27  756  		return dev_err_probe(&pdev->dev, PTR_ERR(glue->extcon),
7a8275099361e24 Yang Yingliang  2022-09-27  757  				     "Invalid or missing extcon\n");
a1ca2c6b2924a60 Hans de Goede   2016-06-30  758  
744543c599c420b Hans de Goede   2015-07-08  759  	glue->phy = devm_phy_get(&pdev->dev, "usb");
7a8275099361e24 Yang Yingliang  2022-09-27  760  	if (IS_ERR(glue->phy))
7a8275099361e24 Yang Yingliang  2022-09-27  761  		return dev_err_probe(&pdev->dev, PTR_ERR(glue->phy),
7a8275099361e24 Yang Yingliang  2022-09-27  762  				     "Error getting phy\n");
744543c599c420b Hans de Goede   2015-07-08  763  
744543c599c420b Hans de Goede   2015-07-08 @764  	glue->usb_phy = usb_phy_generic_register();
744543c599c420b Hans de Goede   2015-07-08  765  	if (IS_ERR(glue->usb_phy)) {
744543c599c420b Hans de Goede   2015-07-08  766  		dev_err(&pdev->dev, "Error registering usb-phy %ld\n",
744543c599c420b Hans de Goede   2015-07-08  767  			PTR_ERR(glue->usb_phy));
744543c599c420b Hans de Goede   2015-07-08  768  		return PTR_ERR(glue->usb_phy);
744543c599c420b Hans de Goede   2015-07-08  769  	}
744543c599c420b Hans de Goede   2015-07-08  770  
744543c599c420b Hans de Goede   2015-07-08  771  	glue->xceiv = devm_usb_get_phy(&pdev->dev, USB_PHY_TYPE_USB2);
744543c599c420b Hans de Goede   2015-07-08  772  	if (IS_ERR(glue->xceiv)) {
744543c599c420b Hans de Goede   2015-07-08  773  		ret = PTR_ERR(glue->xceiv);
744543c599c420b Hans de Goede   2015-07-08  774  		dev_err(&pdev->dev, "Error getting usb-phy %d\n", ret);
744543c599c420b Hans de Goede   2015-07-08  775  		goto err_unregister_usb_phy;
744543c599c420b Hans de Goede   2015-07-08  776  	}
744543c599c420b Hans de Goede   2015-07-08  777  
744543c599c420b Hans de Goede   2015-07-08  778  	platform_set_drvdata(pdev, glue);
744543c599c420b Hans de Goede   2015-07-08  779  
744543c599c420b Hans de Goede   2015-07-08  780  	memset(&pinfo, 0, sizeof(pinfo));
744543c599c420b Hans de Goede   2015-07-08  781  	pinfo.name	 = "musb-hdrc";
744543c599c420b Hans de Goede   2015-07-08  782  	pinfo.id	= PLATFORM_DEVID_AUTO;
744543c599c420b Hans de Goede   2015-07-08  783  	pinfo.parent	= &pdev->dev;
908f6fc3a140509 Mans Rullgard   2020-01-15  784  	pinfo.fwnode	= of_fwnode_handle(pdev->dev.of_node);
908f6fc3a140509 Mans Rullgard   2020-01-15  785  	pinfo.of_node_reused = true;
744543c599c420b Hans de Goede   2015-07-08  786  	pinfo.res	= pdev->resource;
744543c599c420b Hans de Goede   2015-07-08  787  	pinfo.num_res	= pdev->num_resources;
744543c599c420b Hans de Goede   2015-07-08  788  	pinfo.data	= &pdata;
744543c599c420b Hans de Goede   2015-07-08  789  	pinfo.size_data = sizeof(pdata);
744543c599c420b Hans de Goede   2015-07-08  790  
969a132723434f3 Hans de Goede   2016-06-14  791  	glue->musb_pdev = platform_device_register_full(&pinfo);
969a132723434f3 Hans de Goede   2016-06-14  792  	if (IS_ERR(glue->musb_pdev)) {
969a132723434f3 Hans de Goede   2016-06-14  793  		ret = PTR_ERR(glue->musb_pdev);
744543c599c420b Hans de Goede   2015-07-08  794  		dev_err(&pdev->dev, "Error registering musb dev: %d\n", ret);
744543c599c420b Hans de Goede   2015-07-08  795  		goto err_unregister_usb_phy;
744543c599c420b Hans de Goede   2015-07-08  796  	}
744543c599c420b Hans de Goede   2015-07-08  797  
744543c599c420b Hans de Goede   2015-07-08  798  	return 0;
744543c599c420b Hans de Goede   2015-07-08  799  
744543c599c420b Hans de Goede   2015-07-08  800  err_unregister_usb_phy:
744543c599c420b Hans de Goede   2015-07-08 @801  	usb_phy_generic_unregister(glue->usb_phy);
744543c599c420b Hans de Goede   2015-07-08  802  	return ret;
744543c599c420b Hans de Goede   2015-07-08  803  }
744543c599c420b Hans de Goede   2015-07-08  804  

:::::: The code at line 764 was first introduced by commit
:::::: 744543c599c420bcddca08cd2e2713b82a008328 usb: musb: sunxi: Add support for the Allwinner sunxi musb controller

:::::: TO: Hans de Goede <hdegoede@redhat.com>
:::::: CC: Felipe Balbi <balbi@ti.com>

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

                 reply	other threads:[~2025-02-05  6:08 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202502051411.UbAAgX8D-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=devel@driverdev.osuosl.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.