mbox series

[00/11] usb: gadget: Introduce handle_interrupts ops to USB_GADGET_GENERIC uclass

Message ID 20240614005309.34433-1-marek.vasut+renesas@mailbox.org
Headers show
Series usb: gadget: Introduce handle_interrupts ops to USB_GADGET_GENERIC uclass | expand

Message

Marek Vasut June 14, 2024, 12:51 a.m. UTC
Introduce .ops for USB_GADGET_GENERIC uclass. The first new ops is
.handle_interrupts which must be implemented by DM capable USB gadget
controller drivers and must implement interrupt handling similar to
dm_usb_gadget_handle_interrupts(). For DM USB gadget drivers this is
a replacement for dm_usb_gadget_handle_interrupts(). Convert the DM
USB gadget drivers to this new ops instead.

DEPENDS: https://patchwork.ozlabs.org/project/uboot/list/?series=410150

Marek Vasut (11):
  usb: gadget: Introduce handle_interrupts ops to USB_GADGET_GENERIC
    uclass
  usb: gadget: cdns3: Convert interrupt handling to
    usb_gadget_generic_ops
  usb: gadget: dwc2: Convert interrupt handling to
    usb_gadget_generic_ops
  usb: gadget: dwc3: Convert interrupt handling to
    usb_gadget_generic_ops
  usb: gadget: max3420: Convert interrupt handling to
    usb_gadget_generic_ops
  usb: gadget: mtu3: Convert interrupt handling to
    usb_gadget_generic_ops
  usb: gadget: omap2430: Convert interrupt handling to
    usb_gadget_generic_ops
  usb: gadget: musb: Convert interrupt handling to
    usb_gadget_generic_ops
  usb: gadget: ux500: Convert interrupt handling to
    usb_gadget_generic_ops
  usb: gadget: sandbox: Drop dm_usb_gadget_handle_interrupts()
  usb: gadget: Mark dm_usb_gadget_handle_interrupts as non-weak for
    DM_USB_GADGET

 drivers/usb/cdns3/core.c            | 24 ++++++++++++++++++++++++
 drivers/usb/cdns3/gadget-export.h   |  2 ++
 drivers/usb/cdns3/gadget.c          | 11 +----------
 drivers/usb/dwc3/dwc3-generic.c     | 23 ++++++++++++++---------
 drivers/usb/dwc3/dwc3-layerscape.c  | 21 +++++++++++++--------
 drivers/usb/gadget/dwc2_udc_otg.c   | 20 +++++++++++++++-----
 drivers/usb/gadget/max3420_udc.c    | 19 ++++++++++++-------
 drivers/usb/gadget/udc/udc-uclass.c | 24 ++++++++++++++++++++++++
 drivers/usb/host/usb-sandbox.c      |  7 +------
 drivers/usb/mtu3/mtu3_plat.c        | 23 ++++++++++++++---------
 drivers/usb/musb-new/omap2430.c     | 26 ++++++++++++++++----------
 drivers/usb/musb-new/ti-musb.c      | 23 ++++++++++++++---------
 drivers/usb/musb-new/ux500.c        | 22 ++++++++++++++--------
 include/linux/usb/gadget.h          |  8 ++++++++
 14 files changed, 172 insertions(+), 81 deletions(-)

---
Cc: Alexander Sverdlin <alexander.sverdlin@siemens.com>
Cc: Felipe Balbi <felipe.balbi@linux.intel.com>
Cc: Lukasz Majewski <lukma@denx.de>
Cc: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Cc: Nishanth Menon <nm@ti.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Cc: Tom Rini <trini@konsulko.com>
Cc: u-boot@lists.denx.de

Comments

Sverdlin, Alexander June 14, 2024, 10:24 a.m. UTC | #1
Hi Marek!

On Fri, 2024-06-14 at 02:51 +0200, Marek Vasut wrote:
> Introduce .ops for USB_GADGET_GENERIC uclass. The first new ops is
> .handle_interrupts which must be implemented by DM capable USB gadget
> controller drivers and must implement interrupt handling similar to
> dm_usb_gadget_handle_interrupts(). For DM USB gadget drivers this is
> a replacement for dm_usb_gadget_handle_interrupts(). Convert the DM
> USB gadget drivers to this new ops instead.
> 
> DEPENDS: https://patchwork.ozlabs.org/project/uboot/list/?series=410150

I've applied both the dependency and this series and tested on AM62x,
which I believe would cover patches 1,4,11 (32-bit SPL,
64-bit SPL + U-Boot proper, booted over USB DFU):

