linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/37] usb: gadget: rework ep matching and claiming mechanism
@ 2015-07-08 11:08 Robert Baldyga
  2015-07-08 11:08 ` [PATCH 01/37] usb: gadget: encapsulate endpoint " Robert Baldyga
                   ` (36 more replies)
  0 siblings, 37 replies; 39+ messages in thread
From: Robert Baldyga @ 2015-07-08 11:08 UTC (permalink / raw)
  To: gregkh
  Cc: Peter.Chen, johnyoun, balbi, dahlmann.thomas, nicolas.ferre,
	cernekee, leoli, daniel, haojian.zhuang, robert.jarzmik,
	michal.simek, devel, linux-kernel, linux-usb, linux-omap,
	linux-geode, linux-arm-kernel, linuxppc-dev, andrzej.p,
	m.szyprowski, Robert Baldyga

Hello,

This patch series reworks endpoint matching and claiming mechanism in
epautoconf.

The patch (1) introduces new safer endpoint claiming method, basing on
new 'claimed' flag. It was discussed here [1]. I proposed this solution
over year ago and it was accepted, but apparently I forgot to send the
final version of patch.

Patches (2-3) add the 'capabilities flags' structure and helper macros.
This solution is inspired by the 'feature flags' originally proposed
by Felipe Balbi in 2013 [2], but unfortunately implementation of this
feature has never been completed.

Patches (4-36) add' capabilites flags' support to all UDC drivers present
in the kernel tree. It's needed to be done before replacing old endpoint
matching mechanism, otherwise UDC drivers which doesn't set 'capabilities
flags' won't work with new autoconfig.

Patch (37) finally replaces old endpoint matching method with the new
one basing on capabilities flags.

These changes aims to get rid of code, which guesses endpoint capabilities
basing on it's name, and introduce new better replacement. In result
we have better way to describe types and directions supported by each
endpoint.

For example the old name-based method didn't allow to have endpoint
supporing two types of transfers - there were only ability to support
one or all endpoint types. The 'capabilities flags' feature supply
precise, flexible and extendible mechanism of description of endpoint
hardware limitations, which is desired for proper endpoint matching.

Best regards,
Robert Baldyga

[1] https://lkml.org/lkml/2014/6/16/94
[2] http://www.spinics.net/lists/linux-usb/msg99662.html

