From: Vladimir Oltean <vladimir.oltean@nxp.com>
To: kernel test robot <lkp@intel.com>, Dmitry Baryshkov <lumag@kernel.org>
Cc: oe-kbuild-all@lists.linux.dev, Vinod Koul <vkoul@kernel.org>,
Kishon <kishon@ti.com>
Subject: Re: [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 12:05:28 +0300 [thread overview]
Message-ID: <20260430090528.hr5swgzjmjgbgvfz@skbuf> (raw)
In-Reply-To: <202604301628.FO3dQRui-lkp@intel.com>
On Thu, Apr 30, 2026 at 04:38:21PM +0800, kernel test robot wrote:
> 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
I appreciate Vinod applying this set
https://lore.kernel.org/linux-phy/20260327184706.1600329-4-vladimir.oltean@nxp.com/
onto the phy_7.2 branch, but it looks like the set crossed paths with
USB commit 76fc9452a6bf ("usb: dwc3: introduce flatten model driver of i.MX Soc")
which introduced yet another implicit dependency on <linux/property.h>
which was transitively provided by <linux/phy/phy.h>, and that's what is
breaking here.
I would prefer just going through the regular merge process here, i.e.
drop the phy_7.2 branch and send a v7 updated to current linux-phy/next
(i.e. v7.1-rc1), so that we have a more complete image of the build
status on various architectures before applying, and not get taken by
surprise by the kernel test robot.
Dmitry, I got some notification emails from patchwork-bot+linux-samsung-soc@kernel.org
saying that this patch was cherry picked
https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux.git/commit/?id=2a0ffcd5456c
but I couldn't figure out on what branch. Is it a problem if I resend
the entire set?
Thanks,
Vladimir
next prev parent reply other threads:[~2026-04-30 9:05 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
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=20260430090528.hr5swgzjmjgbgvfz@skbuf \
--to=vladimir.oltean@nxp.com \
--cc=kishon@ti.com \
--cc=lkp@intel.com \
--cc=lumag@kernel.org \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=vkoul@kernel.org \
/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.