All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robert Baldyga <r.baldyga@samsung.com>
To: balbi@ti.com
Cc: gregkh@linuxfoundation.org, 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, stern@rowland.harvard.edu,
	petr.cvek@tul.cz, Robert Baldyga <r.baldyga@samsung.com>
Subject: [PATCH v4 01/46] usb: gadget: encapsulate endpoint claiming mechanism
Date: Mon, 27 Jul 2015 11:16:11 +0200	[thread overview]
Message-ID: <1437988616-6962-2-git-send-email-r.baldyga@samsung.com> (raw)
In-Reply-To: <1437988616-6962-1-git-send-email-r.baldyga@samsung.com>

So far it was necessary for usb functions to set ep->driver_data in
endpoint obtained from autoconfig to non-null value, to indicate that
endpoint is claimed by function (in autoconfig it was checked if endpoint
has set this field to non-null value, and if it has, it was assumed that
it is claimed). It could cause bugs because if some function doesn't
set this field autoconfig could return the same endpoint more than one
time.

To help to avoid such bugs this patch adds claimed flag to struct usb_ep,
and  encapsulates endpoint claiming mechanism inside usb_ep_autoconfig_ss()
and usb_ep_autoconfig_reset(), so now usb functions don't need to perform
any additional actions to mark endpoint obtained from autoconfig as claimed.

