---
name: "bus_child_present"
section: "9"
platform: "linux"
package: "freebsd-manpages"
version: "6.0-5"
release: "Debian 4.0 (Etch)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/bus_child_present"
---

# bus\_child\_present(9)

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

## NAME

**bus\_child\_present** – ask the bus driver to see if this device is still really present

## SYNOPSIS

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

## DESCRIPTION

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)](/device_get_children/9.md).

## 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)](/dc/4.md) device is actually present.

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

## SEE ALSO

[device(9)](/device/9.md), [driver(9)](/driver/9.md)

## AUTHORS

This manual page was written by Warner Losh ⟨imp@FreeBSD.org⟩.
