| From 5b55ffb6c6963078ac0dfade101764cd0b66c31b Mon Sep 17 00:00:00 2001 |
| From: Mathias Nyman <mathias.nyman@linux.intel.com> |
| Date: Mon, 21 May 2018 16:39:54 +0300 |
| Subject: [PATCH 1442/1795] xhci: Add helper to get xhci roothub from hcd |
| |
| quick way to get the xhci roothub and thus all the ports |
| belonging to a certain hcd |
| |
| Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| (cherry picked from commit ffd4b4fc0b9a1526b64240676d309506b2d5eceb) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> |
| --- |
| drivers/usb/host/xhci-hub.c | 9 +++++++++ |
| drivers/usb/host/xhci.h | 2 ++ |
| 2 files changed, 11 insertions(+) |
| |
| diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c |
| index 32cd52ca8318..b6fd26fa7faf 100644 |
| --- a/drivers/usb/host/xhci-hub.c |
| +++ b/drivers/usb/host/xhci-hub.c |
| @@ -554,6 +554,15 @@ static int xhci_get_ports(struct usb_hcd *hcd, __le32 __iomem ***port_array) |
| return max_ports; |
| } |
| |
| +struct xhci_hub *xhci_get_rhub(struct usb_hcd *hcd) |
| +{ |
| + struct xhci_hcd *xhci = hcd_to_xhci(hcd); |
| + |
| + if (hcd->speed >= HCD_USB3) |
| + return &xhci->usb3_rhub; |
| + return &xhci->usb2_rhub; |
| +} |
| + |
| static __le32 __iomem *xhci_get_port_io_addr(struct usb_hcd *hcd, int index) |
| { |
| __le32 __iomem **port_array; |
| diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h |
| index 2ec0ca2cd87f..d90b97ec20a2 100644 |
| --- a/drivers/usb/host/xhci.h |
| +++ b/drivers/usb/host/xhci.h |
| @@ -2114,6 +2114,8 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, u16 wIndex, |
| char *buf, u16 wLength); |
| int xhci_hub_status_data(struct usb_hcd *hcd, char *buf); |
| int xhci_find_raw_port_number(struct usb_hcd *hcd, int port1); |
| +struct xhci_hub *xhci_get_rhub(struct usb_hcd *hcd); |
| + |
| void xhci_hc_died(struct xhci_hcd *xhci); |
| |
| #ifdef CONFIG_PM |
| -- |
| 2.19.0 |
| |