git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.5.x5
[linux-2.6.git]
/
drivers
/
pci
/
remove.c
diff --git
a/drivers/pci/remove.c
b/drivers/pci/remove.c
index
889b2e3
..
3f70e2f
100644
(file)
--- a/
drivers/pci/remove.c
+++ b/
drivers/pci/remove.c
@@
-16,6
+16,7
@@
static void pci_free_resources(struct pci_dev *dev)
msi_remove_pci_irq_vectors(dev);
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)
for (i = 0; i < PCI_NUM_RESOURCES; i++) {
struct resource *res = dev->resource + i;
if (res->parent)
@@
-26,6
+27,7
@@
static void pci_free_resources(struct pci_dev *dev)
static void pci_destroy_dev(struct pci_dev *dev)
{
pci_proc_detach_device(dev);
static void pci_destroy_dev(struct pci_dev *dev)
{
pci_proc_detach_device(dev);
+ pci_remove_sysfs_dev_files(dev);
device_unregister(&dev->dev);
/* Remove the device from the device lists, and prevent any further
device_unregister(&dev->dev);
/* Remove the device from the device lists, and prevent any further
@@
-59,15
+61,18
@@
int pci_remove_device_safe(struct pci_dev *dev)
}
EXPORT_SYMBOL(pci_remove_device_safe);
}
EXPORT_SYMBOL(pci_remove_device_safe);
-void pci_remove_bus(struct pci_bus *
b
)
+void pci_remove_bus(struct pci_bus *
pci_bus
)
{
{
- pci_proc_detach_bus(
b
);
+ pci_proc_detach_bus(
pci_bus
);
spin_lock(&pci_bus_lock);
spin_lock(&pci_bus_lock);
- list_del(&
b
->node);
+ list_del(&
pci_bus
->node);
spin_unlock(&pci_bus_lock);
spin_unlock(&pci_bus_lock);
-
- class_device_unregister(&b->class_dev);
+ pci_remove_legacy_files(pci_bus);
+ class_device_remove_file(&pci_bus->class_dev,
+ &class_device_attr_cpuaffinity);
+ sysfs_remove_link(&pci_bus->class_dev.kobj, "bridge");
+ class_device_unregister(&pci_bus->class_dev);
}
EXPORT_SYMBOL(pci_remove_bus);
}
EXPORT_SYMBOL(pci_remove_bus);