diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2013-02-19 13:42:17 -0500 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2013-02-19 13:42:17 -0500 |
commit | 018ba0a6efada61b9bc17500101d81c3d35807c2 (patch) | |
tree | 13361ad9197c5021841a0ccf0bfb1dabfd6d424e /drivers/pci/pci-acpi.c | |
parent | fd5e20bcb465e8d69a6fda617a7b35fb5f8d4eb1 (diff) | |
parent | 181380b702eee1a9aca51354d7b87c7b08541fcf (diff) |
Merge branch 'pci/yinghai-root-bus-hotplug' into next
* pci/yinghai-root-bus-hotplug:
PCI/ACPI: Don't cache _PRT, and don't associate them with bus numbers
Diffstat (limited to 'drivers/pci/pci-acpi.c')
-rw-r--r-- | drivers/pci/pci-acpi.c | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c index 1c2587c40299..c685ff5e12d2 100644 --- a/drivers/pci/pci-acpi.c +++ b/drivers/pci/pci-acpi.c | |||
@@ -307,25 +307,6 @@ static void pci_acpi_setup(struct device *dev) | |||
307 | struct pci_dev *pci_dev = to_pci_dev(dev); | 307 | struct pci_dev *pci_dev = to_pci_dev(dev); |
308 | acpi_handle handle = ACPI_HANDLE(dev); | 308 | acpi_handle handle = ACPI_HANDLE(dev); |
309 | struct acpi_device *adev; | 309 | struct acpi_device *adev; |
310 | acpi_status status; | ||
311 | acpi_handle dummy; | ||
312 | |||
313 | /* | ||
314 | * Evaluate and parse _PRT, if exists. This code allows parsing of | ||
315 | * _PRT objects within the scope of non-bridge devices. Note that | ||
316 | * _PRTs within the scope of a PCI bridge assume the bridge's | ||
317 | * subordinate bus number. | ||
318 | * | ||
319 | * TBD: Can _PRTs exist within the scope of non-bridge PCI devices? | ||
320 | */ | ||
321 | status = acpi_get_handle(handle, METHOD_NAME__PRT, &dummy); | ||
322 | if (ACPI_SUCCESS(status)) { | ||
323 | unsigned char bus; | ||
324 | |||
325 | bus = pci_dev->subordinate ? | ||
326 | pci_dev->subordinate->number : pci_dev->bus->number; | ||
327 | acpi_pci_irq_add_prt(handle, pci_domain_nr(pci_dev->bus), bus); | ||
328 | } | ||
329 | 310 | ||
330 | acpi_power_resource_register_device(dev, handle); | 311 | acpi_power_resource_register_device(dev, handle); |
331 | if (acpi_bus_get_device(handle, &adev) || !adev->wakeup.flags.valid) | 312 | if (acpi_bus_get_device(handle, &adev) || !adev->wakeup.flags.valid) |
@@ -341,7 +322,6 @@ static void pci_acpi_setup(struct device *dev) | |||
341 | 322 | ||
342 | static void pci_acpi_cleanup(struct device *dev) | 323 | static void pci_acpi_cleanup(struct device *dev) |
343 | { | 324 | { |
344 | struct pci_dev *pci_dev = to_pci_dev(dev); | ||
345 | acpi_handle handle = ACPI_HANDLE(dev); | 325 | acpi_handle handle = ACPI_HANDLE(dev); |
346 | struct acpi_device *adev; | 326 | struct acpi_device *adev; |
347 | 327 | ||
@@ -351,10 +331,6 @@ static void pci_acpi_cleanup(struct device *dev) | |||
351 | pci_acpi_remove_pm_notifier(adev); | 331 | pci_acpi_remove_pm_notifier(adev); |
352 | } | 332 | } |
353 | acpi_power_resource_unregister_device(dev, handle); | 333 | acpi_power_resource_unregister_device(dev, handle); |
354 | |||
355 | if (pci_dev->subordinate) | ||
356 | acpi_pci_irq_del_prt(pci_domain_nr(pci_dev->bus), | ||
357 | pci_dev->subordinate->number); | ||
358 | } | 334 | } |
359 | 335 | ||
360 | static struct acpi_bus_type acpi_pci_bus = { | 336 | static struct acpi_bus_type acpi_pci_bus = { |