aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjorn Helgaas <bhelgaas@google.com>2012-08-17 13:07:49 -0400
committerBjorn Helgaas <bhelgaas@google.com>2012-08-22 13:31:32 -0400
commit125e14bb35e65b1ddfb7252fa8f6e3c50dbb6db2 (patch)
tree98e1e0489b613fc0b2a1bb4871609ed189c5c4b1
parent657c2077a2dab228fcf28a708df1b1bcf4195803 (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.c25
-rw-r--r--include/linux/pci.h1
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
124static 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 */
142void 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
148static void pci_stop_bus_devices(struct pci_bus *bus) 124static 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
182EXPORT_SYMBOL(pci_stop_and_remove_bus_device); 158EXPORT_SYMBOL(pci_stop_and_remove_bus_device);
183EXPORT_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
1014void pci_stop_and_remove_behind_bridge(struct pci_dev *dev);
1015struct pci_driver *pci_dev_driver(const struct pci_dev *dev); 1014struct pci_driver *pci_dev_driver(const struct pci_dev *dev);
1016int pci_add_dynid(struct pci_driver *drv, 1015int pci_add_dynid(struct pci_driver *drv,
1017 unsigned int vendor, unsigned int device, 1016 unsigned int vendor, unsigned int device,