All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robert Baldyga <r.baldyga@samsung.com>
To: gregkh@linuxfoundation.org, balbi@ti.com
Cc: Peter.Chen@freescale.com, johnyoun@synopsys.com,
	dahlmann.thomas@arcor.de, nicolas.ferre@atmel.com,
	cernekee@gmail.com, leoli@freescale.com, daniel@zonque.org,
	haojian.zhuang@gmail.com, robert.jarzmik@free.fr,
	michal.simek@xilinx.com, devel@driverdev.osuosl.org,
	linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org,
	linux-omap@vger.kernel.org, linux-geode@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org, andrzej.p@samsung.com,
	m.szyprowski@samsung.com, Robert Baldyga <r.baldyga@samsung.com>
Subject: [PATCH v3 00/46] usb: gadget: rework ep matching and claiming mechanism
Date: Wed, 15 Jul 2015 08:31:47 +0200	[thread overview]
Message-ID: <1436941953-1327-1-git-send-email-r.baldyga@samsung.com> (raw)

Hello,

This patch series reworks endpoint matching and claiming mechanism in
epautoconf. From v2 there are couple of new patches adding 'ep_match'
to usb_gadget_ops and removing chip-specific quirk handling from generic
code of autoconfig.

I'm not sure if this patch set isn't too long, as it has 46 patches,
but I decided to send it as single series to avoid problems with patch
applying order.

The aim of whole patchset is to rework epautoconf code to get rid of
things like name-based endpoint matching and UDC name-based quirks in
generic code. These needed to do some modifications in framework like
adding 'endpoint capabilities flags' feature or adding 'match_ep'.

Following paragraphs contain brief description of what modifications are
done by particular parts of this patch set:

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 I apparently forgot to send the final
version of my 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 matching function.

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 of endpoint types. The 'capabilities flags' feature supply
precise, flexible and extensible mechanism of description of endpoint
hardware limitations, which is desired for proper endpoint matching.

Patch (38) removes chip-specific quirk from ep_matches() function.

Patches (39-40) remove code modifying endpoint and descriptor structures
from ep_matches() function and cleans it up to make it simpler and more
readable.

Patch (41) add 'match_ep' callback to usb_gadget_ops and make use of
it in epautoconf. This callback allows UDC drivers to supply non-standard
endpoint matching algorithms.

Patches (42-43) move ep_matches() and find_ep() functions outside
epautoconf and rename them to usb_gadget_ep_match_desc() and
gadget_find_ep_by_name(). It's because they may be useful in 'match_ep'
callbacks in UDC drivers to avoid writing repetitive code.

Patches (44-46) move chip-specific enpoint matching algorithms from
generic code of usb_ep_autoconfig_ss() function to UDC controller drivers
using 'match_ep' callback.

In the result we have epautoconf source free of chip-specific code, plus
two new mechanisms allowing to handle non-standard hardware limitations.

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

Best regards,
Robert Baldyga

Changelog:

v3:
- addressed comments from Sergei Shtylyov

v2: https://lkml.org/lkml/2015/7/14/172
- remove PXA quirk from ep_matches() function without behaviour change
  using ep capabilities flags
- separate ep and desc configuration code from ep_match() function
- add 'ep_match' to usb_gadget_ops and move chip-specific endpoint
  matching algorithms from generic code to UDC controller drivers

v1: https://lkml.org/lkml/2015/7/8/436

Robert Baldyga (46):
  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
  usb: gadget: epautoconf: remove pxa quirk from ep_matches()
  usb: gadget: epautoconf: remove ep and desc configuration from
    ep_matches()
  usb: gadget: epautoconf: rework ep_matches() function
  usb: gadget: add 'ep_match' callback to usb_gadget_ops
  usb: gadget: move ep_matches() from epautoconf to udc-core
  usb: gadget: move find_ep() from epautoconf to gadget.h
  usb: gadget: net2280: add net2280_match_ep() function
  usb: gadget: goku_udc: add goku_match_ep() function
  usb: musb: gadget: add musb_match_ep() function

 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         | 280 +++++---------------------------
 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       |  33 ++++
 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        |  81 +++++++--
 drivers/usb/gadget/udc/omap_udc.c       |  22 +++
 drivers/usb/gadget/udc/pch_udc.c        |  14 +-
 drivers/usb/gadget/udc/pxa25x_udc.c     |  29 ++++
 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-core.c       |  69 ++++++++
 drivers/usb/gadget/udc/udc-xilinx.c     |   9 +
 drivers/usb/isp1760/isp1760-udc.c       |  11 ++
 drivers/usb/musb/musb_gadget.c          |  46 ++++++
 drivers/usb/renesas_usbhs/mod_gadget.c  |   6 +
 include/linux/usb/gadget.h              |  71 ++++++++
 36 files changed, 833 insertions(+), 335 deletions(-)

