class_find_device(9)
NAME
class_find_device - device iterator for locating a particular device
SYNOPSIS
struct device * class_find_device(struct class * class, void * data,
int (*match) (struct device *, void *));
ARGUMENTS
- class
- the class we´re iterating
- 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.
We hold class->sem in this function, so it can not be re-acquired in
match, otherwise it will self-deadlocking. For example, calls to add or
remove class members would be verboten.