devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Roger Quadros <rogerq@ti.com>
To: peter.chen@freescale.com, sergei.shtylyov@cogentembedded.com
Cc: balbi@kernel.org, tony@atomide.com, gregkh@linuxfoundation.org,
	dan.j.williams@intel.com, mathias.nyman@linux.intel.com,
	Joao.Pinto@synopsys.com, jun.li@freescale.com,
	grygorii.strashko@ti.com, yoshihiro.shimoda.uh@renesas.com,
	robh@kernel.org, nsekhar@ti.com, b-liu@ti.com,
	linux-usb@vger.kernel.org, linux-omap@vger.kernel.org,
	linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
	rogerq@ti.com
Subject: [PATCH v10 03/14] usb: hcd.h: Add OTG to HCD interface
Date: Thu, 9 Jun 2016 10:51:11 +0300	[thread overview]
Message-ID: <57591FEF.4010507@ti.com> (raw)
In-Reply-To: <1465376626-30122-4-git-send-email-rogerq@ti.com>

The OTG core will use struct otg_hcd_ops to interface
with the HCD (Host Controller Device).

The main purpose of this interface is to avoid directly
calling HCD APIs from the OTG core as they
wouldn't be defined in the built-in symbol table if
CONFIG_USB is m.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Acked-by: Peter Chen <peter.chen@nxp.com>
---
v10:
- clarify HCD abbreviation in commit message.
- Fix comment
	- remove unnecessary "of" in comment
	- use URB instead of urb.

 include/linux/usb/hcd.h | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/include/linux/usb/hcd.h b/include/linux/usb/hcd.h
index 66fc137..7729c1f 100644
--- a/include/linux/usb/hcd.h
+++ b/include/linux/usb/hcd.h
@@ -400,6 +400,30 @@ struct hc_driver {
 
 };
 
