Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1192861

[PATCH v4 41/46] usb: gadget: add 'ep_match' callback to usb_gadget_ops

From Robert Baldyga <r.baldyga@samsung.com>
Newsgroups linux.kernel
Subject [PATCH v4 41/46] usb: gadget: add 'ep_match' callback to usb_gadget_ops
Date 2015-07-27 11:30 +0200
Message-ID <pQMTq-5RC-53@gated-at.bofh.it> (permalink)
References <pQMJH-5Ga-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Add callback that is called by epautoconf to allow UDC driver match the
best endpoint for specific descriptor. It's intended to supply mechanism
which allows to get rid of chip-specific endpoint matching code from
epautoconf.

If gadget has set 'ep_match' callback we prefer to call it first, and
if it fails to find matching endpoint, then we try to use default matching
algorithm.

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

diff --git a/drivers/usb/gadget/epautoconf.c b/drivers/usb/gadget/epautoconf.c
index 4fa6f5d..1b1fee0 100644
--- a/drivers/usb/gadget/epautoconf.c
+++ b/drivers/usb/gadget/epautoconf.c
@@ -165,6 +165,12 @@ struct usb_ep *usb_ep_autoconfig_ss(
 
 	type = desc->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK;
 
+	if (gadget->ops->match_ep) {
+		ep = gadget->ops->match_ep(gadget, desc, ep_comp);
+		if (ep)
+			goto found_ep;
+	}
+
 	/* First, apply chip-specific "best usage" knowledge.
 	 * This might make a good usb_gadget_ops hook ...
 	 */
diff --git a/include/linux/usb/gadget.h b/include/linux/usb/gadget.h
index c71b1de..6de3688 100644
--- a/include/linux/usb/gadget.h
+++ b/include/linux/usb/gadget.h
@@ -534,6 +534,9 @@ struct usb_gadget_ops {
 	int	(*udc_start)(struct usb_gadget *,
 			struct usb_gadget_driver *);
 	int	(*udc_stop)(struct usb_gadget *);
+	struct usb_ep *(*match_ep)(struct usb_gadget *,
+			struct usb_endpoint_descriptor *,
+			struct usb_ss_ep_comp_descriptor *);
 };
 
 /**
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v4 00/46] usb: gadget: rework ep matching and claiming mechanism Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:20 +0200
  [PATCH v4 37/46] usb: gadget: epautoconf: add endpoint capabilities  flags verification Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:30 +0200
  [PATCH v4 46/46] usb: musb: gadget: add musb_match_ep() function Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:30 +0200
  [PATCH v4 31/46] usb: gadget: s3c2410_udc: add ep capabilities support Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:30 +0200
  [PATCH v4 34/46] usb: musb: gadget: add ep capabilities support Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:30 +0200
  [PATCH v4 28/46] usb: gadget: pxa27x_udc: add ep capabilities support Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:30 +0200
  [PATCH v4 43/46] usb: gadget: move find_ep() from epautoconf to  gadget.h Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:30 +0200
  [PATCH v4 27/46] usb: gadget: pxa25x_udc: add ep capabilities support Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:30 +0200
  [PATCH v4 26/46] usb: gadget: pch_udc: add ep capabilities support Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:30 +0200
  [PATCH v4 22/46] usb: gadget: mv_udc_core: add ep capabilities support Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:30 +0200
  [PATCH v4 36/46] usb: gadget: atmel_usba_udc: add ep capabilities  support Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:30 +0200
  [PATCH v4 44/46] usb: gadget: net2280: add net2280_match_ep() function Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:30 +0200
  [PATCH v4 21/46] usb: gadget: mv_u3d_core: add ep capabilities support Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:30 +0200
  [PATCH v4 45/46] usb: gadget: goku_udc: add goku_match_ep() function Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:30 +0200
  [PATCH v4 24/46] usb: gadget: net2280: add ep capabilities support Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:30 +0200
  [PATCH v4 33/46] usb: isp1760: udc: add ep capabilities support Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:30 +0200
  [PATCH v4 32/46] usb: gadget: udc-xilinx: add ep capabilities support Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:30 +0200
  [PATCH v4 35/46] usb: renesas: gadget: add ep capabilities support Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:30 +0200
  [PATCH v4 30/46] usb: gadget: s3c-hsudc: add ep capabilities support Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:30 +0200
  [PATCH v4 29/46] usb: gadget: r8a66597-udc: add ep capabilities support Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:30 +0200
  [PATCH v4 41/46] usb: gadget: add 'ep_match' callback to usb_gadget_ops Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:30 +0200
  [PATCH v4 38/46] usb: gadget: epautoconf: remove pxa quirk from  ep_matches() Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:30 +0200
  [PATCH v4 25/46] usb: gadget: omap_udc: add ep capabilities support Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:30 +0200
  [PATCH v4 39/46] usb: gadget: epautoconf: remove ep and desc  configuration from ep_matches() Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:30 +0200
  [PATCH v4 23/46] usb: gadget: net2272: add ep capabilities support Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:30 +0200
  [PATCH v4 40/46] usb: gadget: epautoconf: rework ep_matches() function Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:30 +0200
  [PATCH v4 42/46] usb: gadget: move ep_matches() from epautoconf to  udc-core Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:30 +0200
  [PATCH v4 17/46] usb: gadget: goku_udc: add ep capabilities support Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:30 +0200
  [PATCH v4 18/46] usb: gadget: gr_udc: add ep capabilities support Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:40 +0200
  [PATCH v4 09/46] usb: gadget: at91_udc: add ep capabilities support Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:40 +0200
  [PATCH v4 15/46] usb: gadget: fsl_udc_core: add ep capabilities support Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:40 +0200
  [PATCH v4 11/46] usb: gadget: bdc: add ep capabilities support Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:40 +0200
  [PATCH v4 05/46] usb: chipidea: udc: add ep capabilities support Robert Baldyga <r.baldyga@samsung.com> - 2015-07-27 11:40 +0200

csiph-web