BUS_FOR_EACH_DRV(9) Device drivers infrastructure BUS_FOR_EACH_DRV(9)NAMEbus_for_each_drv - driver iterator
int bus_for_each_drv(struct bus_type * bus,
struct device_driver * start, void * data,
int (*fn) (struct device_driver *, void *));
bus we're dealing with.
driver to start iterating on.
data to pass to the callback.
function to call for each driver.
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.
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.
COPYRIGHTKernel Hackers Manual 3.8. June 2014 BUS_FOR_EACH_DRV(9)