From: Roger Quadros <rogerq@ti.com> To: <peter.chen@freescale.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>, <sergei.shtylyov@cogentembedded.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>, Roger Quadros <rogerq@ti.com> Subject: [PATCH v8 03/14] usb: hcd.h: Add OTG to HCD interface Date: Fri, 13 May 2016 13:03:17 +0300 [thread overview] Message-ID: <1463133808-10630-4-git-send-email-rogerq@ti.com> (raw) In-Reply-To: <1463133808-10630-1-git-send-email-rogerq@ti.com> The OTG core will use struct otg_hcd_ops to interface with the HCD controller. 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> --- 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 b98f831..861ccaa 100644 --- a/include/linux/usb/hcd.h +++ b/include/linux/usb/hcd.h @@ -399,6 +399,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 of 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
WARNING: multiple messages have this Message-ID (diff)
From: Roger Quadros <rogerq@ti.com> To: peter.chen@freescale.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, sergei.shtylyov@cogentembedded.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, Roger Quadros <rogerq@ti.com> Subject: [PATCH v8 03/14] usb: hcd.h: Add OTG to HCD interface Date: Fri, 13 May 2016 13:03:17 +0300 [thread overview] Message-ID: <1463133808-10630-4-git-send-email-rogerq@ti.com> (raw) In-Reply-To: <1463133808-10630-1-git-send-email-rogerq@ti.com> The OTG core will use struct otg_hcd_ops to interface with the HCD controller. 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> --- 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 b98f831..861ccaa 100644 --- a/include/linux/usb/hcd.h +++ b/include/linux/usb/hcd.h @@ -399,6 +399,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 of 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
next prev parent reply other threads:[~2016-05-13 10:04 UTC|newest] Thread overview: 121+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-05-13 10:03 [PATCH v8 00/14] USB OTG/dual-role framework Roger Quadros 2016-05-13 10:03 ` Roger Quadros 2016-05-13 10:03 ` [PATCH v8 01/14] usb: hcd: Initialize hcd->flags to 0 Roger Quadros 2016-05-13 10:03 ` Roger Quadros 2016-05-13 10:03 ` [PATCH v8 02/14] usb: otg-fsm: Prevent build warning "VDBG" redefined Roger Quadros 2016-05-13 10:03 ` Roger Quadros 2016-05-13 10:03 ` Roger Quadros [this message] 2016-05-13 10:03 ` [PATCH v8 03/14] usb: hcd.h: Add OTG to HCD interface Roger Quadros 2016-05-13 10:03 ` [PATCH v8 04/14] usb: otg-fsm: use usb_otg wherever possible Roger Quadros 2016-05-13 10:03 ` Roger Quadros 2016-05-13 10:03 ` [PATCH v8 05/14] usb: otg-fsm: move host controller operations into usb_otg->hcd_ops Roger Quadros 2016-05-13 10:03 ` Roger Quadros 2016-05-13 10:03 ` [PATCH v8 06/14] usb: gadget.h: Add OTG to gadget interface Roger Quadros 2016-05-13 10:03 ` Roger Quadros 2016-05-13 10:03 ` [PATCH v8 07/14] usb: otg: get rid of CONFIG_USB_OTG_FSM in favour of CONFIG_USB_OTG Roger Quadros 2016-05-13 10:03 ` Roger Quadros 2016-05-13 10:03 ` [PATCH v8 08/14] usb: otg: add OTG/dual-role core Roger Quadros 2016-05-13 10:03 ` Roger Quadros 2016-05-16 9:00 ` Roger Quadros 2016-05-16 9:00 ` Roger Quadros 2016-05-18 7:45 ` Peter Chen 2016-05-18 12:59 ` Roger Quadros 2016-05-18 12:59 ` Roger Quadros 2016-05-20 8:31 ` Roger Quadros 2016-05-20 8:31 ` Roger Quadros 2016-05-20 9:19 ` Roger Quadros 2016-05-20 9:19 ` Roger Quadros 2016-05-20 9:53 ` Peter Chen 2016-05-20 9:53 ` Peter Chen 2016-05-23 10:06 ` Roger Quadros 2016-05-23 10:06 ` Roger Quadros 2016-05-24 9:45 ` Roger Quadros 2016-05-24 9:45 ` Roger Quadros 2016-05-25 2:44 ` Peter Chen 2016-05-25 3:19 ` Jun Li 2016-05-25 3:19 ` Jun Li 2016-05-25 12:26 ` Roger Quadros 2016-05-25 12:26 ` Roger Quadros 2016-05-25 12:21 ` Roger Quadros 2016-05-25 12:21 ` Roger Quadros 2016-05-25 14:44 ` Jun Li 2016-05-25 14:44 ` Jun Li 2016-05-27 8:03 ` Peter Chen 2016-05-27 8:12 ` Peter Chen 2016-05-13 10:03 ` [PATCH v8 09/14] usb: of: add an API to get OTG device from USB controller node Roger Quadros 2016-05-13 10:03 ` Roger Quadros 2016-05-20 9:29 ` [PATCH v9 " Roger Quadros 2016-05-20 9:29 ` Roger Quadros 2016-05-23 21:06 ` Rob Herring 2016-05-13 10:03 ` [PATCH v8 10/14] usb: otg: add hcd companion support Roger Quadros 2016-05-13 10:03 ` Roger Quadros 2016-05-13 18:13 ` Rob Herring 2016-05-13 18:13 ` Rob Herring 2016-05-16 8:12 ` Roger Quadros 2016-05-16 8:12 ` Roger Quadros 2016-05-20 9:32 ` [PATCH v9 " Roger Quadros 2016-05-20 9:32 ` Roger Quadros 2016-05-23 21:07 ` Rob Herring 2016-05-13 10:03 ` [PATCH v8 11/14] usb: otg: use dev_dbg() instead of VDBG() Roger Quadros 2016-05-13 10:03 ` Roger Quadros 2016-05-13 10:03 ` [PATCH v8 12/14] usb: hcd: Adapt to OTG core Roger Quadros 2016-05-13 10:03 ` Roger Quadros 2016-05-13 10:03 ` [PATCH v8 13/14] usb: gadget: udc: adapt " Roger Quadros 2016-05-13 10:03 ` Roger Quadros 2016-05-16 7:02 ` Peter Chen 2016-05-16 8:26 ` Roger Quadros 2016-05-16 8:26 ` Roger Quadros 2016-05-16 9:23 ` Peter Chen 2016-05-16 9:23 ` Peter Chen 2016-05-16 9:51 ` Roger Quadros 2016-05-16 9:51 ` Roger Quadros 2016-05-17 7:38 ` Jun Li 2016-05-17 7:38 ` Jun Li 2016-05-17 8:08 ` Roger Quadros 2016-05-17 8:08 ` Roger Quadros 2016-05-17 8:28 ` Jun Li 2016-05-17 8:28 ` Jun Li 2016-05-18 12:42 ` Roger Quadros 2016-05-18 12:42 ` Roger Quadros 2016-05-18 13:12 ` Jun Li 2016-05-18 13:12 ` Jun Li 2016-05-18 13:43 ` Roger Quadros 2016-05-18 13:43 ` Roger Quadros 2016-05-18 14:46 ` Jun Li 2016-05-18 14:46 ` Jun Li 2016-05-19 7:32 ` Roger Quadros 2016-05-19 7:32 ` Roger Quadros 2016-05-21 2:29 ` Peter Chen 2016-05-21 2:29 ` Peter Chen 2016-05-23 3:21 ` Peter Chen 2016-05-23 3:21 ` Peter Chen 2016-05-23 10:11 ` Roger Quadros 2016-05-23 10:11 ` Roger Quadros 2016-05-23 10:34 ` Jun Li 2016-05-23 10:34 ` Jun Li 2016-05-23 10:36 ` Roger Quadros 2016-05-23 10:36 ` Roger Quadros 2016-05-24 2:53 ` Peter Chen 2016-05-24 2:53 ` Peter Chen 2016-06-08 7:32 ` Roger Quadros 2016-06-08 7:32 ` Roger Quadros 2016-06-08 9:05 ` Peter Chen 2016-06-08 9:05 ` Peter Chen 2016-05-18 3:18 ` Peter Chen 2016-05-18 12:45 ` Roger Quadros 2016-05-18 12:45 ` Roger Quadros 2016-05-20 1:39 ` Peter Chen 2016-05-20 1:39 ` Peter Chen 2016-05-20 7:26 ` Roger Quadros 2016-05-20 7:26 ` Roger Quadros 2016-05-21 2:44 ` Peter Chen 2016-05-21 2:44 ` Peter Chen 2016-06-01 7:38 ` Peter Chen 2016-06-02 11:07 ` Roger Quadros 2016-06-02 11:07 ` Roger Quadros 2016-05-13 10:03 ` [PATCH v8 14/14] usb: host: xhci-plat: Add otg device to platform data Roger Quadros 2016-05-13 10:03 ` Roger Quadros 2016-05-30 9:29 ` [PATCH v8 00/14] USB OTG/dual-role framework Peter Chen 2016-05-30 9:29 ` Peter Chen 2016-05-30 14:04 ` Roger Quadros 2016-05-30 14:04 ` 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=1463133808-10630-4-git-send-email-rogerq@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: linkBe 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.