]> Pileus Git - ~andy/linux/blobdiff - drivers/pci/pci-acpi.c
Merge tag 'upstream-3.9-rc1' of git://git.infradead.org/linux-ubifs
[~andy/linux] / drivers / pci / pci-acpi.c
index e407c61559ca0f09c452b9f130a07ac93ad3dba6..39c937f9b426ef392e3820ee2c7f69e128da403e 100644 (file)
@@ -302,48 +302,11 @@ static int acpi_pci_find_device(struct device *dev, acpi_handle *handle)
        return 0;
 }
 
-static int acpi_pci_find_root_bridge(struct device *dev, acpi_handle *handle)
-{
-       int num;
-       unsigned int seg, bus;
-
-       /*
-        * The string should be the same as root bridge's name
-        * Please look at 'pci_scan_bus_parented'
-        */
-       num = sscanf(dev_name(dev), "pci%04x:%02x", &seg, &bus);
-       if (num != 2)
-               return -ENODEV;
-       *handle = acpi_get_pci_rootbridge_handle(seg, bus);
-       if (!*handle)
-               return -ENODEV;
-       return 0;
-}
-
 static void pci_acpi_setup(struct device *dev)
 {
        struct pci_dev *pci_dev = to_pci_dev(dev);
        acpi_handle handle = ACPI_HANDLE(dev);
        struct acpi_device *adev;
-       acpi_status status;
-       acpi_handle dummy;
-
-       /*
-        * Evaluate and parse _PRT, if exists.  This code allows parsing of
-        * _PRT objects within the scope of non-bridge devices.  Note that
-        * _PRTs within the scope of a PCI bridge assume the bridge's
-        * subordinate bus number.
-        *
-        * TBD: Can _PRTs exist within the scope of non-bridge PCI devices?
-        */
-       status = acpi_get_handle(handle, METHOD_NAME__PRT, &dummy);
-       if (ACPI_SUCCESS(status)) {
-               unsigned char bus;
-
-               bus = pci_dev->subordinate ?
-                       pci_dev->subordinate->number : pci_dev->bus->number;
-               acpi_pci_irq_add_prt(handle, pci_domain_nr(pci_dev->bus), bus);
-       }
 
        if (acpi_bus_get_device(handle, &adev) || !adev->wakeup.flags.valid)
                return;
@@ -358,7 +321,6 @@ static void pci_acpi_setup(struct device *dev)
 
 static void pci_acpi_cleanup(struct device *dev)
 {
-       struct pci_dev *pci_dev = to_pci_dev(dev);
        acpi_handle handle = ACPI_HANDLE(dev);
        struct acpi_device *adev;
 
@@ -367,16 +329,11 @@ static void pci_acpi_cleanup(struct device *dev)
                device_set_run_wake(dev, false);
                pci_acpi_remove_pm_notifier(adev);
        }
-
-       if (pci_dev->subordinate)
-               acpi_pci_irq_del_prt(pci_domain_nr(pci_dev->bus),
-                                    pci_dev->subordinate->number);
 }
 
 static struct acpi_bus_type acpi_pci_bus = {
        .bus = &pci_bus_type,
        .find_device = acpi_pci_find_device,
-       .find_bridge = acpi_pci_find_root_bridge,
        .setup = pci_acpi_setup,
        .cleanup = pci_acpi_cleanup,
 };