diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2013-12-18 14:03:38 -0700 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2013-12-18 14:03:38 -0700 |
commit | 330ebfe36e3dc21f656dfa59d69895e21bf6e9da (patch) | |
tree | 7eb064b76d37df212c27506798e7269acd14c327 /drivers/pci/remove.c | |
parent | d9cdfb8705b5b40087a437c3a58cf9dff59a0a46 (diff) | |
parent | ef83b0781a73f9efcb1228256bfdfb97fc9533a8 (diff) |
Merge branch 'pci/deletion' into next
* pci/deletion:
PCI: Remove from bus_list and release resources in pci_release_dev()
PCI: Move pci_proc_attach_device() to pci_bus_add_device()
PCI: Use device_release_driver() in pci_stop_root_bus()
PCI: Move device_del() from pci_stop_dev() to pci_destroy_dev()
Conflicts:
drivers/pci/remove.c
Diffstat (limited to 'drivers/pci/remove.c')
-rw-r--r-- | drivers/pci/remove.c | 23 |
1 files changed, 2 insertions, 21 deletions
diff --git a/drivers/pci/remove.c b/drivers/pci/remove.c index cc9337a7152..f452148e6d5 100644 --- a/drivers/pci/remove.c +++ b/drivers/pci/remove.c @@ -3,20 +3,6 @@ #include <linux/pci-aspm.h> #include "pci.h" -static void pci_free_resources(struct pci_dev *dev) -{ - int i; - - msi_remove_pci_irq_vectors(dev); - - pci_cleanup_rom(dev); - for (i = 0; i < PCI_NUM_RESOURCES; i++) { - struct resource *res = dev->resource + i; - if (res->parent) - release_resource(res); - } -} - static void pci_stop_dev(struct pci_dev *dev) { pci_pme_active(dev, false); @@ -36,11 +22,6 @@ static void pci_destroy_dev(struct pci_dev *dev) { device_del(&dev->dev); - down_write(&pci_bus_sem); - list_del(&dev->bus_list); - up_write(&pci_bus_sem); - - pci_free_resources(dev); put_device(&dev->dev); } @@ -128,7 +109,7 @@ void pci_stop_root_bus(struct pci_bus *bus) pci_stop_bus_device(child); /* stop the host bridge */ - device_del(&host_bridge->dev); + device_release_driver(&host_bridge->dev); } void pci_remove_root_bus(struct pci_bus *bus) @@ -147,5 +128,5 @@ void pci_remove_root_bus(struct pci_bus *bus) host_bridge->bus = NULL; /* remove the host bridge */ - put_device(&host_bridge->dev); + device_unregister(&host_bridge->dev); } |