opnsense-src/sys/dev/bhnd
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
..
bcma newbus: replace -1 in BUS_ADD_CHILD(...-1) with DEVICE_UNIT_ANY 2024-07-24 22:23:02 -06:00
bhndb bus_generic_detach: Delete children after detaching them 2025-01-02 13:21:30 -05:00
cores bus_generic_detach: Delete children after detaching them 2025-01-02 13:21:30 -05:00
nvram bhnd(4): Remove a double word in a source code comment 2024-04-20 14:09:18 +02:00
siba newbus: replace -1 in BUS_ADD_CHILD(...-1) with DEVICE_UNIT_ANY 2024-07-24 22:23:02 -06:00
tools sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
bhnd.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
bhnd.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
bhnd_bus_if.m sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
bhnd_debug.h sys: Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:24 -06:00
bhnd_erom.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
bhnd_erom.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
bhnd_erom_if.m sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
bhnd_erom_types.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
bhnd_eromvar.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
bhnd_ids.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
bhnd_match.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
bhnd_private.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
bhnd_subr.c bhnd: Use device_set_descf() 2024-06-02 19:38:40 -04:00
bhnd_types.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
bhndreg.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
bhndvar.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00