Robert Baldyga (37):
  usb: gadget: encapsulate endpoint claiming mechanism
  usb: gadget: add endpoint capabilities flags
  usb: gadget: add endpoint capabilities helper macros
  staging: emxx_udc: add ep capabilities support
  usb: chipidea: udc: add ep capabilities support
  usb: dwc2: gadget: add ep capabilities support
  usb: dwc3: gadget: add ep capabilities support
  usb: gadget: amd5536udc: add ep capabilities support
  usb: gadget: at91_udc: add ep capabilities support
  usb: gadget: bcm63xx_udc: add ep capabilities support
  usb: gadget: bdc: add ep capabilities support
  usb: gadget: dummy-hcd: add ep capabilities support
  usb: gadget: fotg210-udc: add ep capabilities support
  usb: gadget: fsl_qe_udc: add ep capabilities support
  usb: gadget: fsl_udc_core: add ep capabilities support
  usb: gadget: fusb300_udc: add ep capabilities support
  usb: gadget: goku_udc: add ep capabilities support
  usb: gadget: gr_udc: add ep capabilities support
  usb: gadget: lpc32xx_udc: add ep capabilities support
  usb: gadget: m66592-udc: add ep capabilities support
  usb: gadget: mv_u3d_core: add ep capabilities support
  usb: gadget: mv_udc_core: add ep capabilities support
  usb: gadget: net2272: add ep capabilities support
  usb: gadget: net2280: add ep capabilities support
  usb: gadget: omap_udc: add ep capabilities support
  usb: gadget: pch_ud: add ep capabilities support
  usb: gadget: pxa25x_udc: add ep capabilities support
  usb: gadget: pxa27x_udc: add ep capabilities support
  usb: gadget: r8a66597-udc: add ep capabilities support
  usb: gadget: s3c-hsudc: add ep capabilities support
  usb: gadget: s3c2410_udc: add ep capabilities support
  usb: gadget: udc-xilinx: add ep capabilities support
  usb: isp1760: udc: add ep capabilities support
  usb: musb: gadget: add ep capabilities support
  usb: renesas: gadget: add ep capabilities support
  usb: gadget: atmel_usba_udc: add ep capabilities support
  usb: gadget: epautoconf: add endpoint capabilities flags verification

 drivers/staging/emxx_udc/emxx_udc.c     | 60 ++++++++++++------------
 drivers/usb/chipidea/udc.c              | 14 ++++++
 drivers/usb/dwc2/gadget.c               | 13 ++++++
 drivers/usb/dwc3/gadget.c               | 13 ++++++
 drivers/usb/gadget/epautoconf.c         | 83 +++++++++++----------------------
 drivers/usb/gadget/udc/amd5536udc.c     | 57 ++++++++++++++++++----
 drivers/usb/gadget/udc/at91_udc.c       | 33 +++++++++----
 drivers/usb/gadget/udc/atmel_usba_udc.c | 11 +++++
 drivers/usb/gadget/udc/bcm63xx_udc.c    | 25 ++++++++--
 drivers/usb/gadget/udc/bdc/bdc_ep.c     |  9 ++++
 drivers/usb/gadget/udc/dummy_hcd.c      | 65 ++++++++++++++++++++------
 drivers/usb/gadget/udc/fotg210-udc.c    | 11 +++++
 drivers/usb/gadget/udc/fsl_qe_udc.c     | 11 +++++
 drivers/usb/gadget/udc/fsl_udc_core.c   | 13 ++++++
 drivers/usb/gadget/udc/fusb300_udc.c    | 11 +++++
 drivers/usb/gadget/udc/goku_udc.c       |  8 ++++
 drivers/usb/gadget/udc/gr_udc.c         | 11 +++++
 drivers/usb/gadget/udc/lpc32xx_udc.c    | 32 +++++++++++++
 drivers/usb/gadget/udc/m66592-udc.c     | 11 +++++
 drivers/usb/gadget/udc/mv_u3d_core.c    |  9 ++++
 drivers/usb/gadget/udc/mv_udc_core.c    |  9 ++++
 drivers/usb/gadget/udc/net2272.c        | 11 +++++
 drivers/usb/gadget/udc/net2280.c        | 50 +++++++++++++++-----
 drivers/usb/gadget/udc/omap_udc.c       | 22 +++++++++
 drivers/usb/gadget/udc/pch_udc.c        | 14 +++++-
 drivers/usb/gadget/udc/pxa25x_udc.c     | 32 +++++++++++++
 drivers/usb/gadget/udc/pxa27x_udc.h     | 33 +++++++------
 drivers/usb/gadget/udc/r8a66597-udc.c   | 10 ++++
 drivers/usb/gadget/udc/s3c-hsudc.c      | 15 ++++++
 drivers/usb/gadget/udc/s3c2410_udc.c    | 10 ++++
 drivers/usb/gadget/udc/udc-xilinx.c     |  9 ++++
 drivers/usb/isp1760/isp1760-udc.c       | 11 +++++
 drivers/usb/musb/musb_gadget.c          | 12 +++++
 drivers/usb/renesas_usbhs/mod_gadget.c  |  6 +++
 include/linux/usb/gadget.h              | 42 +++++++++++++++++
 35 files changed, 633 insertions(+), 153 deletions(-)

-- 
1.9.1


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