Signed-off-by: Robert Baldyga <r.baldyga@samsung.com>
---
 drivers/usb/gadget/epautoconf.c | 11 ++++++-----
 include/linux/usb/gadget.h      |  1 +
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/usb/gadget/epautoconf.c b/drivers/usb/gadget/epautoconf.c
index 919cdfd..8e00ca7 100644
--- a/drivers/usb/gadget/epautoconf.c
+++ b/drivers/usb/gadget/epautoconf.c
@@ -53,7 +53,7 @@ ep_matches (
 	int		num_req_streams = 0;
 
 	/* endpoint already claimed? */
-	if (NULL != ep->driver_data)
+	if (ep->claimed)
 		return 0;
 
 	/* only support ep0 for portable CONTROL traffic */
@@ -240,7 +240,7 @@ find_ep (struct usb_gadget *gadget, const char *name)
  * updated with the assigned number of streams if it is
  * different from the original value. To prevent the endpoint
  * from being returned by a later autoconfig call, claim it by
- * assigning ep->driver_data to some non-null value.
+ * assigning ep->claimed to true.
  *
  * On failure, this returns a null endpoint descriptor.
  */
@@ -323,6 +323,7 @@ struct usb_ep *usb_ep_autoconfig_ss(
 found_ep:
 	ep->desc = NULL;
 	ep->comp_desc = NULL;
+	ep->claimed = true;
 	return ep;
 }
 EXPORT_SYMBOL_GPL(usb_ep_autoconfig_ss);
@@ -354,7 +355,7 @@ EXPORT_SYMBOL_GPL(usb_ep_autoconfig_ss);
  * descriptor bEndpointAddress.  For bulk endpoints, the wMaxPacket value
  * is initialized as if the endpoint were used at full speed.  To prevent
  * the endpoint from being returned by a later autoconfig call, claim it
- * by assigning ep->driver_data to some non-null value.
+ * by assigning ep->claimed to true.
  *
  * On failure, this returns a null endpoint descriptor.
  */
@@ -373,7 +374,7 @@ EXPORT_SYMBOL_GPL(usb_ep_autoconfig);
  *
  * Use this for devices where one configuration may need to assign
  * endpoint resources very differently from the next one.  It clears
- * state such as ep->driver_data and the record of assigned endpoints
+ * state such as ep->claimed and the record of assigned endpoints
  * used by usb_ep_autoconfig().
  */
 void usb_ep_autoconfig_reset (struct usb_gadget *gadget)
@@ -381,7 +382,7 @@ void usb_ep_autoconfig_reset (struct usb_gadget *gadget)
 	struct usb_ep	*ep;
 
 	list_for_each_entry (ep, &gadget->ep_list, ep_list) {
-		ep->driver_data = NULL;
+		ep->claimed = false;
 	}
 	gadget->in_epnum = 0;
 	gadget->out_epnum = 0;
diff --git a/include/linux/usb/gadget.h b/include/linux/usb/gadget.h
index cea0511..9c5e486 100644
--- a/include/linux/usb/gadget.h
+++ b/include/linux/usb/gadget.h
@@ -173,6 +173,7 @@ struct usb_ep {
 	const char		*name;
 	const struct usb_ep_ops	*ops;
 	struct list_head	ep_list;
+	bool			claimed;
 	unsigned		maxpacket:16;
 	unsigned		maxpacket_limit:16;
 	unsigned		max_streams:16;
-- 
1.9.1


WARNING: multiple messages have this Message-ID (diff)
From: Robert Baldyga <r.baldyga@samsung.com>
To: balbi@ti.com
Cc: nicolas.ferre@atmel.com, robert.jarzmik@free.fr,
	m.szyprowski@samsung.com, devel@driverdev.osuosl.org,
	cernekee@gmail.com, michal.simek@xilinx.com,
	stern@rowland.harvard.edu, Peter.Chen@freescale.com,
	dahlmann.thomas@arcor.de, leoli@freescale.com,
	johnyoun@synopsys.com, Robert Baldyga <r.baldyga@samsung.com>,
	linux-geode@lists.infradead.org, haojian.zhuang@gmail.com,
	andrzej.p@samsung.com, linux-omap@vger.kernel.org,
	petr.cvek@tul.cz, linux-arm-kernel@lists.infradead.org,
	gregkh@linuxfoundation.org, linux-usb@vger.kernel.org,
	linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	daniel@zonque.org
Subject: [PATCH v4 01/46] usb: gadget: encapsulate endpoint claiming mechanism
Date: Mon, 27 Jul 2015 11:16:11 +0200	[thread overview]
Message-ID: <1437988616-6962-2-git-send-email-r.baldyga@samsung.com> (raw)
In-Reply-To: <1437988616-6962-1-git-send-email-r.baldyga@samsung.com>

So far it was necessary for usb functions to set ep->driver_data in
endpoint obtained from autoconfig to non-null value, to indicate that
endpoint is claimed by function (in autoconfig it was checked if endpoint
has set this field to non-null value, and if it has, it was assumed that
it is claimed). It could cause bugs because if some function doesn't
set this field autoconfig could return the same endpoint more than one
time.

To help to avoid such bugs this patch adds claimed flag to struct usb_ep,
and  encapsulates endpoint claiming mechanism inside usb_ep_autoconfig_ss()
and usb_ep_autoconfig_reset(), so now usb functions don't need to perform
any additional actions to mark endpoint obtained from autoconfig as claimed.

Signed-off-by: Robert Baldyga <r.baldyga@samsung.com>
---
 drivers/usb/gadget/epautoconf.c | 11 ++++++-----
 include/linux/usb/gadget.h      |  1 +
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/usb/gadget/epautoconf.c b/drivers/usb/gadget/epautoconf.c
index 919cdfd..8e00ca7 100644
--- a/drivers/usb/gadget/epautoconf.c
+++ b/drivers/usb/gadget/epautoconf.c
@@ -53,7 +53,7 @@ ep_matches (
 	int		num_req_streams = 0;
 
 	/* endpoint already claimed? */
-	if (NULL != ep->driver_data)
+	if (ep->claimed)
 		return 0;
 
 	/* only support ep0 for portable CONTROL traffic */
@@ -240,7 +240,7 @@ find_ep (struct usb_gadget *gadget, const char *name)
  * updated with the assigned number of streams if it is
  * different from the original value. To prevent the endpoint
  * from being returned by a later autoconfig call, claim it by
- * assigning ep->driver_data to some non-null value.
+ * assigning ep->claimed to true.
  *
  * On failure, this returns a null endpoint descriptor.
  */
@@ -323,6 +323,7 @@ struct usb_ep *usb_ep_autoconfig_ss(
 found_ep:
 	ep->desc = NULL;
 	ep->comp_desc = NULL;
+	ep->claimed = true;
 	return ep;
 }
 EXPORT_SYMBOL_GPL(usb_ep_autoconfig_ss);
@@ -354,7 +355,7 @@ EXPORT_SYMBOL_GPL(usb_ep_autoconfig_ss);
  * descriptor bEndpointAddress.  For bulk endpoints, the wMaxPacket value
  * is initialized as if the endpoint were used at full speed.  To prevent
  * the endpoint from being returned by a later autoconfig call, claim it
- * by assigning ep->driver_data to some non-null value.
+ * by assigning ep->claimed to true.
  *
  * On failure, this returns a null endpoint descriptor.
  */
@@ -373,7 +374,7 @@ EXPORT_SYMBOL_GPL(usb_ep_autoconfig);
  *
  * Use this for devices where one configuration may need to assign
  * endpoint resources very differently from the next one.  It clears
- * state such as ep->driver_data and the record of assigned endpoints
+ * state such as ep->claimed and the record of assigned endpoints
  * used by usb_ep_autoconfig().
  */
 void usb_ep_autoconfig_reset (struct usb_gadget *gadget)
@@ -381,7 +382,7 @@ void usb_ep_autoconfig_reset (struct usb_gadget *gadget)
 	struct usb_ep	*ep;
 
 	list_for_each_entry (ep, &gadget->ep_list, ep_list) {
-		ep->driver_data = NULL;
+		ep->claimed = false;
 	}
 	gadget->in_epnum = 0;
 	gadget->out_epnum = 0;
diff --git a/include/linux/usb/gadget.h b/include/linux/usb/gadget.h
index cea0511..9c5e486 100644
--- a/include/linux/usb/gadget.h
+++ b/include/linux/usb/gadget.h
@@ -173,6 +173,7 @@ struct usb_ep {
 	const char		*name;
 	const struct usb_ep_ops	*ops;
 	struct list_head	ep_list;
+	bool			claimed;
 	unsigned		maxpacket:16;
 	unsigned		maxpacket_limit:16;
 	unsigned		max_streams:16;
-- 
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 v4 01/46] usb: gadget: encapsulate endpoint claiming mechanism
Date: Mon, 27 Jul 2015 11:16:11 +0200	[thread overview]
Message-ID: <1437988616-6962-2-git-send-email-r.baldyga@samsung.com> (raw)
In-Reply-To: <1437988616-6962-1-git-send-email-r.baldyga@samsung.com>

So far it was necessary for usb functions to set ep->driver_data in
endpoint obtained from autoconfig to non-null value, to indicate that
endpoint is claimed by function (in autoconfig it was checked if endpoint
has set this field to non-null value, and if it has, it was assumed that
it is claimed). It could cause bugs because if some function doesn't
set this field autoconfig could return the same endpoint more than one
time.

To help to avoid such bugs this patch adds claimed flag to struct usb_ep,
and  encapsulates endpoint claiming mechanism inside usb_ep_autoconfig_ss()
and usb_ep_autoconfig_reset(), so now usb functions don't need to perform
any additional actions to mark endpoint obtained from autoconfig as claimed.

Signed-off-by: Robert Baldyga <r.baldyga@samsung.com>
---
 drivers/usb/gadget/epautoconf.c | 11 ++++++-----
 include/linux/usb/gadget.h      |  1 +
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/usb/gadget/epautoconf.c b/drivers/usb/gadget/epautoconf.c
index 919cdfd..8e00ca7 100644
--- a/drivers/usb/gadget/epautoconf.c
+++ b/drivers/usb/gadget/epautoconf.c
@@ -53,7 +53,7 @@ ep_matches (
 	int		num_req_streams = 0;
 
 	/* endpoint already claimed? */
-	if (NULL != ep->driver_data)
+	if (ep->claimed)
 		return 0;
 
 	/* only support ep0 for portable CONTROL traffic */
@@ -240,7 +240,7 @@ find_ep (struct usb_gadget *gadget, const char *name)
  * updated with the assigned number of streams if it is
  * different from the original value. To prevent the endpoint
  * from being returned by a later autoconfig call, claim it by
- * assigning ep->driver_data to some non-null value.
+ * assigning ep->claimed to true.
  *
  * On failure, this returns a null endpoint descriptor.
  */
@@ -323,6 +323,7 @@ struct usb_ep *usb_ep_autoconfig_ss(
 found_ep:
 	ep->desc = NULL;
 	ep->comp_desc = NULL;
+	ep->claimed = true;
 	return ep;
 }
 EXPORT_SYMBOL_GPL(usb_ep_autoconfig_ss);
@@ -354,7 +355,7 @@ EXPORT_SYMBOL_GPL(usb_ep_autoconfig_ss);
  * descriptor bEndpointAddress.  For bulk endpoints, the wMaxPacket value
  * is initialized as if the endpoint were used at full speed.  To prevent
  * the endpoint from being returned by a later autoconfig call, claim it
- * by assigning ep->driver_data to some non-null value.
+ * by assigning ep->claimed to true.
  *
  * On failure, this returns a null endpoint descriptor.
  */
@@ -373,7 +374,7 @@ EXPORT_SYMBOL_GPL(usb_ep_autoconfig);
  *
  * Use this for devices where one configuration may need to assign
  * endpoint resources very differently from the next one.  It clears
- * state such as ep->driver_data and the record of assigned endpoints
+ * state such as ep->claimed and the record of assigned endpoints
  * used by usb_ep_autoconfig().
  */
 void usb_ep_autoconfig_reset (struct usb_gadget *gadget)
@@ -381,7 +382,7 @@ void usb_ep_autoconfig_reset (struct usb_gadget *gadget)
 	struct usb_ep	*ep;
 
 	list_for_each_entry (ep, &gadget->ep_list, ep_list) {
-		ep->driver_data = NULL;
+		ep->claimed = false;
 	}
 	gadget->in_epnum = 0;
 	gadget->out_epnum = 0;
diff --git a/include/linux/usb/gadget.h b/include/linux/usb/gadget.h
index cea0511..9c5e486 100644
--- a/include/linux/usb/gadget.h
+++ b/include/linux/usb/gadget.h
@@ -173,6 +173,7 @@ struct usb_ep {
 	const char		*name;
 	const struct usb_ep_ops	*ops;
 	struct list_head	ep_list;
+	bool			claimed;
 	unsigned		maxpacket:16;
 	unsigned		maxpacket_limit:16;
 	unsigned		max_streams:16;
-- 
1.9.1

  reply	other threads:[~2015-07-27  9:17 UTC|newest]

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