-- 
1.9.1


WARNING: multiple messages have this Message-ID (diff)
From: Robert Baldyga <r.baldyga@samsung.com>
To: gregkh@linuxfoundation.org, balbi@ti.com
Cc: devel@driverdev.osuosl.org, linux-usb@vger.kernel.org,
	m.szyprowski@samsung.com, linux-arm-kernel@lists.infradead.org,
	johnyoun@synopsys.com, linuxppc-dev@lists.ozlabs.org,
	cernekee@gmail.com, nicolas.ferre@atmel.com,
	michal.simek@xilinx.com, haojian.zhuang@gmail.com,
	linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org,
	Robert Baldyga <r.baldyga@samsung.com>,
	Peter.Chen@freescale.com, dahlmann.thomas@arcor.de,
	andrzej.p@samsung.com, leoli@freescale.com,
	robert.jarzmik@free.fr, daniel@zonque.org,
	linux-geode@lists.infradead.org
Subject: [PATCH v3 00/46] usb: gadget: rework ep matching and claiming mechanism
Date: Wed, 15 Jul 2015 08:31:47 +0200	[thread overview]
Message-ID: <1436941953-1327-1-git-send-email-r.baldyga@samsung.com> (raw)

Hello,

This patch series reworks endpoint matching and claiming mechanism in
epautoconf. From v2 there are couple of new patches adding 'ep_match'
to usb_gadget_ops and removing chip-specific quirk handling from generic
code of autoconfig.

I'm not sure if this patch set isn't too long, as it has 46 patches,
but I decided to send it as single series to avoid problems with patch
applying order.

The aim of whole patchset is to rework epautoconf code to get rid of
things like name-based endpoint matching and UDC name-based quirks in
generic code. These needed to do some modifications in framework like
adding 'endpoint capabilities flags' feature or adding 'match_ep'.

Following paragraphs contain brief description of what modifications are
done by particular parts of this patch set:

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 I apparently forgot to send the final
version of my 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 matching function.

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 of endpoint types. The 'capabilities flags' feature supply
precise, flexible and extensible mechanism of description of endpoint
hardware limitations, which is desired for proper endpoint matching.

Patch (38) removes chip-specific quirk from ep_matches() function.

Patches (39-40) remove code modifying endpoint and descriptor structures
from ep_matches() function and cleans it up to make it simpler and more
readable.

Patch (41) add 'match_ep' callback to usb_gadget_ops and make use of
it in epautoconf. This callback allows UDC drivers to supply non-standard
endpoint matching algorithms.

Patches (42-43) move ep_matches() and find_ep() functions outside
epautoconf and rename them to usb_gadget_ep_match_desc() and
gadget_find_ep_by_name(). It's because they may be useful in 'match_ep'
callbacks in UDC drivers to avoid writing repetitive code.

Patches (44-46) move chip-specific enpoint matching algorithms from
generic code of usb_ep_autoconfig_ss() function to UDC controller drivers
using 'match_ep' callback.

In the result we have epautoconf source free of chip-specific code, plus
two new mechanisms allowing to handle non-standard hardware limitations.

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

Best regards,
Robert Baldyga

Changelog:

v3:
- addressed comments from Sergei Shtylyov

v2: https://lkml.org/lkml/2015/7/14/172
- remove PXA quirk from ep_matches() function without behaviour change
  using ep capabilities flags
- separate ep and desc configuration code from ep_match() function
- add 'ep_match' to usb_gadget_ops and move chip-specific endpoint
  matching algorithms from generic code to UDC controller drivers

