Comments
Patch
@@ -187,7 +187,7 @@ int pci_bus_add_child(struct pci_bus *bus)
if (bus->bridge)
bus->dev.parent = bus->bridge;
- retval = device_register(&bus->dev);
+ retval = device_add(&bus->dev);
if (retval)
return retval;
@@ -667,6 +667,7 @@ struct pci_bus *__ref pci_add_new_bus(struct pci_bus *parent, struct pci_dev *de
down_write(&pci_bus_sem);
list_add_tail(&child->node, &parent->children);
up_write(&pci_bus_sem);
+ device_initialize(&child->dev);
}
return child;
}
@@ -70,11 +70,11 @@ void pci_remove_bus(struct pci_bus *pci_bus)
list_del(&pci_bus->node);
pci_bus_release_busn_res(pci_bus);
up_write(&pci_bus_sem);
- if (!pci_bus->is_added)
- return;
-
- pci_remove_legacy_files(pci_bus);
- device_unregister(&pci_bus->dev);
+ if (pci_bus->is_added) {
+ pci_remove_legacy_files(pci_bus);
+ device_del(&pci_bus->dev);
+ }
+ put_device(&pci_bus->dev);
}
EXPORT_SYMBOL(pci_remove_bus);