linux-stable/drivers/usb/host
Mathias Nyman 26b76798e0 Intel xhci: refactor EHCI/xHCI port switching
Make the Linux xHCI driver automatically try to switchover the EHCI ports to
xHCI when an Intel xHCI host is detected, and it also finds an Intel EHCI host.

This means we will no longer have to add Intel xHCI hosts to a quirks list when
the PCI device IDs change.  Simply continuing to add new Intel xHCI PCI device
IDs to the quirks list is not sustainable.

During suspend ports may be swicthed back to EHCI by BIOS and not properly
restored to xHCI at resume. Previously both EHCI and xHCI resume functions
switched ports back to XHCI, but it's enough to do it in xHCI only
because the hub driver doesn't start running again until after both hosts are resumed.

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
2013-07-23 14:50:29 -07:00
..
whci wusbhc: disable suspend and resume on the root hub. 2013-06-06 12:14:38 -07:00
Kconfig Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2013-07-13 14:52:21 -07:00
Makefile USB: EHCI: make ehci-tegra a separate driver 2013-06-17 13:54:48 -07:00
bcma-hcd.c usb: remove use of __devexit 2012-11-21 13:27:17 -08:00
ehci-atmel.c ehci-atmel.c: prepare clk before calling enable 2013-06-24 16:21:52 -07:00
ehci-dbg.c USB: EHCI: convert singly-linked lists to list_heads 2013-03-25 13:35:05 -07:00
ehci-fsl.c usb: fsl: add missing platform_driver owner 2013-05-16 17:48:28 -07:00
ehci-fsl.h
ehci-grlib.c USB: host: use platform_{get,set}_drvdata() 2013-05-30 21:32:54 +09:00
ehci-hcd.c USB: EHCI: make ehci-tegra a separate driver 2013-06-17 13:54:48 -07:00
ehci-hub.c USB: EHCI: export ehci_handshake for ehci-hcd sub-drivers 2013-06-17 13:54:47 -07:00
ehci-mem.c
ehci-msm.c USB: EHCI: make ehci-msm a separate driver 2013-04-08 09:40:20 -07:00
ehci-mv.c USB: ehci-mv: remove unnecessary platform_set_drvdata() 2013-05-16 17:47:14 -07:00
ehci-mxc.c USB: ehci-mxc: remove unnecessary platform_set_drvdata() 2013-05-16 17:47:15 -07:00
ehci-octeon.c USB: ehci-octeon: remove unnecessary platform_set_drvdata() 2013-05-16 17:47:15 -07:00
ehci-omap.c USB: ehci-omap: Tweak PHY initialization sequence 2013-06-17 13:56:25 -07:00
ehci-orion.c Merge 3.10-rc3 into usb-next 2013-05-27 11:00:52 +09:00
ehci-pci.c Intel xhci: refactor EHCI/xHCI port switching 2013-07-23 14:50:29 -07:00
ehci-platform.c ARM SoC specific changes 2013-07-02 13:43:38 -07:00
ehci-pmcmsp.c USB: EHCI: Remove double assignment of .start in ehci_msp_hc_driver 2013-06-17 13:56:25 -07:00
ehci-ppc-of.c USB: host: use platform_{get,set}_drvdata() 2013-05-30 21:32:54 +09:00
ehci-ps3.c usb: PS3 EHCI remove unneeded ehci_shutdown 2013-04-01 12:32:43 -07:00
ehci-q.c usb: ehci: mark unlink_empty_async_suspended() as __maybe_unused 2013-03-28 14:49:53 -07:00
ehci-s5p.c usb: ehci-s5p: skip phy setup for Exynos5440 based platforms 2013-05-30 21:34:29 +09:00
ehci-sched.c USB: EHCI: fix regression related to qh_refresh() 2013-05-30 21:20:04 +09:00
ehci-sead3.c USB: ehci-sead3: remove unnecessary platform_set_drvdata() 2013-05-16 17:47:16 -07:00
ehci-sh.c USB: ehci-sh: remove unnecessary platform_set_drvdata() 2013-05-16 17:47:17 -07:00
ehci-spear.c usb: host: ehci-spear: Remove redundant checks 2013-05-30 21:32:53 +09:00
ehci-sysfs.c
ehci-tegra.c USB: EHCI: tegra: Fix oops in error cleanup 2013-06-17 13:56:25 -07:00
ehci-tilegx.c usb: host: ehci-tilegx: Remove redundant platform_set_drvdata() 2013-05-17 10:14:52 -07:00
ehci-timer.c USB: EHCI: improve end_unlink_async() 2013-03-25 13:36:32 -07:00
ehci-w90x900.c usb: remove use of __devexit 2012-11-21 13:27:17 -08:00
ehci-xilinx-of.c USB: host: use platform_{get,set}_drvdata() 2013-05-30 21:32:54 +09:00
ehci.h USB: EHCI: export ehci_handshake for ehci-hcd sub-drivers 2013-06-17 13:54:47 -07:00
fhci-dbg.c
fhci-hcd.c usb: remove use of __devexit 2012-11-21 13:27:17 -08:00
fhci-hub.c
fhci-mem.c
fhci-q.c
fhci-sched.c USB: FHCI: upgrade the isochronous API 2013-05-30 21:34:31 +09:00
fhci-tds.c
fhci.h USB: FHCI: upgrade the isochronous API 2013-05-30 21:34:31 +09:00
fsl-mph-dr-of.c USB: fsl-mph-dr-of: fix regression on mpc5121e 2013-01-11 16:01:06 -08:00
fusbh200-hcd.c usb: host: fusbh200-hcd: rename two functions 2013-06-03 10:52:40 -07:00
fusbh200.h usb host: Faraday USB2.0 FUSBH200-HCD driver 2013-05-17 10:12:52 -07:00
hwa-hc.c USB: HWA: fix device probe failure 2013-06-24 16:20:43 -07:00
imx21-dbg.c
imx21-hcd.c USB: IMX21: upgrade the isochronous API 2013-05-30 21:34:30 +09:00
imx21-hcd.h
isp116x-hcd.c usb: remove use of __devinit 2012-11-21 13:27:16 -08:00
isp116x.h
isp1362-hcd.c procfs: new helper - PDE_DATA(inode) 2013-04-09 14:13:32 -04:00
isp1362.h
isp1760-hcd.c USB: remove remaining instances of USB_SUSPEND 2013-05-15 13:44:44 -04:00
isp1760-hcd.h
isp1760-if.c USB: host: use platform_{get,set}_drvdata() 2013-05-30 21:32:54 +09:00
octeon2-common.c
ohci-at91.c USB: ohci-at91: prepare clk before calling enable 2013-06-24 16:21:52 -07:00
ohci-da8xx.c usb: host: ohci-da8xx: Remove redundant platform_set_drvdata() 2013-05-17 10:14:52 -07:00
ohci-dbg.c
ohci-ep93xx.c usb: remove use of __devinit 2012-11-21 13:27:16 -08:00
ohci-exynos.c USB: set device dma_mask without reference to global data 2013-05-16 17:30:52 -07:00
ohci-hcd.c USB: OHCI: remove bogus #error 2013-06-06 11:16:44 -07:00
ohci-hub.c USB: OHCI: prepare to make ohci-hcd a library module 2013-05-30 21:36:03 +09:00
ohci-jz4740.c USB: ohci-jz4740: remove unnecessary platform_set_drvdata() 2013-05-16 17:47:17 -07:00
ohci-mem.c
ohci-nxp.c drivers/usb/host: remove leftover release_mem_region 2013-05-30 21:32:52 +09:00
ohci-octeon.c usb: host: ohci-octeon: Remove redundant platform_set_drvdata() 2013-05-17 10:14:52 -07:00
ohci-omap.c usb: host: ohci-omap: Remove redundant platform_set_drvdata() 2013-05-17 10:14:53 -07:00
ohci-omap3.c Merge 3.10-rc3 into usb-next 2013-05-27 11:00:52 +09:00
ohci-pci.c USB: OHCI: make ohci-pci a separate driver 2013-05-30 21:36:03 +09:00
ohci-platform.c USB: OHCI: make ohci-platform a separate driver 2013-06-03 11:02:26 -07:00
ohci-ppc-of.c USB: host: use platform_{get,set}_drvdata() 2013-05-30 21:32:54 +09:00
ohci-ps3.c usb: remove use of __devinit 2012-11-21 13:27:16 -08:00
ohci-pxa27x.c Merge 3.10-rc3 into usb-next 2013-05-27 11:00:52 +09:00
ohci-q.c USB: OHCI: Generic changes to make ohci-pci a separate driver 2013-05-30 21:36:03 +09:00
ohci-s3c2410.c usb: Convert to devm_ioremap_resource() 2013-01-22 11:41:58 -08:00
ohci-sa1111.c usb: remove use of __devinit 2012-11-21 13:27:16 -08:00
ohci-sm501.c USB: ohci-sm501: remove unnecessary platform_set_drvdata() 2013-05-16 17:47:18 -07:00
ohci-spear.c Merge 3.10-rc3 into usb-next 2013-05-27 11:00:52 +09:00
ohci-tilegx.c usb: host: ohci-tilegx: Remove redundant platform_set_drvdata() 2013-05-17 10:14:53 -07:00
ohci-tmio.c usb: host: ohci-tmio: Remove redundant platform_set_drvdata() 2013-05-17 10:14:53 -07:00
ohci.h USB: OHCI: add a name for the platform-private field 2013-06-03 11:03:18 -07:00
oxu210hp-hcd.c Merge 3.10-rc3 into usb-next 2013-05-27 11:00:52 +09:00
oxu210hp.h
pci-quirks.c Intel xhci: refactor EHCI/xHCI port switching 2013-07-23 14:50:29 -07:00
pci-quirks.h Intel xhci: refactor EHCI/xHCI port switching 2013-07-23 14:50:29 -07:00
r8a66597-hcd.c usb: remove use of __devexit 2012-11-21 13:27:17 -08:00
r8a66597.h
sl811-hcd.c USB: remove remaining instances of USB_SUSPEND 2013-05-15 13:44:44 -04:00
sl811.h
sl811_cs.c drivers/usb: use module_pcmcia_driver() in pcmcia drivers 2013-03-15 12:26:38 -07:00
ssb-hcd.c usb: remove use of __devexit 2012-11-21 13:27:17 -08:00
u132-hcd.c USB: remove CONFIG_USB_SUSPEND option 2013-03-28 11:10:22 -07:00
uhci-debug.c USB: uhci: beautify source code 2013-01-24 13:59:26 -08:00
uhci-grlib.c USB: host: use platform_{get,set}_drvdata() 2013-05-30 21:32:54 +09:00
uhci-hcd.c Merge 3.8-rc5 into usb-next 2013-01-25 12:41:02 -08:00
uhci-hcd.h USB: UHCI: remove unused definition 2013-01-24 13:42:09 -08:00
uhci-hub.c USB: UHCI: fix for suspend of virtual HP controller 2013-05-15 13:41:40 -04:00
uhci-pci.c
uhci-platform.c USB: host: use platform_{get,set}_drvdata() 2013-05-30 21:32:54 +09:00
uhci-q.c USB: fix latency in uhci-hcd and ohci-hcd 2013-05-15 13:42:45 -04:00
xhci-dbg.c xhci: Remove BUG_ON in xhci_get_input_control_ctx. 2013-06-14 13:50:17 -07:00
xhci-ext-caps.h usb: xhci: add USB2 Link power management BESL support 2013-06-05 16:48:24 -07:00
xhci-hub.c xhci: Report USB 2.1 link status for L1 2013-07-23 14:19:19 -07:00
xhci-mem.c xhci: check for failed dma pool allocation 2013-06-18 10:53:54 -07:00
xhci-pci.c Intel xhci: refactor EHCI/xHCI port switching 2013-07-23 14:50:29 -07:00
xhci-plat.c usb: xhci: add the suspend/resume functionality 2013-07-23 14:19:18 -07:00
xhci-ring.c xhci: Remove BUG_ON in xhci_get_input_control_ctx. 2013-06-14 13:50:17 -07:00
xhci.c xhci: Add missing unlocks on error paths 2013-06-25 16:41:06 -07:00
xhci.h Merge 3.10-rc5 into usb-next 2013-06-08 21:27:51 -07:00