end of thread, other threads:[~2015-07-08 19:29 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-08 11:08 [PATCH 00/37] usb: gadget: rework ep matching and claiming mechanism Robert Baldyga
2015-07-08 11:08 ` [PATCH 01/37] usb: gadget: encapsulate endpoint " Robert Baldyga
2015-07-08 11:08 ` [PATCH 02/37] usb: gadget: add endpoint capabilities flags Robert Baldyga
2015-07-08 11:08 ` [PATCH 03/37] usb: gadget: add endpoint capabilities helper macros Robert Baldyga
2015-07-08 11:08 ` [PATCH 04/37] staging: emxx_udc: add ep capabilities support Robert Baldyga
2015-07-08 11:08 ` [PATCH 05/37] usb: chipidea: udc: " Robert Baldyga
2015-07-08 11:08 ` [PATCH 06/37] usb: dwc2: gadget: " Robert Baldyga
2015-07-08 11:08 ` [PATCH 07/37] usb: dwc3: " Robert Baldyga
2015-07-08 11:08 ` [PATCH 08/37] usb: gadget: amd5536udc: " Robert Baldyga
2015-07-08 11:08 ` [PATCH 09/37] usb: gadget: at91_udc: " Robert Baldyga
2015-07-08 11:08 ` [PATCH 10/37] usb: gadget: bcm63xx_udc: " Robert Baldyga
2015-07-08 11:08 ` [PATCH 11/37] usb: gadget: bdc: " Robert Baldyga
2015-07-08 11:08 ` [PATCH 12/37] usb: gadget: dummy-hcd: " Robert Baldyga
2015-07-08 11:08 ` [PATCH 13/37] usb: gadget: fotg210-udc: " Robert Baldyga
2015-07-08 11:08 ` [PATCH 14/37] usb: gadget: fsl_qe_udc: " Robert Baldyga
2015-07-08 11:08 ` [PATCH 15/37] usb: gadget: fsl_udc_core: " Robert Baldyga
2015-07-08 11:09 ` [PATCH 16/37] usb: gadget: fusb300_udc: " Robert Baldyga
2015-07-08 11:09 ` [PATCH 17/37] usb: gadget: goku_udc: " Robert Baldyga
2015-07-08 11:09 ` [PATCH 18/37] usb: gadget: gr_udc: " Robert Baldyga
2015-07-08 11:09 ` [PATCH 19/37] usb: gadget: lpc32xx_udc: " Robert Baldyga
2015-07-08 11:09 ` [PATCH 20/37] usb: gadget: m66592-udc: " Robert Baldyga
2015-07-08 11:09 ` [PATCH 21/37] usb: gadget: mv_u3d_core: " Robert Baldyga
2015-07-08 11:09 ` [PATCH 22/37] usb: gadget: mv_udc_core: " Robert Baldyga
2015-07-08 11:09 ` [PATCH 23/37] usb: gadget: net2272: " Robert Baldyga
2015-07-08 11:09 ` [PATCH 24/37] usb: gadget: net2280: " Robert Baldyga
2015-07-08 11:09 ` [PATCH 25/37] usb: gadget: omap_udc: " Robert Baldyga
2015-07-08 11:09 ` [PATCH 26/37] usb: gadget: pch_ud: " Robert Baldyga
2015-07-08 11:09 ` [PATCH 27/37] usb: gadget: pxa25x_udc: " Robert Baldyga
2015-07-08 11:09 ` [PATCH 28/37] usb: gadget: pxa27x_udc: " Robert Baldyga
2015-07-08 19:26   ` Robert Jarzmik
2015-07-08 11:09 ` [PATCH 29/37] usb: gadget: r8a66597-udc: " Robert Baldyga
2015-07-08 11:09 ` [PATCH 30/37] usb: gadget: s3c-hsudc: " Robert Baldyga
2015-07-08 11:09 ` [PATCH 31/37] usb: gadget: s3c2410_udc: " Robert Baldyga
2015-07-08 11:09 ` [PATCH 32/37] usb: gadget: udc-xilinx: " Robert Baldyga
2015-07-08 11:09 ` [PATCH 33/37] usb: isp1760: udc: " Robert Baldyga
2015-07-08 11:09 ` [PATCH 34/37] usb: musb: gadget: " Robert Baldyga
2015-07-08 11:09 ` [PATCH 35/37] usb: renesas: " Robert Baldyga
2015-07-08 11:09 ` [PATCH 36/37] usb: gadget: atmel_usba_udc: " Robert Baldyga
2015-07-08 11:09 ` [PATCH 37/37] usb: gadget: epautoconf: add endpoint capabilities flags verification Robert Baldyga

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).