BUS_FOR_EACH_DRV(9) | Device drivers infrastructure | BUS_FOR_EACH_DRV(9) |
NAME¶
bus_for_each_drv - driver iterator
SYNOPSIS¶
int bus_for_each_drv(struct bus_type * bus, struct device_driver * start, void * data, int (*fn) (struct device_driver *, void *));
ARGUMENTS¶
bus
start
data
fn
DESCRIPTION¶
This is nearly identical to the device iterator above. We iterate over each driver that belongs to bus, and call fn for each. If fn returns anything but 0, we break out and return it. If start is not NULL, we use it as the head of the list.
NOTE¶
we don´t return the driver that returns a non-zero value, nor do we leave the reference count incremented for that driver. If the caller needs to know that info, it must set it in the callback. It must also be sure to increment the refcount so it doesn´t disappear before returning to the caller.
COPYRIGHT¶
May 2024 | Kernel Hackers Manual 2.6. |