Scroll to navigation

CLASS_FIND_DEVICE(9) Device drivers infrastructure CLASS_FIND_DEVICE(9)

NAME

class_find_device - device iterator for locating a particular device

SYNOPSIS

struct device * class_find_device(struct class * class, struct device * start, const void * data, int (*match) (struct device *, const void *));

ARGUMENTS

class

the class we're iterating

start

Device to begin with

data

data for the match function

match

function to check device

DESCRIPTION

This is similar to the class_for_each_dev 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, 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.

match is allowed to do anything including calling back into class code. There's no locking restriction.

COPYRIGHT

January 2017 Kernel Hackers Manual 4.8.