提交 125e14bb 编写于 作者: B Bjorn Helgaas

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: NYijing Wang <wangyijing@huawei.com>
Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
Acked-by: NYinghai Lu <yinghai@kernel.org>
上级 657c2077
...@@ -121,30 +121,6 @@ static void __pci_remove_behind_bridge(struct pci_dev *dev) ...@@ -121,30 +121,6 @@ static void __pci_remove_behind_bridge(struct pci_dev *dev)
__pci_remove_bus_device(pci_dev_b(l)); __pci_remove_bus_device(pci_dev_b(l));
} }
static void pci_stop_behind_bridge(struct pci_dev *dev)
{
struct list_head *l, *n;
if (dev->subordinate)
list_for_each_safe(l, n, &dev->subordinate->devices)
pci_stop_bus_device(pci_dev_b(l));
}
/**
* pci_stop_and_remove_behind_bridge - stop and remove all devices behind
* a PCI bridge
* @dev: PCI bridge device
*
* Remove all devices on the bus, except for the parent bridge.
* This also removes any child buses, and any devices they may
* contain in a depth-first manner.
*/
void pci_stop_and_remove_behind_bridge(struct pci_dev *dev)
{
pci_stop_behind_bridge(dev);
__pci_remove_behind_bridge(dev);
}
static void pci_stop_bus_devices(struct pci_bus *bus) static void pci_stop_bus_devices(struct pci_bus *bus)
{ {
struct list_head *l, *n; struct list_head *l, *n;
...@@ -180,4 +156,3 @@ static void pci_stop_bus_device(struct pci_dev *dev) ...@@ -180,4 +156,3 @@ static void pci_stop_bus_device(struct pci_dev *dev)
} }
EXPORT_SYMBOL(pci_stop_and_remove_bus_device); EXPORT_SYMBOL(pci_stop_and_remove_bus_device);
EXPORT_SYMBOL(pci_stop_and_remove_behind_bridge);
...@@ -1011,7 +1011,6 @@ void pci_unregister_driver(struct pci_driver *dev); ...@@ -1011,7 +1011,6 @@ void pci_unregister_driver(struct pci_driver *dev);
module_driver(__pci_driver, pci_register_driver, \ module_driver(__pci_driver, pci_register_driver, \
pci_unregister_driver) pci_unregister_driver)
void pci_stop_and_remove_behind_bridge(struct pci_dev *dev);
struct pci_driver *pci_dev_driver(const struct pci_dev *dev); struct pci_driver *pci_dev_driver(const struct pci_dev *dev);
int pci_add_dynid(struct pci_driver *drv, int pci_add_dynid(struct pci_driver *drv,
unsigned int vendor, unsigned int device, unsigned int vendor, unsigned int device,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册