v1: https://lkml.org/lkml/2015/7/8/436

Robert Baldyga (46):
  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
  usb: gadget: epautoconf: remove pxa quirk from ep_matches()
  usb: gadget: epautoconf: remove ep and desc configuration from
    ep_matches()
  usb: gadget: epautoconf: rework ep_matches() function
  usb: gadget: add 'ep_match' callback to usb_gadget_ops
  usb: gadget: move ep_matches() from epautoconf to udc-core
  usb: gadget: move find_ep() from epautoconf to gadget.h
  usb: gadget: net2280: add net2280_match_ep() function
  usb: gadget: goku_udc: add goku_match_ep() function
  usb: musb: gadget: add musb_match_ep() function

 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         | 280 +++++---------------------------
 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       |  33 ++++
 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        |  81 +++++++--
 drivers/usb/gadget/udc/omap_udc.c       |  22 +++
 drivers/usb/gadget/udc/pch_udc.c        |  14 +-
 drivers/usb/gadget/udc/pxa25x_udc.c     |  29 ++++
 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-core.c       |  69 ++++++++
 drivers/usb/gadget/udc/udc-xilinx.c     |   9 +
 drivers/usb/isp1760/isp1760-udc.c       |  11 ++
 drivers/usb/musb/musb_gadget.c          |  46 ++++++
 drivers/usb/renesas_usbhs/mod_gadget.c  |   6 +
 include/linux/usb/gadget.h              |  71 ++++++++
 36 files changed, 833 insertions(+), 335 deletions(-)

-- 
1.9.1

WARNING: multiple messages have this Message-ID (diff)
From: r.baldyga@samsung.com (Robert Baldyga)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 00/46] usb: gadget: rework ep matching and claiming mechanism
Date: Wed, 15 Jul 2015 08:31:47 +0200	[thread overview]
Message-ID: <1436941953-1327-1-git-send-email-r.baldyga@samsung.com> (raw)

Hello,

This patch series reworks endpoint matching and claiming mechanism in
epautoconf. From v2 there are couple of new patches adding 'ep_match'
to usb_gadget_ops and removing chip-specific quirk handling from generic
code of autoconfig.

I'm not sure if this patch set isn't too long, as it has 46 patches,
but I decided to send it as single series to avoid problems with patch
applying order.

The aim of whole patchset is to rework epautoconf code to get rid of
things like name-based endpoint matching and UDC name-based quirks in
generic code. These needed to do some modifications in framework like
adding 'endpoint capabilities flags' feature or adding 'match_ep'.

Following paragraphs contain brief description of what modifications are
done by particular parts of this patch set:

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 I apparently forgot to send the final
version of my 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 matching function.

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 of endpoint types. The 'capabilities flags' feature supply
precise, flexible and extensible mechanism of description of endpoint
hardware limitations, which is desired for proper endpoint matching.

Patch (38) removes chip-specific quirk from ep_matches() function.

Patches (39-40) remove code modifying endpoint and descriptor structures
from ep_matches() function and cleans it up to make it simpler and more
readable.

Patch (41) add 'match_ep' callback to usb_gadget_ops and make use of
it in epautoconf. This callback allows UDC drivers to supply non-standard
endpoint matching algorithms.

Patches (42-43) move ep_matches() and find_ep() functions outside
epautoconf and rename them to usb_gadget_ep_match_desc() and
gadget_find_ep_by_name(). It's because they may be useful in 'match_ep'
callbacks in UDC drivers to avoid writing repetitive code.

Patches (44-46) move chip-specific enpoint matching algorithms from
generic code of usb_ep_autoconfig_ss() function to UDC controller drivers
using 'match_ep' callback.

In the result we have epautoconf source free of chip-specific code, plus
two new mechanisms allowing to handle non-standard hardware limitations.

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

Best regards,
Robert Baldyga

Changelog:

v3:
- addressed comments from Sergei Shtylyov

v2: https://lkml.org/lkml/2015/7/14/172
- remove PXA quirk from ep_matches() function without behaviour change
  using ep capabilities flags
