Hi Arnd, On Fri, Jun 11, 2021 at 5:30 AM Arnd Bergmann <arnd@xxxxxxxx> wrote: > Adding Fabio and Guennadi to Cc. > > I can see that the missing symbols were in a driver that got removed in commit > a390bef7db1f ("usb: gadget: fsl_mxc_udc: Remove the driver"). > > If CONFIG_ARCH_MXC is disabled, these are stubbed out in the header file. > These were added a long time ago by Guennadi Liakhovetski 54e4026b64a9 > ("USB: gadget: Add i.MX3x support to the fsl_usb2_udc driver"). I also > see that this patch added a few #ifdef CONFIG_ARCH_MXC checks to the > driver that still remain today. This is clearly broken as it must be possible > to use the same driver module on both SOC_LS1021A and i.MX using > a runtime check. > > I also don't see any i.MX variant actually using this driver, but instead see > the dts files declaring fsl,imx27-usb devices, which bind to the > drivers/usb/chipidea/ci_hdrc_imx.c driver. Is this one of those cases > where we have two separate drivers for the same hardware, or is this > for a different device? Exactly. The USB IP on several i.MX devices comes from ChipIdea. Prior to using devicetree, we had the fsl_mxc_udc driver to handle the gadget side. Since i.MX has been converted to a DT-only platform, we no longer need fsl_mxc_udc, as drivers/usb/chipidea is used nowadays.