drivers/usb/chipidea/ci_hdrc_imx.c:532 ci_hdrc_imx_probe() warn: missing error code 'ret'

kernel test robot <[email protected]>
Newsgroups dev.linux.lists.oe-kbuild,dev.linux.lists.oe-kbuild-all,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
BCC: [email protected]
CC: [email protected]
CC: [email protected]
TO: Xu Yang <[email protected]>
CC: Frank Li <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   51512e22efe813d8223de27f6fd02a8a48ea2323
commit: 2e9762f45efb53e7e7fc61f4ebf7a3507f5daa45 usb: chipidea: ci_hdrc_imx: use "wakeup" suffix for wakeup interrupt name
date:   6 months ago
:::::: branch date: 6 hours ago
:::::: commit date: 6 months ago
config: microblaze-randconfig-r072-20260703 (https://download.01.org/0day-ci/archive/20260703/[email protected]/config)
compiler: microblaze-linux-gcc (GCC) 14.3.0
smatch: v0.5.0-9185-gbcc58b9c

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
| Fixes: 2e9762f45efb ("usb: chipidea: ci_hdrc_imx: use "wakeup" suffix for wakeup interrupt name")
| Reported-by: kernel test robot <[email protected]>
| Reported-by: Dan Carpenter <[email protected]>
| Closes: https://lore.kernel.org/r/[email protected]/

smatch warnings:
drivers/usb/chipidea/ci_hdrc_imx.c:532 ci_hdrc_imx_probe() warn: missing error code 'ret'

vim +/ret +532 drivers/usb/chipidea/ci_hdrc_imx.c

8cab0e9a3f3e8d drivers/usb/chipidea/ci_hdrc_imx.c Fedor Pchelkin      2025-03-16  374  
8e22978c57087a drivers/usb/chipidea/ci_hdrc_imx.c Alexander Shishkin  2013-06-24  375  static int ci_hdrc_imx_probe(struct platform_device *pdev)
f6a3b3a37c4772 drivers/usb/chipidea/ci13xxx_imx.c Michael Grzeschik   2013-06-13  376  {
8e22978c57087a drivers/usb/chipidea/ci_hdrc_imx.c Alexander Shishkin  2013-06-24  377  	struct ci_hdrc_imx_data *data;
8e22978c57087a drivers/usb/chipidea/ci_hdrc_imx.c Alexander Shishkin  2013-06-24  378  	struct ci_hdrc_platform_data pdata = {
c844d6c884f372 drivers/usb/chipidea/ci_hdrc_imx.c Alexander Shiyan    2014-03-11  379  		.name		= dev_name(&pdev->dev),
f6a3b3a37c4772 drivers/usb/chipidea/ci13xxx_imx.c Michael Grzeschik   2013-06-13  380  		.capoffset	= DEF_CAPOFFSET,
ec841b8d73cff3 drivers/usb/chipidea/ci_hdrc_imx.c Xu Yang             2024-09-23  381  		.flags		= CI_HDRC_HAS_SHORT_PKT_LIMIT,
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  382  		.notify_event	= ci_hdrc_imx_notify_event,
1530280084c390 drivers/usb/chipidea/ci13xxx_imx.c Richard Zhao        2012-07-07  383  	};
1530280084c390 drivers/usb/chipidea/ci13xxx_imx.c Richard Zhao        2012-07-07  384  	int ret;
6f51bc340d2a1c drivers/usb/chipidea/ci_hdrc_imx.c LABBE Corentin      2015-11-12  385  	const struct ci_hdrc_imx_platform_flag *imx_platform_flag;
be9cae2479f48d drivers/usb/chipidea/ci_hdrc_imx.c Sebastian Reichel   2018-03-29  386  	struct device_node *np = pdev->dev.of_node;
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  387  	struct device *dev = &pdev->dev;
2e9762f45efb53 drivers/usb/chipidea/ci_hdrc_imx.c Xu Yang             2026-01-12  388  	const char *irq_name;
6f51bc340d2a1c drivers/usb/chipidea/ci_hdrc_imx.c LABBE Corentin      2015-11-12  389  
59b7c6a8fd6c44 drivers/usb/chipidea/ci_hdrc_imx.c Fabio Estevam       2020-11-24  390  	imx_platform_flag = of_device_get_match_data(&pdev->dev);
1530280084c390 drivers/usb/chipidea/ci13xxx_imx.c Richard Zhao        2012-07-07  391  
1530280084c390 drivers/usb/chipidea/ci13xxx_imx.c Richard Zhao        2012-07-07  392  	data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL);
73529828cf896d drivers/usb/chipidea/ci_hdrc_imx.c Fabio Estevam       2014-11-26  393  	if (!data)
1530280084c390 drivers/usb/chipidea/ci13xxx_imx.c Richard Zhao        2012-07-07  394  		return -ENOMEM;
1530280084c390 drivers/usb/chipidea/ci13xxx_imx.c Richard Zhao        2012-07-07  395  
d1609c312d42f3 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2019-04-28  396  	data->plat_data = imx_platform_flag;
d1609c312d42f3 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2019-04-28  397  	pdata.flags |= imx_platform_flag->flags;
ae3e57ae26cdcc drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2015-09-16  398  	platform_set_drvdata(pdev, data);
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  399  	data->usbmisc_data = usbmisc_get_init_data(dev);
05986ba9b025ae drivers/usb/chipidea/ci_hdrc_imx.c Sascha Hauer        2013-08-14  400  	if (IS_ERR(data->usbmisc_data))
05986ba9b025ae drivers/usb/chipidea/ci_hdrc_imx.c Sascha Hauer        2013-08-14  401  		return PTR_ERR(data->usbmisc_data);
05986ba9b025ae drivers/usb/chipidea/ci_hdrc_imx.c Sascha Hauer        2013-08-14  402  
8ff396fe56f559 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2019-01-17  403  	if ((of_usb_get_phy_mode(dev->of_node) == USBPHY_INTERFACE_MODE_HSIC)
8ff396fe56f559 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2019-01-17  404  		&& data->usbmisc_data) {
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  405  		pdata.flags |= CI_HDRC_IMX_IS_HSIC;
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  406  		data->usbmisc_data->hsic = 1;
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  407  		data->pinctrl = devm_pinctrl_get(dev);
3f4aad6e1a4c26 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2019-10-10  408  		if (PTR_ERR(data->pinctrl) == -ENODEV)
3f4aad6e1a4c26 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2019-10-10  409  			data->pinctrl = NULL;
74adad500346fb drivers/usb/chipidea/ci_hdrc_imx.c Joe Hattori         2024-12-16  410  		else if (IS_ERR(data->pinctrl)) {
74adad500346fb drivers/usb/chipidea/ci_hdrc_imx.c Joe Hattori         2024-12-16  411  			ret = dev_err_probe(dev, PTR_ERR(data->pinctrl),
18171cfc3c236a drivers/usb/chipidea/ci_hdrc_imx.c Alexander Stein     2022-06-14  412  					     "pinctrl get failed\n");
74adad500346fb drivers/usb/chipidea/ci_hdrc_imx.c Joe Hattori         2024-12-16  413  			goto err_put;
74adad500346fb drivers/usb/chipidea/ci_hdrc_imx.c Joe Hattori         2024-12-16  414  		}
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  415  
4d6141288c33b7 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2019-10-10  416  		data->hsic_pad_regulator =
4d6141288c33b7 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2019-10-10  417  				devm_regulator_get_optional(dev, "hsic");
4d6141288c33b7 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2019-10-10  418  		if (PTR_ERR(data->hsic_pad_regulator) == -ENODEV) {
9c3959bb4cbf2b drivers/usb/chipidea/ci_hdrc_imx.c Jonathan Neuschäfer 2022-11-04  419  			/* no pad regulator is needed */
4d6141288c33b7 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2019-10-10  420  			data->hsic_pad_regulator = NULL;
74adad500346fb drivers/usb/chipidea/ci_hdrc_imx.c Joe Hattori         2024-12-16  421  		} else if (IS_ERR(data->hsic_pad_regulator)) {
74adad500346fb drivers/usb/chipidea/ci_hdrc_imx.c Joe Hattori         2024-12-16  422  			ret = dev_err_probe(dev, PTR_ERR(data->hsic_pad_regulator),
18171cfc3c236a drivers/usb/chipidea/ci_hdrc_imx.c Alexander Stein     2022-06-14  423  					     "Get HSIC pad regulator error\n");
74adad500346fb drivers/usb/chipidea/ci_hdrc_imx.c Joe Hattori         2024-12-16  424  			goto err_put;
74adad500346fb drivers/usb/chipidea/ci_hdrc_imx.c Joe Hattori         2024-12-16  425  		}
4d6141288c33b7 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2019-10-10  426  
4d6141288c33b7 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2019-10-10  427  		if (data->hsic_pad_regulator) {
4d6141288c33b7 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2019-10-10  428  			ret = regulator_enable(data->hsic_pad_regulator);
4d6141288c33b7 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2019-10-10  429  			if (ret) {
4d6141288c33b7 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2019-10-10  430  				dev_err(dev,
4d6141288c33b7 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2019-10-10  431  					"Failed to enable HSIC pad regulator\n");
74adad500346fb drivers/usb/chipidea/ci_hdrc_imx.c Joe Hattori         2024-12-16  432  				goto err_put;
4d6141288c33b7 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2019-10-10  433  			}
8cab0e9a3f3e8d drivers/usb/chipidea/ci_hdrc_imx.c Fedor Pchelkin      2025-03-16  434  			ret = devm_add_action_or_reset(dev,
8cab0e9a3f3e8d drivers/usb/chipidea/ci_hdrc_imx.c Fedor Pchelkin      2025-03-16  435  					ci_hdrc_imx_disable_regulator, data);
8cab0e9a3f3e8d drivers/usb/chipidea/ci_hdrc_imx.c Fedor Pchelkin      2025-03-16  436  			if (ret) {
8cab0e9a3f3e8d drivers/usb/chipidea/ci_hdrc_imx.c Fedor Pchelkin      2025-03-16  437  				dev_err(dev,
8cab0e9a3f3e8d drivers/usb/chipidea/ci_hdrc_imx.c Fedor Pchelkin      2025-03-16  438  					"Failed to add regulator devm action\n");
8cab0e9a3f3e8d drivers/usb/chipidea/ci_hdrc_imx.c Fedor Pchelkin      2025-03-16  439  				goto err_put;
8cab0e9a3f3e8d drivers/usb/chipidea/ci_hdrc_imx.c Fedor Pchelkin      2025-03-16  440  			}
4d6141288c33b7 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2019-10-10  441  		}
4d6141288c33b7 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2019-10-10  442  	}
4d6141288c33b7 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2019-10-10  443  
4d6141288c33b7 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2019-10-10  444  	/* HSIC pinctrl handling */
4d6141288c33b7 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2019-10-10  445  	if (data->pinctrl) {
4d6141288c33b7 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2019-10-10  446  		struct pinctrl_state *pinctrl_hsic_idle;
4d6141288c33b7 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2019-10-10  447  
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  448  		pinctrl_hsic_idle = pinctrl_lookup_state(data->pinctrl, "idle");
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  449  		if (IS_ERR(pinctrl_hsic_idle)) {
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  450  			dev_err(dev,
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  451  				"pinctrl_hsic_idle lookup failed, err=%ld\n",
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  452  					PTR_ERR(pinctrl_hsic_idle));
74adad500346fb drivers/usb/chipidea/ci_hdrc_imx.c Joe Hattori         2024-12-16  453  			ret = PTR_ERR(pinctrl_hsic_idle);
74adad500346fb drivers/usb/chipidea/ci_hdrc_imx.c Joe Hattori         2024-12-16  454  			goto err_put;
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  455  		}
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  456  
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  457  		ret = pinctrl_select_state(data->pinctrl, pinctrl_hsic_idle);
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  458  		if (ret) {
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  459  			dev_err(dev, "hsic_idle select failed, err=%d\n", ret);
74adad500346fb drivers/usb/chipidea/ci_hdrc_imx.c Joe Hattori         2024-12-16  460  			goto err_put;
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  461  		}
1530280084c390 drivers/usb/chipidea/ci13xxx_imx.c Richard Zhao        2012-07-07  462  
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  463  		data->pinctrl_hsic_active = pinctrl_lookup_state(data->pinctrl,
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  464  								"active");
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  465  		if (IS_ERR(data->pinctrl_hsic_active)) {
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  466  			dev_err(dev,
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  467  				"pinctrl_hsic_active lookup failed, err=%ld\n",
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  468  					PTR_ERR(data->pinctrl_hsic_active));
74adad500346fb drivers/usb/chipidea/ci_hdrc_imx.c Joe Hattori         2024-12-16  469  			ret = PTR_ERR(data->pinctrl_hsic_active);
74adad500346fb drivers/usb/chipidea/ci_hdrc_imx.c Joe Hattori         2024-12-16  470  			goto err_put;
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  471  		}
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  472  	}
d1609c312d42f3 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2019-04-28  473  
d1609c312d42f3 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2019-04-28  474  	if (pdata.flags & CI_HDRC_PMQOS)
77b352456941e8 drivers/usb/chipidea/ci_hdrc_imx.c Rafael J. Wysocki   2020-02-12  475  		cpu_latency_qos_add_request(&data->pm_qos_req, 0);
d1609c312d42f3 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2019-04-28  476  
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  477  	ret = imx_get_clks(dev);
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  478  	if (ret)
8cab0e9a3f3e8d drivers/usb/chipidea/ci_hdrc_imx.c Fedor Pchelkin      2025-03-16  479  		goto qos_remove_request;
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  480  
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  481  	ret = imx_prepare_enable_clks(dev);
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  482  	if (ret)
8cab0e9a3f3e8d drivers/usb/chipidea/ci_hdrc_imx.c Fedor Pchelkin      2025-03-16  483  		goto qos_remove_request;
1530280084c390 drivers/usb/chipidea/ci13xxx_imx.c Richard Zhao        2012-07-07  484  
5dbe9ac28355fd drivers/usb/chipidea/ci_hdrc_imx.c Xu Yang             2023-12-28  485  	ret = clk_prepare_enable(data->clk_wakeup);
5dbe9ac28355fd drivers/usb/chipidea/ci_hdrc_imx.c Xu Yang             2023-12-28  486  	if (ret)
5dbe9ac28355fd drivers/usb/chipidea/ci_hdrc_imx.c Xu Yang             2023-12-28  487  		goto err_wakeup_clk;
5dbe9ac28355fd drivers/usb/chipidea/ci_hdrc_imx.c Xu Yang             2023-12-28  488  
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  489  	data->phy = devm_usb_get_phy_by_phandle(dev, "fsl,usbphy", 0);
af59a8b120d189 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2013-09-24  490  	if (IS_ERR(data->phy)) {
af59a8b120d189 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2013-09-24  491  		ret = PTR_ERR(data->phy);
3a1bd0494352bd drivers/usb/chipidea/ci_hdrc_imx.c Alexander Stein     2023-01-30  492  		if (ret != -ENODEV) {
3a1bd0494352bd drivers/usb/chipidea/ci_hdrc_imx.c Alexander Stein     2023-01-30  493  			dev_err_probe(dev, ret, "Failed to parse fsl,usbphy\n");
d4d2e5329ae9df drivers/usb/chipidea/ci_hdrc_imx.c Dan Carpenter       2021-11-17  494  			goto err_clk;
3a1bd0494352bd drivers/usb/chipidea/ci_hdrc_imx.c Alexander Stein     2023-01-30  495  		}
8253a34bfae327 drivers/usb/chipidea/ci_hdrc_imx.c Fabio Estevam       2021-09-21  496  		data->phy = devm_usb_get_phy_by_phandle(dev, "phys", 0);
8253a34bfae327 drivers/usb/chipidea/ci_hdrc_imx.c Fabio Estevam       2021-09-21  497  		if (IS_ERR(data->phy)) {
8253a34bfae327 drivers/usb/chipidea/ci_hdrc_imx.c Fabio Estevam       2021-09-21  498  			ret = PTR_ERR(data->phy);
3a1bd0494352bd drivers/usb/chipidea/ci_hdrc_imx.c Alexander Stein     2023-01-30  499  			if (ret == -ENODEV) {
ed5a419bb0195c drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2019-05-07  500  				data->phy = NULL;
3a1bd0494352bd drivers/usb/chipidea/ci_hdrc_imx.c Alexander Stein     2023-01-30  501  			} else {
3a1bd0494352bd drivers/usb/chipidea/ci_hdrc_imx.c Alexander Stein     2023-01-30  502  				dev_err_probe(dev, ret, "Failed to parse phys\n");
ea1418b5f1a394 drivers/usb/chipidea/ci13xxx_imx.c Sascha Hauer        2013-06-13  503  				goto err_clk;
1530280084c390 drivers/usb/chipidea/ci13xxx_imx.c Richard Zhao        2012-07-07  504  			}
8253a34bfae327 drivers/usb/chipidea/ci_hdrc_imx.c Fabio Estevam       2021-09-21  505  		}
3a1bd0494352bd drivers/usb/chipidea/ci_hdrc_imx.c Alexander Stein     2023-01-30  506  	}
1530280084c390 drivers/usb/chipidea/ci13xxx_imx.c Richard Zhao        2012-07-07  507  
ef44cb4226d132 drivers/usb/chipidea/ci_hdrc_imx.c Antoine Tenart      2014-10-30  508  	pdata.usb_phy = data->phy;
746f316b753a83 drivers/usb/chipidea/ci_hdrc_imx.c Jun Li              2020-01-23  509  	if (data->usbmisc_data)
746f316b753a83 drivers/usb/chipidea/ci_hdrc_imx.c Jun Li              2020-01-23  510  		data->usbmisc_data->usb_phy = data->phy;
be9cae2479f48d drivers/usb/chipidea/ci_hdrc_imx.c Sebastian Reichel   2018-03-29  511  
03e6275ae38108 drivers/usb/chipidea/ci_hdrc_imx.c Andrey Smirnov      2018-05-30  512  	if ((of_device_is_compatible(np, "fsl,imx53-usb") ||
03e6275ae38108 drivers/usb/chipidea/ci_hdrc_imx.c Andrey Smirnov      2018-05-30  513  	     of_device_is_compatible(np, "fsl,imx51-usb")) && pdata.usb_phy &&
be9cae2479f48d drivers/usb/chipidea/ci_hdrc_imx.c Sebastian Reichel   2018-03-29  514  	    of_usb_get_phy_mode(np) == USBPHY_INTERFACE_MODE_ULPI) {
be9cae2479f48d drivers/usb/chipidea/ci_hdrc_imx.c Sebastian Reichel   2018-03-29  515  		pdata.flags |= CI_HDRC_OVERRIDE_PHY_CONTROL;
be9cae2479f48d drivers/usb/chipidea/ci_hdrc_imx.c Sebastian Reichel   2018-03-29  516  		data->override_phy_control = true;
8c531e0a8c2d82 drivers/usb/chipidea/ci_hdrc_imx.c Fedor Pchelkin      2025-03-16  517  		ret = usb_phy_init(pdata.usb_phy);
8c531e0a8c2d82 drivers/usb/chipidea/ci_hdrc_imx.c Fedor Pchelkin      2025-03-16  518  		if (ret) {
8c531e0a8c2d82 drivers/usb/chipidea/ci_hdrc_imx.c Fedor Pchelkin      2025-03-16  519  			dev_err(dev, "Failed to init phy\n");
8c531e0a8c2d82 drivers/usb/chipidea/ci_hdrc_imx.c Fedor Pchelkin      2025-03-16  520  			goto err_clk;
8c531e0a8c2d82 drivers/usb/chipidea/ci_hdrc_imx.c Fedor Pchelkin      2025-03-16  521  		}
be9cae2479f48d drivers/usb/chipidea/ci_hdrc_imx.c Sebastian Reichel   2018-03-29  522  	}
be9cae2479f48d drivers/usb/chipidea/ci_hdrc_imx.c Sebastian Reichel   2018-03-29  523  
e14db48dfcf3ab drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2015-02-11  524  	if (pdata.flags & CI_HDRC_SUPPORTS_RUNTIME_PM)
e14db48dfcf3ab drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2015-02-11  525  		data->supports_runtime_pm = true;
1071055e2a118a drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2014-01-10  526  
ee0dc2f7d52279 drivers/usb/chipidea/ci_hdrc_imx.c Xu Yang             2025-03-18  527  	data->wakeup_irq = platform_get_irq_optional(pdev, 1);
ee0dc2f7d52279 drivers/usb/chipidea/ci_hdrc_imx.c Xu Yang             2025-03-18  528  	if (data->wakeup_irq > 0) {
2e9762f45efb53 drivers/usb/chipidea/ci_hdrc_imx.c Xu Yang             2026-01-12  529  		irq_name = devm_kasprintf(dev, GFP_KERNEL, "%s:wakeup", pdata.name);
2e9762f45efb53 drivers/usb/chipidea/ci_hdrc_imx.c Xu Yang             2026-01-12  530  		if (!irq_name) {
2e9762f45efb53 drivers/usb/chipidea/ci_hdrc_imx.c Xu Yang             2026-01-12  531  			dev_err_probe(dev, -ENOMEM, "failed to create irq_name\n");
2e9762f45efb53 drivers/usb/chipidea/ci_hdrc_imx.c Xu Yang             2026-01-12 @532  			goto err_clk;
2e9762f45efb53 drivers/usb/chipidea/ci_hdrc_imx.c Xu Yang             2026-01-12  533  		}
2e9762f45efb53 drivers/usb/chipidea/ci_hdrc_imx.c Xu Yang             2026-01-12  534  
ee0dc2f7d52279 drivers/usb/chipidea/ci_hdrc_imx.c Xu Yang             2025-03-18  535  		ret = devm_request_threaded_irq(dev, data->wakeup_irq,
ee0dc2f7d52279 drivers/usb/chipidea/ci_hdrc_imx.c Xu Yang             2025-03-18  536  						NULL, ci_wakeup_irq_handler,
ee0dc2f7d52279 drivers/usb/chipidea/ci_hdrc_imx.c Xu Yang             2025-03-18  537  						IRQF_ONESHOT | IRQF_NO_AUTOEN,
2e9762f45efb53 drivers/usb/chipidea/ci_hdrc_imx.c Xu Yang             2026-01-12  538  						irq_name, data);
ee0dc2f7d52279 drivers/usb/chipidea/ci_hdrc_imx.c Xu Yang             2025-03-18  539  		if (ret)
ee0dc2f7d52279 drivers/usb/chipidea/ci_hdrc_imx.c Xu Yang             2025-03-18  540  			goto err_clk;
ee0dc2f7d52279 drivers/usb/chipidea/ci_hdrc_imx.c Xu Yang             2025-03-18  541  	}
ee0dc2f7d52279 drivers/usb/chipidea/ci_hdrc_imx.c Xu Yang             2025-03-18  542  
05986ba9b025ae drivers/usb/chipidea/ci_hdrc_imx.c Sascha Hauer        2013-08-14  543  	ret = imx_usbmisc_init(data->usbmisc_data);
d142d6be231713 drivers/usb/chipidea/ci13xxx_imx.c Richard Zhao        2012-09-12  544  	if (ret) {
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  545  		dev_err(dev, "usbmisc init failed, ret=%d\n", ret);
8c531e0a8c2d82 drivers/usb/chipidea/ci_hdrc_imx.c Fedor Pchelkin      2025-03-16  546  		goto phy_shutdown;
d142d6be231713 drivers/usb/chipidea/ci13xxx_imx.c Richard Zhao        2012-09-12  547  	}
d142d6be231713 drivers/usb/chipidea/ci13xxx_imx.c Richard Zhao        2012-09-12  548  
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  549  	data->ci_pdev = ci_hdrc_add_device(dev,
1530280084c390 drivers/usb/chipidea/ci13xxx_imx.c Richard Zhao        2012-07-07  550  				pdev->resource, pdev->num_resources,
f6a3b3a37c4772 drivers/usb/chipidea/ci13xxx_imx.c Michael Grzeschik   2013-06-13  551  				&pdata);
770719df7b2cee drivers/usb/chipidea/ci13xxx_imx.c Fabio Estevam       2013-06-13  552  	if (IS_ERR(data->ci_pdev)) {
770719df7b2cee drivers/usb/chipidea/ci13xxx_imx.c Fabio Estevam       2013-06-13  553  		ret = PTR_ERR(data->ci_pdev);
18171cfc3c236a drivers/usb/chipidea/ci_hdrc_imx.c Alexander Stein     2022-06-14  554  		dev_err_probe(dev, ret, "ci_hdrc_add_device failed\n");
8c531e0a8c2d82 drivers/usb/chipidea/ci_hdrc_imx.c Fedor Pchelkin      2025-03-16  555  		goto phy_shutdown;
1530280084c390 drivers/usb/chipidea/ci13xxx_imx.c Richard Zhao        2012-07-07  556  	}
1530280084c390 drivers/usb/chipidea/ci13xxx_imx.c Richard Zhao        2012-07-07  557  
df17aa9fb31f6a drivers/usb/chipidea/ci_hdrc_imx.c Li Jun              2019-10-09  558  	if (data->usbmisc_data) {
93c2c7330a3b6d drivers/usb/chipidea/ci_hdrc_imx.c Li Jun              2019-09-09  559  		if (!IS_ERR(pdata.id_extcon.edev) ||
93c2c7330a3b6d drivers/usb/chipidea/ci_hdrc_imx.c Li Jun              2019-09-09  560  		    of_property_read_bool(np, "usb-role-switch"))
93c2c7330a3b6d drivers/usb/chipidea/ci_hdrc_imx.c Li Jun              2019-09-09  561  			data->usbmisc_data->ext_id = 1;
93c2c7330a3b6d drivers/usb/chipidea/ci_hdrc_imx.c Li Jun              2019-09-09  562  
93c2c7330a3b6d drivers/usb/chipidea/ci_hdrc_imx.c Li Jun              2019-09-09  563  		if (!IS_ERR(pdata.vbus_extcon.edev) ||
93c2c7330a3b6d drivers/usb/chipidea/ci_hdrc_imx.c Li Jun              2019-09-09  564  		    of_property_read_bool(np, "usb-role-switch"))
93c2c7330a3b6d drivers/usb/chipidea/ci_hdrc_imx.c Li Jun              2019-09-09  565  			data->usbmisc_data->ext_vbus = 1;
d6f93d21001e43 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2020-07-28  566  
d6f93d21001e43 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2020-07-28  567  		/* usbmisc needs to know dr mode to choose wakeup setting */
d6f93d21001e43 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2020-07-28  568  		data->usbmisc_data->available_role =
d6f93d21001e43 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2020-07-28  569  			ci_hdrc_query_available_role(data->ci_pdev);
df17aa9fb31f6a drivers/usb/chipidea/ci_hdrc_imx.c Li Jun              2019-10-09  570  	}
93c2c7330a3b6d drivers/usb/chipidea/ci_hdrc_imx.c Li Jun              2019-09-09  571  
05986ba9b025ae drivers/usb/chipidea/ci_hdrc_imx.c Sascha Hauer        2013-08-14  572  	ret = imx_usbmisc_init_post(data->usbmisc_data);
a068533079a0a1 drivers/usb/chipidea/ci13xxx_imx.c Michael Grzeschik   2013-03-30  573  	if (ret) {
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  574  		dev_err(dev, "usbmisc post failed, ret=%d\n", ret);
770719df7b2cee drivers/usb/chipidea/ci13xxx_imx.c Fabio Estevam       2013-06-13  575  		goto disable_device;
a068533079a0a1 drivers/usb/chipidea/ci13xxx_imx.c Michael Grzeschik   2013-03-30  576  	}
a068533079a0a1 drivers/usb/chipidea/ci13xxx_imx.c Michael Grzeschik   2013-03-30  577  
e14db48dfcf3ab drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2015-02-11  578  	if (data->supports_runtime_pm) {
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  579  		pm_runtime_set_active(dev);
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  580  		pm_runtime_enable(dev);
e14db48dfcf3ab drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2015-02-11  581  	}
1530280084c390 drivers/usb/chipidea/ci13xxx_imx.c Richard Zhao        2012-07-07  582  
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  583  	device_set_wakeup_capable(dev, true);
6d6531104d2069 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2015-02-11  584  
1530280084c390 drivers/usb/chipidea/ci13xxx_imx.c Richard Zhao        2012-07-07  585  	return 0;
1530280084c390 drivers/usb/chipidea/ci13xxx_imx.c Richard Zhao        2012-07-07  586  
770719df7b2cee drivers/usb/chipidea/ci13xxx_imx.c Fabio Estevam       2013-06-13  587  disable_device:
8e22978c57087a drivers/usb/chipidea/ci_hdrc_imx.c Alexander Shishkin  2013-06-24  588  	ci_hdrc_remove_device(data->ci_pdev);
8c531e0a8c2d82 drivers/usb/chipidea/ci_hdrc_imx.c Fedor Pchelkin      2025-03-16  589  phy_shutdown:
8c531e0a8c2d82 drivers/usb/chipidea/ci_hdrc_imx.c Fedor Pchelkin      2025-03-16  590  	if (data->override_phy_control)
8c531e0a8c2d82 drivers/usb/chipidea/ci_hdrc_imx.c Fedor Pchelkin      2025-03-16  591  		usb_phy_shutdown(data->phy);
ea1418b5f1a394 drivers/usb/chipidea/ci13xxx_imx.c Sascha Hauer        2013-06-13  592  err_clk:
5dbe9ac28355fd drivers/usb/chipidea/ci_hdrc_imx.c Xu Yang             2023-12-28  593  	clk_disable_unprepare(data->clk_wakeup);
5dbe9ac28355fd drivers/usb/chipidea/ci_hdrc_imx.c Xu Yang             2023-12-28  594  err_wakeup_clk:
7c8e8909417eb6 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2018-10-16  595  	imx_disable_unprepare_clks(dev);
8cab0e9a3f3e8d drivers/usb/chipidea/ci_hdrc_imx.c Fedor Pchelkin      2025-03-16  596  qos_remove_request:
d1609c312d42f3 drivers/usb/chipidea/ci_hdrc_imx.c Peter Chen          2019-04-28  597  	if (pdata.flags & CI_HDRC_PMQOS)
77b352456941e8 drivers/usb/chipidea/ci_hdrc_imx.c Rafael J. Wysocki   2020-02-12  598  		cpu_latency_qos_remove_request(&data->pm_qos_req);
141822aa3f79ef drivers/usb/chipidea/ci_hdrc_imx.c André Draszik       2019-08-10  599  	data->ci_pdev = NULL;
74adad500346fb drivers/usb/chipidea/ci_hdrc_imx.c Joe Hattori         2024-12-16  600  err_put:
4e28f79e3dffa5 drivers/usb/chipidea/ci_hdrc_imx.c Fedor Pchelkin      2025-03-16  601  	if (data->usbmisc_data)
74adad500346fb drivers/usb/chipidea/ci_hdrc_imx.c Joe Hattori         2024-12-16  602  		put_device(data->usbmisc_data->dev);
1530280084c390 drivers/usb/chipidea/ci13xxx_imx.c Richard Zhao        2012-07-07  603  	return ret;
1530280084c390 drivers/usb/chipidea/ci13xxx_imx.c Richard Zhao        2012-07-07  604  }
1530280084c390 drivers/usb/chipidea/ci13xxx_imx.c Richard Zhao        2012-07-07  605  

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.