- separate ep and desc configuration code from ep_match() function
- add 'ep_match' to usb_gadget_ops and move chip-specific endpoint
  matching algorithms from generic code to UDC controller drivers

v1: https://lkml.org/lkml/2015/7/8/436

Robert Baldyga (46):
  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
  usb: gadget: epautoconf: remove pxa quirk from ep_matches()
  usb: gadget: epautoconf: remove ep and desc configuration from
    ep_matches()
  usb: gadget: epautoconf: rework ep_matches() function
  usb: gadget: add 'ep_match' callback to usb_gadget_ops
  usb: gadget: move ep_matches() from epautoconf to udc-core
  usb: gadget: move find_ep() from epautoconf to gadget.h
  usb: gadget: net2280: add net2280_match_ep() function
  usb: gadget: goku_udc: add goku_match_ep() function
  usb: musb: gadget: add musb_match_ep() function

 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         | 280 +++++---------------------------
 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       |  33 ++++
 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        |  81 +++++++--
 drivers/usb/gadget/udc/omap_udc.c       |  22 +++
 drivers/usb/gadget/udc/pch_udc.c        |  14 +-
 drivers/usb/gadget/udc/pxa25x_udc.c     |  29 ++++
 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-core.c       |  69 ++++++++
 drivers/usb/gadget/udc/udc-xilinx.c     |   9 +
 drivers/usb/isp1760/isp1760-udc.c       |  11 ++
 drivers/usb/musb/musb_gadget.c          |  46 ++++++
 drivers/usb/renesas_usbhs/mod_gadget.c  |   6 +
 include/linux/usb/gadget.h              |  71 ++++++++
 36 files changed, 833 insertions(+), 335 deletions(-)

-- 
1.9.1

             reply	other threads:[~2015-07-15  6:33 UTC|newest]