> Marek Vasut (11):
>   usb: gadget: Introduce handle_interrupts ops to USB_GADGET_GENERIC
>     uclass
>   usb: gadget: dwc3: Convert interrupt handling to
>     usb_gadget_generic_ops
>   usb: gadget: Mark dm_usb_gadget_handle_interrupts as non-weak for
>     DM_USB_GADGET

For these,
Tested-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
Marek Vasut June 14, 2024, 2:05 p.m. UTC | #2
On 6/14/24 12:24 PM, Sverdlin, Alexander wrote:
> Hi Marek!

Hi,

> On Fri, 2024-06-14 at 02:51 +0200, Marek Vasut wrote:
>> Introduce .ops for USB_GADGET_GENERIC uclass. The first new ops is
>> .handle_interrupts which must be implemented by DM capable USB gadget
>> controller drivers and must implement interrupt handling similar to
>> dm_usb_gadget_handle_interrupts(). For DM USB gadget drivers this is
>> a replacement for dm_usb_gadget_handle_interrupts(). Convert the DM
>> USB gadget drivers to this new ops instead.
>>
>> DEPENDS: https://patchwork.ozlabs.org/project/uboot/list/?series=410150
> 
> I've applied both the dependency and this series and tested on AM62x,
> which I believe would cover patches 1,4,11 (32-bit SPL,
> 64-bit SPL + U-Boot proper, booted over USB DFU):

I appreciate the testing, thanks !
Mattijs Korpershoek June 18, 2024, 7:10 a.m. UTC | #3
Hi Marek,

Thank you for the series.

On ven., juin 14, 2024 at 02:51, Marek Vasut <marek.vasut+renesas@mailbox.org> wrote:

> Introduce .ops for USB_GADGET_GENERIC uclass. The first new ops is
> .handle_interrupts which must be implemented by DM capable USB gadget
> controller drivers and must implement interrupt handling similar to
> dm_usb_gadget_handle_interrupts(). For DM USB gadget drivers this is
> a replacement for dm_usb_gadget_handle_interrupts(). Convert the DM
> USB gadget drivers to this new ops instead.
>
> DEPENDS: https://patchwork.ozlabs.org/project/uboot/list/?series=410150
>
> Marek Vasut (11):
>   usb: gadget: Introduce handle_interrupts ops to USB_GADGET_GENERIC
>     uclass
>   usb: gadget: cdns3: Convert interrupt handling to
>     usb_gadget_generic_ops
>   usb: gadget: dwc2: Convert interrupt handling to
>     usb_gadget_generic_ops
>   usb: gadget: dwc3: Convert interrupt handling to
>     usb_gadget_generic_ops
>   usb: gadget: max3420: Convert interrupt handling to
>     usb_gadget_generic_ops
>   usb: gadget: mtu3: Convert interrupt handling to
>     usb_gadget_generic_ops
>   usb: gadget: omap2430: Convert interrupt handling to
>     usb_gadget_generic_ops
>   usb: gadget: musb: Convert interrupt handling to
>     usb_gadget_generic_ops
>   usb: gadget: ux500: Convert interrupt handling to
>     usb_gadget_generic_ops
>   usb: gadget: sandbox: Drop dm_usb_gadget_handle_interrupts()
>   usb: gadget: Mark dm_usb_gadget_handle_interrupts as non-weak for
>     DM_USB_GADGET
>
>  drivers/usb/cdns3/core.c            | 24 ++++++++++++++++++++++++
>  drivers/usb/cdns3/gadget-export.h   |  2 ++
>  drivers/usb/cdns3/gadget.c          | 11 +----------
>  drivers/usb/dwc3/dwc3-generic.c     | 23 ++++++++++++++---------
>  drivers/usb/dwc3/dwc3-layerscape.c  | 21 +++++++++++++--------
>  drivers/usb/gadget/dwc2_udc_otg.c   | 20 +++++++++++++++-----
>  drivers/usb/gadget/max3420_udc.c    | 19 ++++++++++++-------
>  drivers/usb/gadget/udc/udc-uclass.c | 24 ++++++++++++++++++++++++
>  drivers/usb/host/usb-sandbox.c      |  7 +------
>  drivers/usb/mtu3/mtu3_plat.c        | 23 ++++++++++++++---------
>  drivers/usb/musb-new/omap2430.c     | 26 ++++++++++++++++----------
>  drivers/usb/musb-new/ti-musb.c      | 23 ++++++++++++++---------
>  drivers/usb/musb-new/ux500.c        | 22 ++++++++++++++--------
>  include/linux/usb/gadget.h          |  8 ++++++++
>  14 files changed, 172 insertions(+), 81 deletions(-)

