bus_generic_detach(9)

bus_generic_detach9

Generic implementation of device_detach for buses

Usage

#include <sys/param.h>

#include <sys/bus.h>

int

bus_generic_detach(device_t dev);

Overview

This function provides an implementation of the DEVICE_DETACH(9) method which can be used by most bus code. It uses bus_detach_children(9) to detach drivers from all child devices giving them a chance to veto the detach request. If bus_detach_children() succeeds, bus_generic_detach() calls device_delete_children(9) to delete all child devices.

Return values

Zero is returned on success, otherwise an appropriate 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.3
  4. 4.4
  5. 4.5–4.11
  6. 5.0–5.1
  7. 5.2–5.5
  8. 6.0–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.5
  41. 15.0–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.