[PATCH 2/4] bbu: Add function to check if an update handler exists

Markus Pargmann mpa at pengutronix.de
Tue Feb 16 10:54:46 PST 2016


This adds a function to check for the existence of an update handler
based on the supplied bbu_data.

Signed-off-by: Markus Pargmann <mpa at pengutronix.de>
---
 common/bbu.c  | 14 ++++++++++++++
 include/bbu.h |  2 ++
 2 files changed, 16 insertions(+)

diff --git a/common/bbu.c b/common/bbu.c
index bf3790d13fff..a7f6b4b851ee 100644
--- a/common/bbu.c
+++ b/common/bbu.c
@@ -111,6 +111,20 @@ static struct bbu_handler *bbu_find_handler_by_device(const char *devicepath)
 	return NULL;
 }
 
+bool barebox_update_handler_exists(struct bbu_data *data)
+{
+	struct bbu_handler *handler;
+
+	handler = bbu_find_handler_by_device(data->devicefile);
+	if (handler)
+		return true;
+
+	if (!data->handler_name)
+		return false;
+
+	return !bbu_find_handler(data->handler_name);
+}
+
 /*
  * do a barebox update with data from *data
  */
diff --git a/include/bbu.h b/include/bbu.h
index 727791171858..0fe7a1a9bcdb 100644
--- a/include/bbu.h
+++ b/include/bbu.h
@@ -36,6 +36,8 @@ int bbu_confirm(struct bbu_data *);
 
 int barebox_update(struct bbu_data *);
 
+bool barebox_update_handler_exists(struct bbu_data *);
+
 void bbu_handlers_list(void);
 
 #ifdef CONFIG_BAREBOX_UPDATE
-- 
2.7.0.rc3




More information about the barebox mailing list