Instead of providing a wrapper around device_delete_child() that the PCI bus and child bus drivers must call explicitly, move the bulk of the logic from pci_delete_child() into a bus_child_deleted() method (pci_child_deleted()). This allows PCI devices to be safely deleted via device_delete_child(). - Add a bus_child_deleted method to the ACPI PCI bus which clears the device_t associated with the corresponding ACPI handle in addition to the normal PCI bus cleanup. - Change cardbus_detach_card to call device_delete_children() and move CardBus-specific delete logic into a new cardbus_child_deleted() method. - Use device_delete_child() instead of pci_delete_child() in the SRIOV code. - Add a bus_child_deleted method to the OpenFirmware PCI bus drivers which frees the OpenFirmware device info for each PCI device. Reviewed by: imp Tested on: amd64 (CardBus and PCI-e hotplug) Differential Revision: https://reviews.freebsd.org/D5831 |
||
---|---|---|
.. | ||
apb.c | ||
fire.c | ||
firereg.h | ||
firevar.h | ||
ofw_pci_if.m | ||
ofw_pci.c | ||
ofw_pci.h | ||
ofw_pcib_subr.c | ||
ofw_pcib_subr.h | ||
ofw_pcib.c | ||
ofw_pcibus.c | ||
psycho.c | ||
psychoreg.h | ||
psychovar.h | ||
sbbc.c | ||
schizo.c | ||
schizoreg.h | ||
schizovar.h |