linux/drivers/pci
Rafael J. Wysocki 53540098b2 ACPI / glue: Add .match() callback to struct acpi_bus_type
USB uses the .find_bridge() callback from struct acpi_bus_type
incorrectly, because as a result of the way it is used by USB every
device in the system that doesn't have a bus type or parent is
passed to usb_acpi_find_device() for inspection.

What USB actually needs, though, is to call usb_acpi_find_device()
for USB ports that don't have a bus type defined, but have
usb_port_device_type as their device type, as well as for USB
devices.

To fix that replace the struct bus_type pointer in struct
acpi_bus_type used for matching devices to specific subsystems
with a .match() callback to be used for this purpose and update
the users of struct acpi_bus_type, including USB, accordingly.
Define the .match() callback routine for USB, usb_acpi_bus_match(),
in such a way that it will cover both USB devices and USB ports
and remove the now redundant .find_bridge() callback pointer from
usb_acpi_bus.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Yinghai Lu <yinghai@kernel.org>
Acked-by: Jeff Garzik <jgarzik@pobox.com>
2013-03-04 14:23:40 +01:00
..
hotplug PCI changes for the v3.9 merge window: 2013-02-25 21:18:18 -08:00
pcie PCI changes for the v3.9 merge window: 2013-02-25 21:18:18 -08:00
access.c PCI: Fix PCI Express Capability accessors for PCI_EXP_FLAGS 2013-02-15 11:46:24 -07:00
ats.c
bus.c
host-bridge.c
hotplug-pci.c
htirq.c
ioapic.c
iov.c PCI changes for the v3.9 merge window: 2013-02-25 21:18:18 -08:00
irq.c
Kconfig
Makefile
msi.c
msi.h
of.c
pci-acpi.c ACPI / glue: Add .match() callback to struct acpi_bus_type 2013-03-04 14:23:40 +01:00
pci-driver.c
pci-label.c
pci-stub.c
pci-sysfs.c
pci.c hlist: drop the node parameter from iterators 2013-02-27 19:10:24 -08:00
pci.h
probe.c
proc.c new helper: file_inode(file) 2013-02-22 23:31:31 -05:00
quirks.c
remove.c PCI changes for the v3.9 merge window: 2013-02-25 21:18:18 -08:00
rom.c
search.c
setup-bus.c
setup-irq.c
setup-res.c
slot.c
syscall.c
vpd.c
xen-pcifront.c