Tested on Khadas vim3 using fastboot, ums and usb storage scanning.

Tested-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> # vim3

>
> ---
> Cc: Alexander Sverdlin <alexander.sverdlin@siemens.com>
> Cc: Felipe Balbi <felipe.balbi@linux.intel.com>
> Cc: Lukasz Majewski <lukma@denx.de>
> Cc: Mattijs Korpershoek <mkorpershoek@baylibre.com>
> Cc: Nishanth Menon <nm@ti.com>
> Cc: Simon Glass <sjg@chromium.org>
> Cc: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
> Cc: Tom Rini <trini@konsulko.com>
> Cc: u-boot@lists.denx.de
>
> -- 
> 2.43.0
Mattijs Korpershoek July 5, 2024, 12:10 p.m. UTC | #4
Hi,

On Fri, 14 Jun 2024 02:51:15 +0200, Marek Vasut wrote:
> Introduce .ops for USB_GADGET_GENERIC uclass. The first new ops is
> .handle_interrupts which must be implemented by DM capable USB gadget
> controller drivers and must implement interrupt handling similar to
> dm_usb_gadget_handle_interrupts(). For DM USB gadget drivers this is
> a replacement for dm_usb_gadget_handle_interrupts(). Convert the DM
> USB gadget drivers to this new ops instead.
> 
> [...]

Thanks, Applied to https://source.denx.de/u-boot/custodians/u-boot-dfu (u-boot-dfu)

[01/11] usb: gadget: Introduce handle_interrupts ops to USB_GADGET_GENERIC uclass
        https://source.denx.de/u-boot/custodians/u-boot-dfu/-/commit/d36ef5cbedd08e9a11c6a719d853f1003173133e
[02/11] usb: gadget: cdns3: Convert interrupt handling to usb_gadget_generic_ops
        https://source.denx.de/u-boot/custodians/u-boot-dfu/-/commit/356542d6dd72f66031bc0fbe174a99c360ee318a
[03/11] usb: gadget: dwc2: Convert interrupt handling to usb_gadget_generic_ops
        https://source.denx.de/u-boot/custodians/u-boot-dfu/-/commit/2329109fbd7e48c559594c089238dc57d7fea166
[04/11] usb: gadget: dwc3: Convert interrupt handling to usb_gadget_generic_ops
        https://source.denx.de/u-boot/custodians/u-boot-dfu/-/commit/75f94ed82ff0a8c021decaa9a0eda56d48cba716
[05/11] usb: gadget: max3420: Convert interrupt handling to usb_gadget_generic_ops
        https://source.denx.de/u-boot/custodians/u-boot-dfu/-/commit/a75753327399d821ba70d8cb493d1bc12d1034cc
[06/11] usb: gadget: mtu3: Convert interrupt handling to usb_gadget_generic_ops
        https://source.denx.de/u-boot/custodians/u-boot-dfu/-/commit/2c2d7c2bab0ec6e4cd93db242822a57986680917
[07/11] usb: gadget: omap2430: Convert interrupt handling to usb_gadget_generic_ops
        https://source.denx.de/u-boot/custodians/u-boot-dfu/-/commit/521bc756cb5fea0ca8c159bd812da063e08bd351
[08/11] usb: gadget: musb: Convert interrupt handling to usb_gadget_generic_ops
        https://source.denx.de/u-boot/custodians/u-boot-dfu/-/commit/281eaf1ed83a09bfce6b82b86775e11d4269ad08
[09/11] usb: gadget: ux500: Convert interrupt handling to usb_gadget_generic_ops
        https://source.denx.de/u-boot/custodians/u-boot-dfu/-/commit/ac4bf5d48a9e85e79ced3b7195a8599c21c0a16d
[10/11] usb: gadget: sandbox: Drop dm_usb_gadget_handle_interrupts()
        https://source.denx.de/u-boot/custodians/u-boot-dfu/-/commit/ed8e638de1ef0ab2bf87c6c83882b275b66b292f
[11/11] usb: gadget: Mark dm_usb_gadget_handle_interrupts as non-weak for DM_USB_GADGET
        https://source.denx.de/u-boot/custodians/u-boot-dfu/-/commit/9e2c14804e4aaefe7cbb43d444f5dc83ba76c86d

--
Mattijs