[PATCH v2 1/4] bbu: Add barebox_update search by device
Markus Pargmann
mpa at pengutronix.de
Wed Feb 17 03:28:17 PST 2016
bbu_data includes a devicefile information. Add the possibility to make
an update based on the given devicefile. This is in addition to the
normal search for a barebox update handler by its name.
Signed-off-by: Markus Pargmann <mpa at pengutronix.de>
---
common/bbu.c | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/common/bbu.c b/common/bbu.c
index 4d71fa4a87cb..bf3790d13fff 100644
--- a/common/bbu.c
+++ b/common/bbu.c
@@ -97,6 +97,20 @@ static struct bbu_handler *bbu_find_handler(const char *name)
return NULL;
}
+static struct bbu_handler *bbu_find_handler_by_device(const char *devicepath)
+{
+ struct bbu_handler *handler;
+
+ if (!devicepath)
+ return NULL;
+
+ list_for_each_entry(handler, &bbu_image_handlers, list)
+ if (!strcmp(handler->devicefile, devicepath))
+ return handler;
+
+ return NULL;
+}
+
/*
* do a barebox update with data from *data
*/
@@ -105,7 +119,11 @@ int barebox_update(struct bbu_data *data)
struct bbu_handler *handler;
int ret;
- handler = bbu_find_handler(data->handler_name);
+ handler = bbu_find_handler_by_device(data->devicefile);
+
+ if (!handler)
+ handler = bbu_find_handler(data->handler_name);
+
if (!handler)
return -ENODEV;
--
2.7.0
More information about the barebox
mailing list