opnsense-src/sys/dev/etherswitch
John Baldwin b196276c20 bus_generic_detach: Delete children after detaching them
This provides better semantics as a standalone DEVMETHOD for
device_attach as bus drivers should remove child devices they created
as part of detach cleanup.  The implementation calls
bus_detach_children() first to permit child devices an opportunity to
veto the detach operation.  If that succeeds, device_delete_children()
is used to delete the child devices.

This requires fixing various drivers that were deleting devices
explicitly (via a device_t pointer cached in the softc) after calling
bus_generic_detach to stop doing that and just rely on
bus_generic_detach to remove child devices.

Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D47959
2025-01-02 13:21:30 -05:00
..
ar40xx Replace calls to bus_generic_attach with bus_attach_children 2024-12-06 17:26:16 -05:00
arswitch Replace calls to bus_generic_attach with bus_attach_children 2024-12-06 17:26:16 -05:00
e6000sw Replace calls to bus_generic_attach with bus_attach_children 2024-12-06 17:26:16 -05:00
felix bus_generic_detach: Delete children after detaching them 2025-01-02 13:21:30 -05:00
infineon Replace calls to bus_generic_attach with bus_attach_children 2024-12-06 17:26:16 -05:00
ip17x Replace calls to bus_generic_attach with bus_attach_children 2024-12-06 17:26:16 -05:00
micrel Replace calls to bus_generic_attach with bus_attach_children 2024-12-06 17:26:16 -05:00
mtkswitch Replace calls to bus_generic_attach with bus_attach_children 2024-12-06 17:26:16 -05:00
rtl8366 Replace calls to bus_generic_attach with bus_attach_children 2024-12-06 17:26:16 -05:00
ukswitch Replace calls to bus_generic_attach with bus_attach_children 2024-12-06 17:26:16 -05:00
etherswitch.c newbus: replace -1 in BUS_ADD_CHILD(...-1) with DEVICE_UNIT_ANY 2024-07-24 22:23:02 -06:00
etherswitch.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
etherswitch_if.m sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
miiproxy.c Replace calls to bus_generic_attach with bus_attach_children 2024-12-06 17:26:16 -05:00
miiproxy.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00