All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Vladimir Oltean <vladimir.oltean@nxp.com>
Cc: oe-kbuild-all@lists.linux.dev, Vinod Koul <vkoul@kernel.org>,
	Kishon <kishon@ti.com>, Dmitry Baryshkov <lumag@kernel.org>
Subject: [phy:phy_7.2 26/27] drivers/usb/dwc3/dwc3-imx.c:74:3: error: implicit declaration of function 'device_property_read_bool'; did you mean 'device_store_bool'?
Date: Thu, 30 Apr 2026 16:38:21 +0800	[thread overview]
Message-ID: <202604301628.FO3dQRui-lkp@intel.com> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy.git phy_7.2
head:   d097a6ebab1ffe9286cca190fe74d51b01d80dc3
commit: 9ed7a91a68cbba256d1a53c353bf6c62c7e056f0 [26/27] phy: remove temporary provider compatibility from consumer header
config: arm-randconfig-001 (https://download.01.org/0day-ci/archive/20260430/202604301628.FO3dQRui-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 8.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260430/202604301628.FO3dQRui-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/202604301628.FO3dQRui-lkp@intel.com/

All error/warnings (new ones prefixed by >>):

   drivers/usb/dwc3/dwc3-imx.c: In function 'dwc3_imx_get_property':
>> drivers/usb/dwc3/dwc3-imx.c:74:3: error: implicit declaration of function 'device_property_read_bool'; did you mean 'device_store_bool'? [-Werror=implicit-function-declaration]
      device_property_read_bool(dev, "fsl,permanently-attached");
      ^~~~~~~~~~~~~~~~~~~~~~~~~
      device_store_bool
   drivers/usb/dwc3/dwc3-imx.c: At top level:
>> drivers/usb/dwc3/dwc3-imx.c:184:36: error: array type has incomplete element type 'struct property_entry'
    static const struct property_entry dwc3_imx_properties[] = {
                                       ^~~~~~~~~~~~~~~~~~~
>> drivers/usb/dwc3/dwc3-imx.c:185:2: error: implicit declaration of function 'PROPERTY_ENTRY_BOOL' [-Werror=implicit-function-declaration]
     PROPERTY_ENTRY_BOOL("xhci-missing-cas-quirk"),
     ^~~~~~~~~~~~~~~~~~~
>> drivers/usb/dwc3/dwc3-imx.c:190:21: error: variable 'dwc3_imx_swnode' has initializer but incomplete type
    static const struct software_node dwc3_imx_swnode = {
                        ^~~~~~~~~~~~~
>> drivers/usb/dwc3/dwc3-imx.c:191:3: error: 'const struct software_node' has no member named 'properties'
     .properties = dwc3_imx_properties,
      ^~~~~~~~~~
>> drivers/usb/dwc3/dwc3-imx.c:191:16: warning: excess elements in struct initializer
     .properties = dwc3_imx_properties,
                   ^~~~~~~~~~~~~~~~~~~
   drivers/usb/dwc3/dwc3-imx.c:191:16: note: (near initialization for 'dwc3_imx_swnode')
   drivers/usb/dwc3/dwc3-imx.c: In function 'dwc3_imx_probe':
>> drivers/usb/dwc3/dwc3-imx.c:255:8: error: implicit declaration of function 'device_add_software_node'; did you mean 'device_add_of_node'? [-Werror=implicit-function-declaration]
     ret = device_add_software_node(dev, &dwc3_imx_swnode);
           ^~~~~~~~~~~~~~~~~~~~~~~~
           device_add_of_node
>> drivers/usb/dwc3/dwc3-imx.c:272:3: error: implicit declaration of function 'device_remove_software_node'; did you mean 'device_remove_of_node'? [-Werror=implicit-function-declaration]
      device_remove_software_node(dev);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      device_remove_of_node
   drivers/usb/dwc3/dwc3-imx.c: At top level:
>> drivers/usb/dwc3/dwc3-imx.c:190:35: error: storage size of 'dwc3_imx_swnode' isn't known
    static const struct software_node dwc3_imx_swnode = {
                                      ^~~~~~~~~~~~~~~
>> drivers/usb/dwc3/dwc3-imx.c:184:36: warning: 'dwc3_imx_properties' defined but not used [-Wunused-variable]
    static const struct property_entry dwc3_imx_properties[] = {
                                       ^~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +74 drivers/usb/dwc3/dwc3-imx.c

76fc9452a6bfb6 Xu Yang 2026-02-12   68  
76fc9452a6bfb6 Xu Yang 2026-02-12   69  static void dwc3_imx_get_property(struct dwc3_imx *dwc_imx)
76fc9452a6bfb6 Xu Yang 2026-02-12   70  {
76fc9452a6bfb6 Xu Yang 2026-02-12   71  	struct device	*dev = dwc_imx->dev;
76fc9452a6bfb6 Xu Yang 2026-02-12   72  
76fc9452a6bfb6 Xu Yang 2026-02-12   73  	dwc_imx->permanent_attached =
76fc9452a6bfb6 Xu Yang 2026-02-12  @74  		device_property_read_bool(dev, "fsl,permanently-attached");
76fc9452a6bfb6 Xu Yang 2026-02-12   75  	dwc_imx->disable_pwr_ctrl =
76fc9452a6bfb6 Xu Yang 2026-02-12   76  		device_property_read_bool(dev, "fsl,disable-port-power-control");
76fc9452a6bfb6 Xu Yang 2026-02-12   77  	dwc_imx->overcur_active_low =
76fc9452a6bfb6 Xu Yang 2026-02-12   78  		device_property_read_bool(dev, "fsl,over-current-active-low");
76fc9452a6bfb6 Xu Yang 2026-02-12   79  	dwc_imx->power_active_low =
76fc9452a6bfb6 Xu Yang 2026-02-12   80  		device_property_read_bool(dev, "fsl,power-active-low");
76fc9452a6bfb6 Xu Yang 2026-02-12   81  }
76fc9452a6bfb6 Xu Yang 2026-02-12   82  
76fc9452a6bfb6 Xu Yang 2026-02-12   83  static void dwc3_imx_configure_glue(struct dwc3_imx *dwc_imx)
76fc9452a6bfb6 Xu Yang 2026-02-12   84  {
76fc9452a6bfb6 Xu Yang 2026-02-12   85  	u32		value;
76fc9452a6bfb6 Xu Yang 2026-02-12   86  
76fc9452a6bfb6 Xu Yang 2026-02-12   87  	if (!dwc_imx->glue_base)
76fc9452a6bfb6 Xu Yang 2026-02-12   88  		return;
76fc9452a6bfb6 Xu Yang 2026-02-12   89  
76fc9452a6bfb6 Xu Yang 2026-02-12   90  	value = readl(dwc_imx->glue_base + USB_CTRL0);
76fc9452a6bfb6 Xu Yang 2026-02-12   91  
76fc9452a6bfb6 Xu Yang 2026-02-12   92  	if (dwc_imx->permanent_attached)
76fc9452a6bfb6 Xu Yang 2026-02-12   93  		value |= USB_CTRL0_USB2_FIXED | USB_CTRL0_USB3_FIXED;
76fc9452a6bfb6 Xu Yang 2026-02-12   94  	else
76fc9452a6bfb6 Xu Yang 2026-02-12   95  		value &= ~(USB_CTRL0_USB2_FIXED | USB_CTRL0_USB3_FIXED);
76fc9452a6bfb6 Xu Yang 2026-02-12   96  
76fc9452a6bfb6 Xu Yang 2026-02-12   97  	if (dwc_imx->disable_pwr_ctrl)
76fc9452a6bfb6 Xu Yang 2026-02-12   98  		value &= ~USB_CTRL0_PORTPWR_EN;
76fc9452a6bfb6 Xu Yang 2026-02-12   99  	else
76fc9452a6bfb6 Xu Yang 2026-02-12  100  		value |= USB_CTRL0_PORTPWR_EN;
76fc9452a6bfb6 Xu Yang 2026-02-12  101  
76fc9452a6bfb6 Xu Yang 2026-02-12  102  	writel(value, dwc_imx->glue_base + USB_CTRL0);
76fc9452a6bfb6 Xu Yang 2026-02-12  103  
76fc9452a6bfb6 Xu Yang 2026-02-12  104  	value = readl(dwc_imx->glue_base + USB_CTRL1);
76fc9452a6bfb6 Xu Yang 2026-02-12  105  	if (dwc_imx->overcur_active_low)
76fc9452a6bfb6 Xu Yang 2026-02-12  106  		value |= USB_CTRL1_OC_POLARITY;
76fc9452a6bfb6 Xu Yang 2026-02-12  107  	else
76fc9452a6bfb6 Xu Yang 2026-02-12  108  		value &= ~USB_CTRL1_OC_POLARITY;
76fc9452a6bfb6 Xu Yang 2026-02-12  109  
76fc9452a6bfb6 Xu Yang 2026-02-12  110  	if (dwc_imx->power_active_low)
76fc9452a6bfb6 Xu Yang 2026-02-12  111  		value |= USB_CTRL1_PWR_POLARITY;
76fc9452a6bfb6 Xu Yang 2026-02-12  112  	else
76fc9452a6bfb6 Xu Yang 2026-02-12  113  		value &= ~USB_CTRL1_PWR_POLARITY;
76fc9452a6bfb6 Xu Yang 2026-02-12  114  
76fc9452a6bfb6 Xu Yang 2026-02-12  115  	writel(value, dwc_imx->glue_base + USB_CTRL1);
76fc9452a6bfb6 Xu Yang 2026-02-12  116  }
76fc9452a6bfb6 Xu Yang 2026-02-12  117  
76fc9452a6bfb6 Xu Yang 2026-02-12  118  static void dwc3_imx_wakeup_enable(struct dwc3_imx *dwc_imx, pm_message_t msg)
76fc9452a6bfb6 Xu Yang 2026-02-12  119  {
76fc9452a6bfb6 Xu Yang 2026-02-12  120  	struct dwc3	*dwc = &dwc_imx->dwc;
76fc9452a6bfb6 Xu Yang 2026-02-12  121  	u32		val;
76fc9452a6bfb6 Xu Yang 2026-02-12  122  
76fc9452a6bfb6 Xu Yang 2026-02-12  123  	val = readl(dwc_imx->blkctl_base + USB_WAKEUP_CTRL);
76fc9452a6bfb6 Xu Yang 2026-02-12  124  
76fc9452a6bfb6 Xu Yang 2026-02-12  125  	if (dwc->current_dr_role == DWC3_GCTL_PRTCAP_HOST && dwc->xhci) {
76fc9452a6bfb6 Xu Yang 2026-02-12  126  		val |= USB_WAKEUP_EN | USB_WAKEUP_DPDM_EN;
76fc9452a6bfb6 Xu Yang 2026-02-12  127  		if (PMSG_IS_AUTO(msg))
76fc9452a6bfb6 Xu Yang 2026-02-12  128  			val |= USB_WAKEUP_SS_CONN | USB_WAKEUP_U3_EN;
76fc9452a6bfb6 Xu Yang 2026-02-12  129  	} else {
76fc9452a6bfb6 Xu Yang 2026-02-12  130  		val |= USB_WAKEUP_EN | USB_WAKEUP_VBUS_EN |
76fc9452a6bfb6 Xu Yang 2026-02-12  131  		       USB_WAKEUP_VBUS_SRC_SESS_VAL;
76fc9452a6bfb6 Xu Yang 2026-02-12  132  	}
76fc9452a6bfb6 Xu Yang 2026-02-12  133  
76fc9452a6bfb6 Xu Yang 2026-02-12  134  	writel(val, dwc_imx->blkctl_base + USB_WAKEUP_CTRL);
76fc9452a6bfb6 Xu Yang 2026-02-12  135  }
76fc9452a6bfb6 Xu Yang 2026-02-12  136  
76fc9452a6bfb6 Xu Yang 2026-02-12  137  static void dwc3_imx_wakeup_disable(struct dwc3_imx *dwc_imx)
76fc9452a6bfb6 Xu Yang 2026-02-12  138  {
76fc9452a6bfb6 Xu Yang 2026-02-12  139  	u32	val;
76fc9452a6bfb6 Xu Yang 2026-02-12  140  
76fc9452a6bfb6 Xu Yang 2026-02-12  141  	val = readl(dwc_imx->blkctl_base + USB_WAKEUP_CTRL);
76fc9452a6bfb6 Xu Yang 2026-02-12  142  	val &= ~(USB_WAKEUP_EN | USB_WAKEUP_EN_MASK);
76fc9452a6bfb6 Xu Yang 2026-02-12  143  	writel(val, dwc_imx->blkctl_base + USB_WAKEUP_CTRL);
76fc9452a6bfb6 Xu Yang 2026-02-12  144  }
76fc9452a6bfb6 Xu Yang 2026-02-12  145  
76fc9452a6bfb6 Xu Yang 2026-02-12  146  static irqreturn_t dwc3_imx_interrupt(int irq, void *data)
76fc9452a6bfb6 Xu Yang 2026-02-12  147  {
76fc9452a6bfb6 Xu Yang 2026-02-12  148  	struct dwc3_imx	*dwc_imx = data;
76fc9452a6bfb6 Xu Yang 2026-02-12  149  	struct dwc3	*dwc = &dwc_imx->dwc;
76fc9452a6bfb6 Xu Yang 2026-02-12  150  
76fc9452a6bfb6 Xu Yang 2026-02-12  151  	if (!dwc_imx->pm_suspended)
76fc9452a6bfb6 Xu Yang 2026-02-12  152  		return IRQ_HANDLED;
76fc9452a6bfb6 Xu Yang 2026-02-12  153  
76fc9452a6bfb6 Xu Yang 2026-02-12  154  	disable_irq_nosync(dwc_imx->irq);
76fc9452a6bfb6 Xu Yang 2026-02-12  155  	dwc_imx->wakeup_pending = true;
76fc9452a6bfb6 Xu Yang 2026-02-12  156  
76fc9452a6bfb6 Xu Yang 2026-02-12  157  	if (dwc->current_dr_role == DWC3_GCTL_PRTCAP_HOST && dwc->xhci)
76fc9452a6bfb6 Xu Yang 2026-02-12  158  		pm_runtime_resume(&dwc->xhci->dev);
76fc9452a6bfb6 Xu Yang 2026-02-12  159  	else if (dwc->current_dr_role == DWC3_GCTL_PRTCAP_DEVICE)
76fc9452a6bfb6 Xu Yang 2026-02-12  160  		pm_runtime_get(dwc->dev);
76fc9452a6bfb6 Xu Yang 2026-02-12  161  
76fc9452a6bfb6 Xu Yang 2026-02-12  162  	return IRQ_HANDLED;
76fc9452a6bfb6 Xu Yang 2026-02-12  163  }
76fc9452a6bfb6 Xu Yang 2026-02-12  164  
76fc9452a6bfb6 Xu Yang 2026-02-12  165  static void dwc3_imx_pre_set_role(struct dwc3 *dwc, enum usb_role role)
76fc9452a6bfb6 Xu Yang 2026-02-12  166  {
76fc9452a6bfb6 Xu Yang 2026-02-12  167  	if (role == USB_ROLE_HOST)
76fc9452a6bfb6 Xu Yang 2026-02-12  168  		/*
76fc9452a6bfb6 Xu Yang 2026-02-12  169  		 * For xhci host, we need disable dwc core auto
76fc9452a6bfb6 Xu Yang 2026-02-12  170  		 * suspend, because during this auto suspend delay(5s),
76fc9452a6bfb6 Xu Yang 2026-02-12  171  		 * xhci host RUN_STOP is cleared and wakeup is not
76fc9452a6bfb6 Xu Yang 2026-02-12  172  		 * enabled, if device is inserted, xhci host can't
76fc9452a6bfb6 Xu Yang 2026-02-12  173  		 * response the connection.
76fc9452a6bfb6 Xu Yang 2026-02-12  174  		 */
76fc9452a6bfb6 Xu Yang 2026-02-12  175  		pm_runtime_dont_use_autosuspend(dwc->dev);
76fc9452a6bfb6 Xu Yang 2026-02-12  176  	else
76fc9452a6bfb6 Xu Yang 2026-02-12  177  		pm_runtime_use_autosuspend(dwc->dev);
76fc9452a6bfb6 Xu Yang 2026-02-12  178  }
76fc9452a6bfb6 Xu Yang 2026-02-12  179  
76fc9452a6bfb6 Xu Yang 2026-02-12  180  static struct dwc3_glue_ops dwc3_imx_glue_ops = {
76fc9452a6bfb6 Xu Yang 2026-02-12  181  	.pre_set_role = dwc3_imx_pre_set_role,
76fc9452a6bfb6 Xu Yang 2026-02-12  182  };
76fc9452a6bfb6 Xu Yang 2026-02-12  183  
76fc9452a6bfb6 Xu Yang 2026-02-12 @184  static const struct property_entry dwc3_imx_properties[] = {
76fc9452a6bfb6 Xu Yang 2026-02-12 @185  	PROPERTY_ENTRY_BOOL("xhci-missing-cas-quirk"),
76fc9452a6bfb6 Xu Yang 2026-02-12  186  	PROPERTY_ENTRY_BOOL("xhci-skip-phy-init-quirk"),
76fc9452a6bfb6 Xu Yang 2026-02-12  187  	{},
76fc9452a6bfb6 Xu Yang 2026-02-12  188  };
76fc9452a6bfb6 Xu Yang 2026-02-12  189  
76fc9452a6bfb6 Xu Yang 2026-02-12 @190  static const struct software_node dwc3_imx_swnode = {
76fc9452a6bfb6 Xu Yang 2026-02-12 @191  	.properties = dwc3_imx_properties,
76fc9452a6bfb6 Xu Yang 2026-02-12  192  };
76fc9452a6bfb6 Xu Yang 2026-02-12  193  
76fc9452a6bfb6 Xu Yang 2026-02-12  194  static int dwc3_imx_probe(struct platform_device *pdev)
76fc9452a6bfb6 Xu Yang 2026-02-12  195  {
76fc9452a6bfb6 Xu Yang 2026-02-12  196  	struct device		*dev = &pdev->dev;
76fc9452a6bfb6 Xu Yang 2026-02-12  197  	struct dwc3_imx		*dwc_imx;
76fc9452a6bfb6 Xu Yang 2026-02-12  198  	struct dwc3		*dwc;
76fc9452a6bfb6 Xu Yang 2026-02-12  199  	struct resource		*res;
76fc9452a6bfb6 Xu Yang 2026-02-12  200  	const char		*irq_name;
76fc9452a6bfb6 Xu Yang 2026-02-12  201  	struct dwc3_probe_data	probe_data = {};
76fc9452a6bfb6 Xu Yang 2026-02-12  202  	int			ret, irq;
76fc9452a6bfb6 Xu Yang 2026-02-12  203  
76fc9452a6bfb6 Xu Yang 2026-02-12  204  	dwc_imx = devm_kzalloc(dev, sizeof(*dwc_imx), GFP_KERNEL);
76fc9452a6bfb6 Xu Yang 2026-02-12  205  	if (!dwc_imx)
76fc9452a6bfb6 Xu Yang 2026-02-12  206  		return -ENOMEM;
76fc9452a6bfb6 Xu Yang 2026-02-12  207  
76fc9452a6bfb6 Xu Yang 2026-02-12  208  	platform_set_drvdata(pdev, dwc_imx);
76fc9452a6bfb6 Xu Yang 2026-02-12  209  	dwc_imx->dev = dev;
76fc9452a6bfb6 Xu Yang 2026-02-12  210  
76fc9452a6bfb6 Xu Yang 2026-02-12  211  	dwc3_imx_get_property(dwc_imx);
76fc9452a6bfb6 Xu Yang 2026-02-12  212  
76fc9452a6bfb6 Xu Yang 2026-02-12  213  	dwc_imx->blkctl_base = devm_platform_ioremap_resource_byname(pdev, "blkctl");
76fc9452a6bfb6 Xu Yang 2026-02-12  214  	if (IS_ERR(dwc_imx->blkctl_base))
76fc9452a6bfb6 Xu Yang 2026-02-12  215  		return PTR_ERR(dwc_imx->blkctl_base);
76fc9452a6bfb6 Xu Yang 2026-02-12  216  
76fc9452a6bfb6 Xu Yang 2026-02-12  217  	res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "glue");
76fc9452a6bfb6 Xu Yang 2026-02-12  218  	if (!res) {
76fc9452a6bfb6 Xu Yang 2026-02-12  219  		dev_warn(dev, "Base address for glue layer missing\n");
76fc9452a6bfb6 Xu Yang 2026-02-12  220  	} else {
76fc9452a6bfb6 Xu Yang 2026-02-12  221  		dwc_imx->glue_base = devm_ioremap_resource(dev, res);
76fc9452a6bfb6 Xu Yang 2026-02-12  222  		if (IS_ERR(dwc_imx->glue_base))
76fc9452a6bfb6 Xu Yang 2026-02-12  223  			return PTR_ERR(dwc_imx->glue_base);
76fc9452a6bfb6 Xu Yang 2026-02-12  224  	}
76fc9452a6bfb6 Xu Yang 2026-02-12  225  
76fc9452a6bfb6 Xu Yang 2026-02-12  226  	res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "core");
76fc9452a6bfb6 Xu Yang 2026-02-12  227  	if (!res)
76fc9452a6bfb6 Xu Yang 2026-02-12  228  		return dev_err_probe(dev, -ENODEV, "missing core memory resource\n");
76fc9452a6bfb6 Xu Yang 2026-02-12  229  
76fc9452a6bfb6 Xu Yang 2026-02-12  230  	dwc_imx->hsio_clk = devm_clk_get_enabled(dev, "hsio");
76fc9452a6bfb6 Xu Yang 2026-02-12  231  	if (IS_ERR(dwc_imx->hsio_clk))
76fc9452a6bfb6 Xu Yang 2026-02-12  232  		return dev_err_probe(dev, PTR_ERR(dwc_imx->hsio_clk),
76fc9452a6bfb6 Xu Yang 2026-02-12  233  				     "Failed to get hsio clk\n");
76fc9452a6bfb6 Xu Yang 2026-02-12  234  
76fc9452a6bfb6 Xu Yang 2026-02-12  235  	dwc_imx->suspend_clk = devm_clk_get_enabled(dev, "suspend");
76fc9452a6bfb6 Xu Yang 2026-02-12  236  	if (IS_ERR(dwc_imx->suspend_clk))
76fc9452a6bfb6 Xu Yang 2026-02-12  237  		return dev_err_probe(dev, PTR_ERR(dwc_imx->suspend_clk),
76fc9452a6bfb6 Xu Yang 2026-02-12  238  				     "Failed to get suspend clk\n");
76fc9452a6bfb6 Xu Yang 2026-02-12  239  
76fc9452a6bfb6 Xu Yang 2026-02-12  240  	irq = platform_get_irq_byname(pdev, "wakeup");
76fc9452a6bfb6 Xu Yang 2026-02-12  241  	if (irq < 0)
76fc9452a6bfb6 Xu Yang 2026-02-12  242  		return irq;
76fc9452a6bfb6 Xu Yang 2026-02-12  243  	dwc_imx->irq = irq;
76fc9452a6bfb6 Xu Yang 2026-02-12  244  
76fc9452a6bfb6 Xu Yang 2026-02-12  245  	irq_name = devm_kasprintf(dev, GFP_KERNEL, "%s:wakeup", dev_name(dev));
76fc9452a6bfb6 Xu Yang 2026-02-12  246  	if (!irq_name)
76fc9452a6bfb6 Xu Yang 2026-02-12  247  		return dev_err_probe(dev, -ENOMEM, "failed to create irq_name\n");
76fc9452a6bfb6 Xu Yang 2026-02-12  248  
76fc9452a6bfb6 Xu Yang 2026-02-12  249  	ret = devm_request_threaded_irq(dev, irq, NULL, dwc3_imx_interrupt,
76fc9452a6bfb6 Xu Yang 2026-02-12  250  					IRQF_ONESHOT | IRQF_NO_AUTOEN,
76fc9452a6bfb6 Xu Yang 2026-02-12  251  					irq_name, dwc_imx);
76fc9452a6bfb6 Xu Yang 2026-02-12  252  	if (ret)
76fc9452a6bfb6 Xu Yang 2026-02-12  253  		return dev_err_probe(dev, ret, "failed to request IRQ #%d\n", irq);
76fc9452a6bfb6 Xu Yang 2026-02-12  254  
76fc9452a6bfb6 Xu Yang 2026-02-12 @255  	ret = device_add_software_node(dev, &dwc3_imx_swnode);
76fc9452a6bfb6 Xu Yang 2026-02-12  256  	if (ret)
76fc9452a6bfb6 Xu Yang 2026-02-12  257  		return dev_err_probe(dev, ret, "failed to add software node\n");
76fc9452a6bfb6 Xu Yang 2026-02-12  258  
76fc9452a6bfb6 Xu Yang 2026-02-12  259  	dwc3_imx_configure_glue(dwc_imx);
76fc9452a6bfb6 Xu Yang 2026-02-12  260  
76fc9452a6bfb6 Xu Yang 2026-02-12  261  	dwc = &dwc_imx->dwc;
76fc9452a6bfb6 Xu Yang 2026-02-12  262  	dwc->dev = dev;
76fc9452a6bfb6 Xu Yang 2026-02-12  263  	dwc->glue_ops = &dwc3_imx_glue_ops;
76fc9452a6bfb6 Xu Yang 2026-02-12  264  
76fc9452a6bfb6 Xu Yang 2026-02-12  265  	probe_data.res = res;
76fc9452a6bfb6 Xu Yang 2026-02-12  266  	probe_data.dwc = dwc;
76fc9452a6bfb6 Xu Yang 2026-02-12  267  	probe_data.properties = DWC3_DEFAULT_PROPERTIES;
76fc9452a6bfb6 Xu Yang 2026-02-12  268  	probe_data.properties.needs_full_reinit = true;
76fc9452a6bfb6 Xu Yang 2026-02-12  269  
76fc9452a6bfb6 Xu Yang 2026-02-12  270  	ret = dwc3_core_probe(&probe_data);
76fc9452a6bfb6 Xu Yang 2026-02-12  271  	if (ret) {
76fc9452a6bfb6 Xu Yang 2026-02-12 @272  		device_remove_software_node(dev);
76fc9452a6bfb6 Xu Yang 2026-02-12  273  		return ret;
76fc9452a6bfb6 Xu Yang 2026-02-12  274  	}
76fc9452a6bfb6 Xu Yang 2026-02-12  275  
76fc9452a6bfb6 Xu Yang 2026-02-12  276  	device_set_wakeup_capable(dev, true);
76fc9452a6bfb6 Xu Yang 2026-02-12  277  	return 0;
76fc9452a6bfb6 Xu Yang 2026-02-12  278  }
76fc9452a6bfb6 Xu Yang 2026-02-12  279  

:::::: The code at line 74 was first introduced by commit
:::::: 76fc9452a6bfb63a297fa0410d5368a691ed411b usb: dwc3: introduce flatten model driver of i.MX Soc

:::::: TO: Xu Yang <xu.yang_2@nxp.com>
:::::: CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

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

             reply	other threads:[~2026-04-30  8:39 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-30  8:38 kernel test robot [this message]
2026-04-30  9:05 ` [phy:phy_7.2 26/27] drivers/usb/dwc3/dwc3-imx.c:74:3: error: implicit declaration of function 'device_property_read_bool'; did you mean 'device_store_bool'? Vladimir Oltean
2026-05-03 16:22   ` Vinod Koul

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=202604301628.FO3dQRui-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kishon@ti.com \
    --cc=lumag@kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=vkoul@kernel.org \
    --cc=vladimir.oltean@nxp.com \
    /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.