led: introduce led_bind_generic()
All existing drivers in drivers/led/ contain a .bind method that does exactly the same thing, with just the actual driver name differing. Create a helper so all those individual methods can be changed to one-liners. Reviewed-by: Marek Vasut <marex@denx.de> Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
This commit is contained in:
committed by
Tom Rini
parent
067e4ce35b
commit
3bf0515a07
@@ -11,9 +11,27 @@
|
||||
#include <errno.h>
|
||||
#include <led.h>
|
||||
#include <dm/device-internal.h>
|
||||
#include <dm/lists.h>
|
||||
#include <dm/root.h>
|
||||
#include <dm/uclass-internal.h>
|
||||
|
||||
int led_bind_generic(struct udevice *parent, const char *driver_name)
|
||||
{
|
||||
struct udevice *dev;
|
||||
ofnode node;
|
||||
int ret;
|
||||
|
||||
dev_for_each_subnode(node, parent) {
|
||||
ret = device_bind_driver_to_node(parent, driver_name,
|
||||
ofnode_get_name(node),
|
||||
node, &dev);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int led_get_by_label(const char *label, struct udevice **devp)
|
||||
{
|
||||
struct udevice *dev;
|
||||
|
||||
Reference in New Issue
Block a user