PCI Hotplug: acpiphp: get pci_bus from acpi handle correctly
authorAlex Chiang <achiang@hp.com>
Thu, 23 Jul 2009 23:03:05 +0000 (17:03 -0600)
committerJesse Barnes <jbarnes@virtuousgeek.org>
Wed, 9 Sep 2009 20:29:23 +0000 (13:29 -0700)
commit5228a828ee044834d78abdf25306bf46b19dcc4d
treeb64bab920f7b2b8704ac6df4eaa389e3aa99064e
parent76d56de57ae60c6be383e48e7068fd973d5fb08a
PCI Hotplug: acpiphp: get pci_bus from acpi handle correctly

We cannot simply call acpi_get_pci_dev() on any random ACPI handle
and hope that it works, because a PCI root bridge may not have
an associated struct pci_dev.

This is allowed per the PCI specification, and is referred to as a
non-materialized bridge.

So, depending on the type of PCI bridge that the handle points to,
use the appropriate interface to return the struct pci_bus correctly.

Reviewed-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Alex Chiang <achiang@hp.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
drivers/pci/hotplug/acpiphp_glue.c