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 02/46] usb: gadget: add endpoint capabilities flags
Date: Mon, 27 Jul 2015 11:16:12 +0200	[thread overview]
Message-ID: <1437988616-6962-3-git-send-email-r.baldyga@samsung.com> (raw)
In-Reply-To: <1437988616-6962-1-git-send-email-r.baldyga@samsung.com>

Introduce struct usb_ep_caps which contains information about capabilities
of usb endpoints - supported transfer types and directions. This structure
should be filled by UDC driver for each of its endpoints, and will be
used in epautoconf in new ep matching mechanism which will replace ugly
guessing of endpoint capabilities basing on its name.

Signed-off-by: Robert Baldyga <r.baldyga@samsung.com>
---
 include/linux/usb/gadget.h | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/include/linux/usb/gadget.h b/include/linux/usb/gadget.h
index 9c5e486..2e85b86 100644
--- a/include/linux/usb/gadget.h
+++ b/include/linux/usb/gadget.h
@@ -141,10 +141,29 @@ struct usb_ep_ops {
 };
 
 /**
+ * struct usb_ep_caps - endpoint capabilities description
+ * @type_control:Endpoint supports control type (reserved for ep0).
+ * @type_iso:Endpoint supports isochronous transfers.
+ * @type_bulk:Endpoint supports bulk transfers.
+ * @type_int:Endpoint supports interrupt transfers.
+ * @dir_in:Endpoint supports IN direction.
+ * @dir_out:Endpoint supports OUT direction.
+ */
+struct usb_ep_caps {
+	unsigned type_control:1;
+	unsigned type_iso:1;
+	unsigned type_bulk:1;
+	unsigned type_int:1;
+	unsigned dir_in:1;
+	unsigned dir_out:1;
+};
+
+/**
  * struct usb_ep - device side representation of USB endpoint
  * @name:identifier for the endpoint, such as "ep-a" or "ep9in-bulk"
  * @ops: Function pointers used to access hardware-specific operations.
  * @ep_list:the gadget's ep_list holds all of its endpoints
+ * @caps:The structure describing types and directions supported by endoint.
  * @maxpacket:The maximum packet size used on this endpoint.  The initial
  *	value can sometimes be reduced (hardware allowing), according to
  *      the endpoint descriptor used to configure the endpoint.
@@ -167,12 +186,14 @@ struct usb_ep_ops {
  * gadget->ep_list.  the control endpoint (gadget->ep0) is not in that list,
  * and is accessed only in response to a driver setup() callback.
  */
+
 struct usb_ep {
 	void			*driver_data;
 
 	const char		*name;
 	const struct usb_ep_ops	*ops;
 	struct list_head	ep_list;
+	struct usb_ep_caps	caps;
 	bool			claimed;
 	unsigned		maxpacket:16;
 	unsigned		maxpacket_limit: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 02/46] usb: gadget: add endpoint capabilities flags
Date: Mon, 27 Jul 2015 11:16:12 +0200	[thread overview]
Message-ID: <1437988616-6962-3-git-send-email-r.baldyga@samsung.com> (raw)
In-Reply-To: <1437988616-6962-1-git-send-email-r.baldyga@samsung.com>

Introduce struct usb_ep_caps which contains information about capabilities
of usb endpoints - supported transfer types and directions. This structure
should be filled by UDC driver for each of its endpoints, and will be
used in epautoconf in new ep matching mechanism which will replace ugly
guessing of endpoint capabilities basing on its name.

Signed-off-by: Robert Baldyga <r.baldyga@samsung.com>
---
 include/linux/usb/gadget.h | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/include/linux/usb/gadget.h b/include/linux/usb/gadget.h
index 9c5e486..2e85b86 100644
--- a/include/linux/usb/gadget.h
+++ b/include/linux/usb/gadget.h
@@ -141,10 +141,29 @@ struct usb_ep_ops {
 };
 
 /**
+ * struct usb_ep_caps - endpoint capabilities description
+ * @type_control:Endpoint supports control type (reserved for ep0).
+ * @type_iso:Endpoint supports isochronous transfers.
+ * @type_bulk:Endpoint supports bulk transfers.
+ * @type_int:Endpoint supports interrupt transfers.
+ * @dir_in:Endpoint supports IN direction.
+ * @dir_out:Endpoint supports OUT direction.
+ */
+struct usb_ep_caps {
+	unsigned type_control:1;
+	unsigned type_iso:1;
+	unsigned type_bulk:1;
+	unsigned type_int:1;
+	unsigned dir_in:1;
+	unsigned dir_out:1;
+};
+
+/**
  * struct usb_ep - device side representation of USB endpoint
  * @name:identifier for the endpoint, such as "ep-a" or "ep9in-bulk"
  * @ops: Function pointers used to access hardware-specific operations.
  * @ep_list:the gadget's ep_list holds all of its endpoints
+ * @caps:The structure describing types and directions supported by endoint.
  * @maxpacket:The maximum packet size used on this endpoint.  The initial
  *	value can sometimes be reduced (hardware allowing), according to
  *      the endpoint descriptor used to configure the endpoint.
@@ -167,12 +186,14 @@ struct usb_ep_ops {
  * gadget->ep_list.  the control endpoint (gadget->ep0) is not in that list,
  * and is accessed only in response to a driver setup() callback.
  */
+
 struct usb_ep {
 	void			*driver_data;
 
 	const char		*name;
 	const struct usb_ep_ops	*ops;
 	struct list_head	ep_list;
+	struct usb_ep_caps	caps;
 	bool			claimed;
 	unsigned		maxpacket:16;
 	unsigned		maxpacket_limit:16;
-- 
1.9.1

  parent 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 ` [PATCH v4 01/46] usb: gadget: encapsulate endpoint " 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 02/46] usb: gadget: add endpoint capabilities flags 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-3-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.