bus_child_present(9)

bus_child_present9

Ask the bus driver to see if this device is still really present

Usage

#include <sys/param.h>

#include <sys/bus.h>

#include <machine/bus.h>

#include <sys/rman.h>

#include <machine/resource.h>

int

bus_child_present(device_t dev);

Overview

The bus_child_present() function requests that the parent device driver of dev check to see if the hardware represented by dev is still physically accessible at this time. While the notion of accessible varies from bus to bus, generally hardware that is not accessible cannot be accessed via the bus_space*() methods that would otherwise be used to access the device.

This does not ask the question “does this device have children?” which can better be answered by device_get_children(9).

Return values

A zero return value indicates that the device is not present in the system. A non-zero return value indicates that the device is present in the system, or that the state of the device cannot be determined.

Examples

This is some example code. It only calls stop when the dc(4) device is actually present.

device_t dev;
dc_softc *sc;
sc = device_get_softc(dev);
if (bus_child_present(dev))
	dc_stop(sc);

Releases

55 releases since FreeBSD 5.1-RELEASE; the text changed 34 times.

  1. 5.1–5.2.1
  2. 5.3–5.5
  3. 6.0–6.3
  4. 6.4
  5. 7.0
  6. 7.1
  7. 7.2
  8. 7.3
  9. 7.4
  10. 8.0
  11. 8.1
  12. 8.2
  13. 8.3
  14. 8.4
  15. 9.0
  16. 9.1
  17. 9.2
  18. 9.3
  19. 10.0
  20. 10.1
  21. 10.2
  22. 10.3
  23. 10.4
  24. 11.0
  25. 11.1
  26. 11.2
  27. 11.3
  28. 11.4
  29. 12.0
  30. 12.1
  31. 12.2
  32. 12.3
  33. 12.4
  34. 13.0–13.2
  35. 13.3–16.0

Authors

This manual page was written by Warner Losh ⟨[email protected]⟩.

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