[PATCH v2] usb: gadget: fsl: Re-enable driver for ARM SoCs

Leo Li leoyang.li at nxp.com
Thu Jun 10 19:11:27 PDT 2021



> -----Original Message-----
> From: Joel Stanley <joel at jms.id.au>
> Sent: Thursday, June 10, 2021 9:01 PM
> To: Fabio Estevam <festevam at gmail.com>; Peter Chen
> <peter.chen at nxp.com>; Arnd Bergmann <arnd at arndb.de>; Felipe Balbi
> <balbi at kernel.org>; Shawn Guo <shawnguo at kernel.org>; Leo Li
> <leoyang.li at nxp.com>; dl-linux-imx <linux-imx at nxp.com>; Stephen
> Rothwell <sfr at canb.auug.org.au>
> Cc: linux-usb at vger.kernel.org; Linux ARM <linux-arm-
> kernel at lists.infradead.org>
> Subject: Re: [PATCH v2] usb: gadget: fsl: Re-enable driver for ARM SoCs
> 
> On Thu, 10 Jun 2021 at 03:50, Joel Stanley <joel at jms.id.au> wrote:
> >
> > The commit a390bef7db1f ("usb: gadget: fsl_mxc_udc: Remove the
> > driver") dropped the ARCH_MXC dependency from USB_FSL_USB2,
> leaving it
> > depending solely on FSL_SOC.
> >
> > FSL_SOC is powerpc only; it was briefly available on ARM in 2014 but
> > was removed by commit cfd074ad8600 ("ARM: imx: temporarily remove
> > CONFIG_SOC_FSL from LS1021A"). Therefore the driver can no longer be
> > enabled on ARM platforms.
> >
> > This appears to be a mistake as arm64's ARCH_LAYERSCAPE and arm32
> > SOC_LS1021A SoCs use this symbol. It's enabled in these defconfigs:
> >
> > arch/arm/configs/imx_v6_v7_defconfig:CONFIG_USB_FSL_USB2=y
> > arch/arm/configs/multi_v7_defconfig:CONFIG_USB_FSL_USB2=y
> > arch/powerpc/configs/mgcoge_defconfig:CONFIG_USB_FSL_USB2=y
> > arch/powerpc/configs/mpc512x_defconfig:CONFIG_USB_FSL_USB2=y
> >
> > To fix, expand the dependencies so USB_FSL_USB2 can be enabled on the
> > ARM platforms, and with COMPILE_TEST.
> 
> This didn't work out, as there's some missing clock initialisation calls that were
> removed when fsl_mxc_udc was deleted:
> 
> arm-linux-gnueabi-ld: drivers/usb/gadget/udc/fsl_udc_core.o: in function
> `fsl_udc_remove':
> fsl_udc_core.c:(.text+0xc88): undefined reference to `fsl_udc_clk_release'
> arm-linux-gnueabi-ld: drivers/usb/gadget/udc/fsl_udc_core.o: in function
> `fsl_udc_probe':
> fsl_udc_core.c:(.text+0x1c44): undefined reference to `fsl_udc_clk_init'
> arm-linux-gnueabi-ld: fsl_udc_core.c:(.text+0x1dcc): undefined reference to
> `fsl_udc_clk_finalize'
> arm-linux-gnueabi-ld: fsl_udc_core.c:(.text+0x1fe8): undefined reference to
> `fsl_udc_clk_release'
> 
> We could add them back, but it's not clear if this driver is still maintained. I'm
> looking to the NXP people for input here.

Adding Ran Wang to the loop.  I think we will maintain the driver to keep the legacy platforms working but will not add new users of this driver.

> 
> Stephen has dropped the patch from today's -next. I suggest we drop (or
> revert?) this patch from the USB tree while a solution is found.
> 
> Cheers,
> 
> Joel
> 
> >
> > Fixes: a390bef7db1f ("usb: gadget: fsl_mxc_udc: Remove the driver")
> > Signed-off-by: Joel Stanley <joel at jms.id.au>
> > ---
> > v2: Fix spelling of ARCH_LAYERSCAPE
> > ---
> >  drivers/usb/gadget/udc/Kconfig | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/usb/gadget/udc/Kconfig
> > b/drivers/usb/gadget/udc/Kconfig index 8c614bb86c66..7348acbdc560
> > 100644
> > --- a/drivers/usb/gadget/udc/Kconfig
> > +++ b/drivers/usb/gadget/udc/Kconfig
> > @@ -90,7 +90,7 @@ config USB_BCM63XX_UDC
> >
> >  config USB_FSL_USB2
> >         tristate "Freescale Highspeed USB DR Peripheral Controller"
> > -       depends on FSL_SOC
> > +       depends on FSL_SOC || ARCH_LAYERSCAPE || SOC_LS1021A ||
> > + COMPILE_TEST
> >         help
> >            Some of Freescale PowerPC and i.MX processors have a High Speed
> >            Dual-Role(DR) USB controller, which supports device mode.
> > --
> > 2.30.2
> >


More information about the linux-arm-kernel mailing list