All of lore.kernel.org
 help / color / mirror / Atom feed
* [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'?
@ 2026-04-30  8:38 kernel test robot
  2026-04-30  9:05 ` Vladimir Oltean
  0 siblings, 1 reply; 3+ messages in thread
From: kernel test robot @ 2026-04-30  8:38 UTC (permalink / raw)
  To: Vladimir Oltean; +Cc: oe-kbuild-all, Vinod Koul, Kishon, Dmitry Baryshkov

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-05-03 16:22 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-30  8:38 [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'? kernel test robot
2026-04-30  9:05 ` Vladimir Oltean
2026-05-03 16:22   ` Vinod Koul

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.