DOKK / manpages / debian 10 / freebsd-manpages / bus_child_present.9freebsd.en
BUS_CHILD_PRESENT(9) Kernel Developer's Manual BUS_CHILD_PRESENT(9)

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

#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);

The () 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 () 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).

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.

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);

device(9), driver(9)

This manual page was written by Warner Losh <imp@FreeBSD.org>.

March 27, 2003 Debian