[3/3] USB: xhci-hcd: Add get_resuming_ports method
From: Alan Stern <stern@rowland.harvard.edu>
Date: 2018-06-08 20:59:57
This patch adds support for the new get_resuming_ports HCD method to the xhci-hcd driver. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> CC: Mathias Nyman <mathias.nyman@intel.com> --- [as1869] -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Index: usb-4.x/drivers/usb/host/xhci-hub.c ===================================================================
--- usb-4.x.orig/drivers/usb/host/xhci-hub.c
+++ usb-4.x/drivers/usb/host/xhci-hub.c@@ -1684,4 +1684,15 @@ int xhci_bus_resume(struct usb_hcd *hcd) return 0; } +unsigned long xhci_get_resuming_ports(struct usb_hcd *hcd) +{ + struct xhci_hcd *xhci = hcd_to_xhci(hcd); + struct xhci_bus_state *bus_state; + + bus_state = &xhci->bus_state[hcd_index(hcd)]; + + /* USB3 port wakeups are reported via usb_wakeup_notification() */ + return bus_state->resuming_ports; /* USB2 ports only */ +} + #endif /* CONFIG_PM */
Index: usb-4.x/drivers/usb/host/xhci.c ===================================================================
--- usb-4.x.orig/drivers/usb/host/xhci.c
+++ usb-4.x/drivers/usb/host/xhci.c@@ -5019,6 +5019,7 @@ static const struct hc_driver xhci_hc_dr .hub_status_data = xhci_hub_status_data, .bus_suspend = xhci_bus_suspend, .bus_resume = xhci_bus_resume, + .get_resuming_ports = xhci_get_resuming_ports, /* * call back when device connected and addressed
Index: usb-4.x/drivers/usb/host/xhci.h ===================================================================
--- usb-4.x.orig/drivers/usb/host/xhci.h
+++ usb-4.x/drivers/usb/host/xhci.h@@ -2104,9 +2104,11 @@ void xhci_hc_died(struct xhci_hcd *xhci) #ifdef CONFIG_PM int xhci_bus_suspend(struct usb_hcd *hcd); int xhci_bus_resume(struct usb_hcd *hcd); +unsigned long xhci_get_resuming_ports(struct usb_hcd *hcd); #else #define xhci_bus_suspend NULL #define xhci_bus_resume NULL +#define xhci_get_resuming_ports NULL #endif /* CONFIG_PM */ u32 xhci_port_state_to_neutral(u32 state);