This patch adds support for the new get_resuming_ports HCD method to the xhci-hcd driver. Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> CC: Mathias Nyman <mathias.nyman@xxxxxxxxx> --- [as1869] 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); -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html