device_delete_child(9)

device_delete_child9

Delete a child from a device

Usage

#include <sys/param.h>

#include <sys/bus.h>

int

device_delete_child(device_t dev, device_t child);

Overview

The specified device is removed from dev and deleted. If the device is currently attached, it is first detached via device_detach(9). If device_detach() fails, its error value is returned. Otherwise, all descendant devices of child are deleted and zero is returned.

The BUS_CHILD_DELETED(9) method is invoked for each device that is deleted. This permits the parent device's driver to tear down any state associated with child devices such as ivars.

Return values

Zero is returned on success, otherwise an error is returned.

Releases

77 releases since FreeBSD 3.0-RELEASE; the text changed 40 times.

  1. 3.0–3.2
  2. 3.3–3.5.1
  3. 4.0–4.2
  4. 4.3
  5. 4.4
  6. 4.5–4.11
  7. 5.0–5.1
  8. 5.2–6.3
  9. 6.4
  10. 7.0
  11. 7.1
  12. 7.2
  13. 7.3
  14. 7.4
  15. 8.0
  16. 8.1
  17. 8.2
  18. 8.3
  19. 8.4
  20. 9.0
  21. 9.1
  22. 9.2
  23. 9.3
  24. 10.0
  25. 10.1
  26. 10.2
  27. 10.3
  28. 10.4
  29. 11.0
  30. 11.1
  31. 11.2
  32. 11.3
  33. 11.4
  34. 12.0
  35. 12.1
  36. 12.2
  37. 12.3
  38. 12.4
  39. 13.0–13.2
  40. 13.3–14.2
  41. 14.3–16.0

Authors

This manual page was written by Doug Rabson.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.