Thread overview: 149+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-15  6:31 Robert Baldyga [this message]
2015-07-15  6:31 ` [PATCH v3 00/46] usb: gadget: rework ep matching and claiming mechanism Robert Baldyga
2015-07-15  6:31 ` Robert Baldyga
2015-07-15  6:31 ` [PATCH v3 01/46] usb: gadget: encapsulate endpoint " Robert Baldyga
2015-07-15  6:31   ` Robert Baldyga
2015-07-15  6:31   ` Robert Baldyga
2015-07-20 14:43   ` Krzysztof Opasiak
2015-07-20 14:43     ` Krzysztof Opasiak
2015-07-20 14:43     ` Krzysztof Opasiak
2015-07-15  6:31 ` [PATCH v3 02/46] usb: gadget: add endpoint capabilities flags Robert Baldyga
2015-07-15  6:31   ` Robert Baldyga
2015-07-15  6:31   ` Robert Baldyga
2015-07-15  6:31 ` [PATCH v3 03/46] usb: gadget: add endpoint capabilities helper macros Robert Baldyga
2015-07-15  6:31   ` Robert Baldyga
2015-07-15  6:31   ` Robert Baldyga
2015-07-15  6:31 ` [PATCH v3 04/46] staging: emxx_udc: add ep capabilities support Robert Baldyga
2015-07-15  6:31   ` Robert Baldyga
2015-07-15  6:31   ` Robert Baldyga
2015-07-15  6:31 ` [PATCH v3 05/46] usb: chipidea: udc: " Robert Baldyga
2015-07-15  6:31   ` Robert Baldyga
2015-07-15  6:31   ` Robert Baldyga
2015-07-15  6:31 ` [PATCH v3 06/46] usb: dwc2: gadget: " Robert Baldyga
2015-07-15  6:31   ` Robert Baldyga
2015-07-15  6:31   ` Robert Baldyga
2015-07-15  6:31 ` [PATCH v3 07/46] usb: dwc3: " Robert Baldyga
2015-07-15  6:31   ` Robert Baldyga
2015-07-21 16:43   ` Felipe Balbi
2015-07-21 16:43     ` Felipe Balbi
2015-07-21 16:43     ` Felipe Balbi
2015-07-15  6:31 ` [PATCH v3 08/46] usb: gadget: amd5536udc: " Robert Baldyga
2015-07-15  6:31   ` Robert Baldyga
2015-07-15  6:31   ` Robert Baldyga
2015-07-15  6:31 ` [PATCH v3 09/46] usb: gadget: at91_udc: " Robert Baldyga
2015-07-15  6:31   ` Robert Baldyga
2015-07-15  6:31   ` Robert Baldyga
2015-07-15  6:31 ` [PATCH v3 10/46] usb: gadget: bcm63xx_udc: " Robert Baldyga
2015-07-15  6:31   ` Robert Baldyga
2015-07-15  6:31   ` Robert Baldyga
2015-07-15  6:31 ` [PATCH v3 11/46] usb: gadget: bdc: " Robert Baldyga
2015-07-15  6:31   ` Robert Baldyga
2015-07-15  6:31   ` Robert Baldyga
2015-07-15  6:31 ` [PATCH v3 12/46] usb: gadget: dummy-hcd: " Robert Baldyga
2015-07-15  6:31   ` Robert Baldyga
2015-07-15  6:31   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 13/46] usb: gadget: fotg210-udc: " Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 14/46] usb: gadget: fsl_qe_udc: " Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 15/46] usb: gadget: fsl_udc_core: " Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 16/46] usb: gadget: fusb300_udc: " Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 17/46] usb: gadget: goku_udc: " Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 18/46] usb: gadget: gr_udc: " Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 19/46] usb: gadget: lpc32xx_udc: " Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 20/46] usb: gadget: m66592-udc: " Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 21/46] usb: gadget: mv_u3d_core: " Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 22/46] usb: gadget: mv_udc_core: " Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 23/46] usb: gadget: net2272: " Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 24/46] usb: gadget: net2280: " Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 25/46] usb: gadget: omap_udc: " Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 26/46] usb: gadget: pch_ud: " Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-20 15:08   ` Krzysztof Opasiak
2015-07-20 15:08     ` Krzysztof Opasiak
2015-07-20 15:08     ` Krzysztof Opasiak
2015-07-25  9:34     ` Robert Baldyga
2015-07-25  9:34       ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 27/46] usb: gadget: pxa25x_udc: " Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 28/46] usb: gadget: pxa27x_udc: " Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 29/46] usb: gadget: r8a66597-udc: " Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 30/46] usb: gadget: s3c-hsudc: " Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 31/46] usb: gadget: s3c2410_udc: " Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 32/46] usb: gadget: udc-xilinx: " Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 33/46] usb: isp1760: udc: " Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 34/46] usb: musb: gadget: " Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 35/46] usb: renesas: " Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 36/46] usb: gadget: atmel_usba_udc: " Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 37/46] usb: gadget: epautoconf: add endpoint capabilities flags verification Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 38/46] usb: gadget: epautoconf: remove pxa quirk from ep_matches() Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 39/46] usb: gadget: epautoconf: remove ep and desc configuration " Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 40/46] usb: gadget: epautoconf: rework ep_matches() function Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 41/46] usb: gadget: add 'ep_match' callback to usb_gadget_ops Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 42/46] usb: gadget: move ep_matches() from epautoconf to udc-core Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 43/46] usb: gadget: move find_ep() from epautoconf to gadget.h Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 44/46] usb: gadget: net2280: add net2280_match_ep() function Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 45/46] usb: gadget: goku_udc: add goku_match_ep() function Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32 ` [PATCH v3 46/46] usb: musb: gadget: add musb_match_ep() function Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga
2015-07-15  6:32   ` Robert Baldyga

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=1436941953-1327-1-git-send-email-r.baldyga@samsung.com \
    --to=r.baldyga@samsung.com \
    --cc=Peter.Chen@freescale.com \
    --cc=andrzej.p@samsung.com \
    --cc=balbi@ti.com \
    --cc=cernekee@gmail.com \
    --cc=dahlmann.thomas@arcor.de \
    --cc=daniel@zonque.org \
    --cc=devel@driverdev.osuosl.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=haojian.zhuang@gmail.com \
    --cc=johnyoun@synopsys.com \
    --cc=leoli@freescale.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-geode@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=m.szyprowski@samsung.com \
    --cc=michal.simek@xilinx.com \
    --cc=nicolas.ferre@atmel.com \
    --cc=robert.jarzmik@free.fr \
    /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.