+/**
+ * struct otg_hcd_ops - Interface between OTG core and HCD
+ *
+ * Provided by the HCD core to allow the OTG core to interface with the HCD
+ *
+ * @add: function to add the HCD
+ * @remove: function to remove the HCD
+ * @usb_bus_start_enum: function to immediately start bus enumeration
+ * @usb_control_msg: function to build and send a control URB
+ * @usb_hub_find_child: function to get pointer to the child device
+ */
+struct otg_hcd_ops {
+	int (*add)(struct usb_hcd *hcd,
+		   unsigned int irqnum, unsigned long irqflags);
+	void (*remove)(struct usb_hcd *hcd);
+	int (*usb_bus_start_enum)(struct usb_bus *bus, unsigned int port_num);
+	int (*usb_control_msg)(struct usb_device *dev, unsigned int pipe,
+			       __u8 request, __u8 requesttype, __u16 value,
+			       __u16 index, void *data, __u16 size,
+			       int timeout);
+	struct usb_device * (*usb_hub_find_child)(struct usb_device *hdev,
+						  int port1);
+};
+
 static inline int hcd_giveback_urb_in_bh(struct usb_hcd *hcd)
 {
 	return hcd->driver->flags & HCD_BH;
-- 
2.7.4

  parent reply	other threads:[~2016-06-09  7:51 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-08  9:03 [PATCH v9 00/14] USB OTG/dual-role framework Roger Quadros
2016-06-08  9:03 ` [PATCH v9 01/14] usb: hcd: Initialize hcd->flags to 0 Roger Quadros
2016-06-08  9:03 ` [PATCH v9 02/14] usb: otg-fsm: Prevent build warning "VDBG" redefined Roger Quadros
2016-06-08  9:03 ` [PATCH v9 03/14] usb: hcd.h: Add OTG to HCD interface Roger Quadros
     [not found]   ` <1465376626-30122-4-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>
2016-06-08 11:39     ` Sergei Shtylyov
2016-06-08 12:04       ` Roger Quadros
     [not found]         ` <575809E9.7010409-l0cyMroinI0@public.gmane.org>
2016-06-08 12:10           ` Sergei Shtylyov
     [not found]             ` <f5f068ae-c46a-5bad-45e1-f0f9cb5f8592-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org>
2016-06-09  7:31               ` Roger Quadros
2016-06-09 10:16                 ` Sergei Shtylyov
     [not found]                   ` <5201761f-4efa-f941-b05f-e4a2b91c75c0-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org>
2016-06-09 14:11                     ` Alan Stern
2016-06-10  7:01                       ` Roger Quadros
2016-06-09  7:51   ` Roger Quadros [this message]
2016-06-08  9:03 ` [PATCH v9 04/14] usb: otg-fsm: use usb_otg wherever possible Roger Quadros
2016-06-08  9:03 ` [PATCH v9 05/14] usb: otg-fsm: move host controller operations into usb_otg->hcd_ops Roger Quadros
2016-06-08  9:03 ` [PATCH v9 06/14] usb: gadget.h: Add OTG to gadget interface Roger Quadros
2016-06-08  9:03 ` [PATCH v9 07/14] usb: otg: get rid of CONFIG_USB_OTG_FSM in favour of CONFIG_USB_OTG Roger Quadros
2016-06-08  9:03 ` [PATCH v9 08/14] usb: otg: add OTG/dual-role core Roger Quadros
2016-06-08  9:53   ` Peter Chen
2016-06-08 10:12     ` Roger Quadros
     [not found]       ` <5757EF7A.20604-l0cyMroinI0@public.gmane.org>
2016-06-08 12:42         ` Peter Chen
2016-06-09  7:24           ` Roger Quadros
     [not found]             ` <575919BC.8080003-l0cyMroinI0@public.gmane.org>
2016-06-12  6:26               ` Peter Chen
2016-06-12 10:56                 ` Peter Chen
2016-06-09  7:53   ` [PATCH v10 " Roger Quadros
2016-06-09 12:34     ` Sergei Shtylyov
2016-06-10  7:04       ` Roger Quadros
2016-06-10 10:19       ` Roger Quadros
     [not found]         ` <575A9430.6070508-l0cyMroinI0@public.gmane.org>
2016-06-10 10:44           ` Sergei Shtylyov
2016-06-10 10:54             ` Roger Quadros
     [not found]               ` <575A9C7C.7020902-l0cyMroinI0@public.gmane.org>
2016-06-10 11:02                 ` Felipe Balbi
2016-06-08  9:03 ` [PATCH v9 09/14] usb: of: add an API to get OTG device from USB controller node Roger Quadros
2016-06-08  9:03 ` [PATCH v9 10/14] usb: otg: add hcd companion support Roger Quadros
2016-06-08  9:03 ` [PATCH v9 11/14] usb: otg: use dev_dbg() instead of VDBG() Roger Quadros
     [not found]   ` <1465376626-30122-12-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>
2016-06-08 15:10     ` Joe Perches
     [not found]       ` <1465398640.25087.50.camel-6d6DIl74uiNBDgjK7y7TUQ@public.gmane.org>
2016-06-09  7:25         ` Roger Quadros
2016-06-09  7:55     ` [PATCH v10 " Roger Quadros
     [not found]       ` <575920D9.7080905-l0cyMroinI0@public.gmane.org>
2016-06-09 15:43         ` Joe Perches
     [not found]           ` <1465487024.25087.72.camel-6d6DIl74uiNBDgjK7y7TUQ@public.gmane.org>
2016-06-10  7:05             ` Roger Quadros
2016-06-08  9:03 ` [PATCH v9 12/14] usb: hcd: Adapt to OTG core Roger Quadros
2016-06-08 11:42   ` Sergei Shtylyov
     [not found]     ` <22442eeb-e927-d7ac-52c6-3aebd2106837-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org>
2016-06-08 12:06       ` Roger Quadros
2016-06-08 12:11         ` Sergei Shtylyov
     [not found]           ` <21edbb67-8219-14ac-5c33-cabfd62d5fa1-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org>
2016-06-09  7:27             ` Roger Quadros
2016-06-08  9:03 ` [PATCH v9 13/14] usb: gadget: udc: adapt " Roger Quadros
     [not found]   ` <1465376626-30122-14-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>
2016-06-09 10:49     ` Yoshihiro Shimoda
     [not found]       ` <SG2PR06MB09198DD132E005FFD4F4CAEED85F0-ESzmfEwOt/zNQ8RBPPB5A20DtJ1/0DrXvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2016-06-10  7:06         ` Roger Quadros
2016-06-08  9:03 ` [PATCH v9 14/14] usb: host: xhci-plat: Add otg device to platform data Roger Quadros
     [not found] ` <1465376626-30122-1-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>
2016-06-09  5:27   ` [PATCH v9 00/14] USB OTG/dual-role framework Peter Chen
     [not found]     ` <CAL411-owotvsJVEnbFh5g8yK7YEPnnpBhYx9_tRf6NQET38L+A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-06-09  7:30       ` Roger Quadros
2016-06-09 10:13         ` Yoshihiro Shimoda
2016-06-10 13:07 [PATCH v10 " Roger Quadros
2016-06-10 13:07 ` [PATCH v10 03/14] usb: hcd.h: Add OTG to HCD interface Roger Quadros
2016-06-14  8:17   ` Roger Quadros
     [not found]     ` <575FBD8D.7090700-l0cyMroinI0@public.gmane.org>
2016-06-14 14:21       ` Alan Stern
2016-06-15  7:14         ` Roger Quadros

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=57591FEF.4010507@ti.com \
    --to=rogerq@ti.com \
    --cc=Joao.Pinto@synopsys.com \
    --cc=b-liu@ti.com \
    --cc=balbi@kernel.org \
    --cc=dan.j.williams@intel.com \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=grygorii.strashko@ti.com \
    --cc=jun.li@freescale.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mathias.nyman@linux.intel.com \
    --cc=nsekhar@ti.com \
    --cc=peter.chen@freescale.com \
    --cc=robh@kernel.org \
    --cc=sergei.shtylyov@cogentembedded.com \
    --cc=tony@atomide.com \
    --cc=yoshihiro.shimoda.uh@renesas.com \
    /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 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).