diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2012-08-17 13:07:49 -0400 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2012-08-22 13:31:32 -0400 |
commit | 125e14bb35e65b1ddfb7252fa8f6e3c50dbb6db2 (patch) | |
tree | 98e1e0489b613fc0b2a1bb4871609ed189c5c4b1 | |
parent | 657c2077a2dab228fcf28a708df1b1bcf4195803 (diff) |
PCI: Remove pci_stop_and_remove_behind_bridge()
The PCMCIA CardBus driver was the only user of
pci_stop_and_remove_behind_bridge(), and it now uses
pci_stop_and_remove_bus_device() instead, so remove this interface.
This removes exported symbol pci_stop_and_remove_behind_bridge.
Tested-by: Yijing Wang <wangyijing@huawei.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Yinghai Lu <yinghai@kernel.org>
-rw-r--r-- | drivers/pci/remove.c | 25 | ||||
-rw-r--r-- | include/linux/pci.h | 1 |
2 files changed, 0 insertions, 26 deletions
diff --git a/drivers/pci/remove.c b/drivers/pci/remove.c index 534377f967ff..b18dc2ef09f2 100644 --- a/drivers/pci/remove.c +++ b/drivers/pci/remove.c | |||
@@ -121,30 +121,6 @@ static void __pci_remove_behind_bridge(struct pci_dev *dev) | |||
121 | __pci_remove_bus_device(pci_dev_b(l)); | 121 | __pci_remove_bus_device(pci_dev_b(l)); |
122 | } | 122 | } |
123 | 123 | ||
124 | static void pci_stop_behind_bridge(struct pci_dev *dev) | ||
125 | { | ||
126 | struct list_head *l, *n; | ||
127 | |||
128 | if (dev->subordinate) | ||
129 | list_for_each_safe(l, n, &dev->subordinate->devices) | ||
130 | pci_stop_bus_device(pci_dev_b(l)); | ||
131 | } | ||
132 | |||
133 | /** | ||
134 | * pci_stop_and_remove_behind_bridge - stop and remove all devices behind | ||
135 | * a PCI bridge | ||
136 | * @dev: PCI bridge device | ||
137 | * | ||
138 | * Remove all devices on the bus, except for the parent bridge. | ||
139 | * This also removes any child buses, and any devices they may | ||
140 | * contain in a depth-first manner. | ||
141 | */ | ||
142 | void pci_stop_and_remove_behind_bridge(struct pci_dev *dev) | ||
143 | { | ||
144 | pci_stop_behind_bridge(dev); | ||
145 | __pci_remove_behind_bridge(dev); | ||
146 | } | ||
147 | |||
148 | static void pci_stop_bus_devices(struct pci_bus *bus) | 124 | static void pci_stop_bus_devices(struct pci_bus *bus) |
149 | { | 125 | { |
150 | struct list_head *l, *n; | 126 | struct list_head *l, *n; |
@@ -180,4 +156,3 @@ static void pci_stop_bus_device(struct pci_dev *dev) | |||
180 | } | 156 | } |
181 | 157 | ||
182 | EXPORT_SYMBOL(pci_stop_and_remove_bus_device); | 158 | EXPORT_SYMBOL(pci_stop_and_remove_bus_device); |
183 | EXPORT_SYMBOL(pci_stop_and_remove_behind_bridge); | ||
diff --git a/include/linux/pci.h b/include/linux/pci.h index 54b5b2b2c2ec..1dce47ca1291 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
@@ -1011,7 +1011,6 @@ void pci_unregister_driver(struct pci_driver *dev); | |||
1011 | module_driver(__pci_driver, pci_register_driver, \ | 1011 | module_driver(__pci_driver, pci_register_driver, \ |
1012 | pci_unregister_driver) | 1012 | pci_unregister_driver) |
1013 | 1013 | ||
1014 | void pci_stop_and_remove_behind_bridge(struct pci_dev *dev); | ||
1015 | struct pci_driver *pci_dev_driver(const struct pci_dev *dev); | 1014 | struct pci_driver *pci_dev_driver(const struct pci_dev *dev); |
1016 | int pci_add_dynid(struct pci_driver *drv, | 1015 | int pci_add_dynid(struct pci_driver *drv, |
1017 | unsigned int vendor, unsigned int device, | 1016 | unsigned int vendor, unsigned int device, |