---
name: "device_find_child"
section: "9"
platform: "linux"
package: "linux-manual-3.16"
version: "3.16.56-1+deb8u1"
release: "Debian 8 (Jessie)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/device_find_child"
---

# device\_find\_child(9)

device iterator for locating a particular device.

## NAME

device\_find\_child - device iterator for locating a particular device.

## SYNOPSIS

**struct device \* device\_find\_child(struct device \*** *parent***, void \*** *data***, int (\****match***) (struct device \*dev, void \*data));**

## ARGUMENTS

*parent*

parent struct device

*data*

Data to pass to match function

*match*

Callback function to check device

## DESCRIPTION

This is similar to the **device\_for\_each\_child** function above, but it returns a reference to a device that is 'found' for later use, as determined by the *match* callback.

The callback should return 0 if the device doesn't match and non-zero if it does. If the callback returns non-zero and a reference to the current device can be obtained, this function will return to the caller and not iterate over any more devices.

## NOTE

you will need to drop the reference with **put\_device** after use.

## COPYRIGHT
