alistair23-linux/include/linux/usb
Lan Tianyu 3f5eb14135 usb: add find_raw_port_number callback to struct hc_driver()
xhci driver divides the root hub into two logical hubs which work
respectively for usb 2.0 and usb 3.0 devices. They are independent
devices in the usb core. But in the ACPI table, it's one device node
and all usb2.0 and usb3.0 ports are under it. Binding usb port with
its acpi node needs the raw port number which is reflected in the xhci
extended capabilities table. This patch is to add find_raw_port_number
callback to struct hc_driver(), fill it with xhci_find_raw_port_number()
which will return raw port number and add a wrap usb_hcd_find_raw_port_number().

Otherwise, refactor xhci_find_real_port_number(). Using
xhci_find_raw_port_number() to get real index in the HW port status
registers instead of scanning through the xHCI roothub port array.
This can help to speed up.

All addresses in xhci->usb2_ports and xhci->usb3_ports array are
kown good ports and don't include following bad ports in the extended
capabilities talbe.
     (1) root port that doesn't have an entry
     (2) root port with unknown speed
     (3) root port that is listed twice and with different speeds.

So xhci_find_raw_port_number() will only return port num of good ones
and never touch bad ports above.

Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
2013-03-25 10:39:17 -07:00
..
association.h
atmel_usba_udc.h
audio-v2.h
audio.h UAPI: (Scripted) Disintegrate include/linux/usb 2012-10-09 09:49:07 +01:00
c67x00.h
cdc-wdm.h
cdc_ncm.h net: cdc_ncm, cdc_mbim: allow user to prefer NCM for backwards compatibility 2013-03-17 11:59:03 -04:00
ch9.h UAPI: (Scripted) Disintegrate include/linux/usb 2012-10-09 09:49:07 +01:00
chipidea.h
composite.h usb: gadget: composite: fix kernel-doc warnings 2013-03-05 13:15:00 +02:00
dwc3-omap.h usb: dwc3: omap: Add an API to write to dwc mailbox 2013-01-25 09:17:09 +02:00
ehci_def.h USB: EHCI: Tegra: Fix wrong register definition 2012-09-18 17:40:56 +01:00
ehci_pdriver.h USB: EHCI: remove ehci_port_power() routine 2012-10-31 12:48:07 -07:00
ezusb.h USB: ezusb: unexport some functions that aren't being used 2012-10-24 14:19:16 -07:00
functionfs.h UAPI: (Scripted) Disintegrate include/linux/usb 2012-10-09 09:49:07 +01:00
g_hid.h
gadget.h usb: gadget: completely remove ->start/->stop 2013-01-24 21:11:32 +02:00
gpio_vbus.h
hcd.h usb: add find_raw_port_number callback to struct hc_driver() 2013-03-25 10:39:17 -07:00
input.h
intel_mid_otg.h
iowarrior.h
irda.h
isp116x.h
isp1301.h
isp1362.h
isp1760.h
m66592.h
msm_hsusb.h
msm_hsusb_hw.h
musb-omap.h
musb.h ARM: OMAP2: MUSB: Specify omap4 has mailbox 2013-02-06 11:40:13 -08:00
net2280.h
nop-usb-xceiv.h
ohci_pdriver.h USB: ohci: allow platform driver to specify the number of ports 2012-10-22 11:23:59 -07:00
omap_control_usb.h usb: omap_control_usb: fix compile warning 2013-02-06 11:40:14 -08:00
omap_usb.h usb: phy: add a new driver for usb3 phy 2013-01-25 13:02:50 +02:00
otg.h
phy.h usb: otg: add device tree support to otg library 2013-01-25 10:20:14 +02:00
phy_companion.h
quirks.h
r8a66597.h
renesas_usbhs.h
rndis_host.h
samsung_usb_phy.h ARM: EXYNOS: Update & move usb-phy types to generic include layer 2013-01-23 13:39:07 +02:00
serial.h USB: serial: add modem-status-change wait queue 2013-03-21 15:59:02 -07:00
sl811.h
storage.h
tegra_usb_phy.h usb: host: tegra: make use of PHY pointer of HCD 2013-01-28 11:42:11 -07:00
tilegx.h
uas.h
ulpi.h usb: ulpi: Define a *otg_ulpi_create no-op 2013-03-20 17:30:40 +02:00
usbnet.h net: usb: fix regression from FLAG_NOARP code 2013-02-08 01:49:49 -05:00
wusb-wa.h
wusb.h