android_kernel_msm-6.1_noth.../include/linux/usb
Alan Stern 379cacc5e5 USB: Report wakeup events on root-hub ports
When a USB device attached to a root-hub port sends a wakeup request
to a sleeping system, we do not report the wakeup event to the PM
core.  This is because a system resume involves waking up all
suspended USB ports as quickly as possible; without the normal
USB_RESUME_TIMEOUT delay, the host controller driver doesn't set the
USB_PORT_STAT_C_SUSPEND flag and so usb_port_resume() doesn't realize
that a wakeup request was received.

However, some environments (such as Chrome OS) want to have all wakeup
events reported so they can be ascribed to the appropriate device.  To
accommodate these environments, this patch adds a new routine to the
hub driver and a corresponding new HCD method to be used when a root
hub resumes.  The HCD method returns a bitmap of ports that have
initiated a wakeup signal but not yet completed resuming.  The hub
driver can then report to the PM core that the child devices attached
to these ports initiated a wakeup event.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Suggested-by: Anshuman Gupta <anshuman.gupta@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-06-25 21:44:43 +08:00
..
association.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
audio-v2.h sound updates for 4.18 2018-06-06 09:08:38 -07:00
audio-v3.h ALSA: usb-audio: UAC3 Add support for connector insertion. 2018-05-15 07:35:34 +02:00
audio.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
c67x00.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
cdc-wdm.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
cdc.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
cdc_ncm.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
ch9.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
chipidea.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
composite.h usb: gadget: composite Allow for larger configuration descriptors 2018-05-21 10:36:14 +03:00
ehci-dbgp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ehci_def.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
ehci_pdriver.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
ezusb.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
functionfs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
g_hid.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
gadget.h usb/gadget: Constify usb_gadget_get_string "table" argument 2018-05-15 10:06:49 +03:00
gadget_configfs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
gpio_vbus.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
hcd.h USB: Report wakeup events on root-hub ports 2018-06-25 21:44:43 +08:00
input.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
iowarrior.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
irda.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
isp116x.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
isp1301.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
isp1362.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
isp1760.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
m66592.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
musb-ux500.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
musb.h usb: musb: remove unused members in struct musb_hdrc_config 2018-05-22 12:03:25 +02:00
net2280.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
of.h USB: of: clean up device-node helper 2017-11-28 15:12:38 +01:00
ohci_pdriver.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
otg-fsm.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
otg.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pd.h typec: tcpm: Add core support for sink side PPS 2018-04-25 14:16:00 +02:00
pd_ado.h typec: tcpm: Add ADO header for Alert message handling 2018-03-09 09:21:40 -08:00
pd_bdo.h typec: tcpm: Move out of staging 2017-09-18 10:58:31 +02:00
pd_ext_sdb.h typec: tcpm: Add SDB header for Status message handling 2018-03-09 09:21:40 -08:00
pd_vdo.h usb: pd: fix the offset for SVID specific commands 2017-12-19 11:47:23 +01:00
phy.h USB: phy: drop legacy board-file support 2018-04-22 15:58:24 +02:00
phy_companion.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
quirks.h usb: quirks: add control message delay for 1b1c:1b20 2018-03-06 09:17:34 -08:00
r8a66597.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
renesas_usbhs.h usb: renesas_usbhs: Add support for RZ/A1 2018-01-09 16:18:50 +01:00
rndis_host.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
role.h usb: common: Small class for USB role switches 2018-03-22 13:40:10 +01:00
samsung_usb_phy.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
serial.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
sl811.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
storage.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
tcpm.h typec: tcpm: Add core support for sink side PPS 2018-04-25 14:16:00 +02:00
tegra_usb_phy.h usb: tegra: Move utmi-pads reset from ehci-tegra to tegra-phy 2018-05-15 10:09:49 +03:00
typec.h usb: typec: Separate the definitions for data and power roles 2018-03-22 13:40:10 +01:00
typec_mux.h usb: typec: API for controlling USB Type-C Multiplexers 2018-03-22 13:40:10 +01:00
uas.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ulpi.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
usb338x.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
usb_phy_generic.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
usbnet.h usbnet: fix alignment for frames with no ethernet header 2017-12-07 14:32:30 -05:00
wusb-wa.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
wusb.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
xhci-dbgp.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00