[PATCH 1/4] ARM: i.MX: bbu-internal: factor out a prereq function

Sascha Hauer s.hauer at pengutronix.de
Tue Aug 6 09:42:51 EDT 2013


To elminate some code duplication.

Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 arch/arm/mach-imx/imx-bbu-internal.c | 30 ++++++++++++++++++------------
 1 file changed, 18 insertions(+), 12 deletions(-)

diff --git a/arch/arm/mach-imx/imx-bbu-internal.c b/arch/arm/mach-imx/imx-bbu-internal.c
index bbc620a..70b7c44 100644
--- a/arch/arm/mach-imx/imx-bbu-internal.c
+++ b/arch/arm/mach-imx/imx-bbu-internal.c
@@ -103,6 +103,22 @@ err_close:
 	return ret;
 }
 
+static int imx_bbu_check_prereq(struct bbu_data *data)
+{
+	int ret;
+
+	if (file_detect_type(data->image, data->len) != filetype_arm_barebox) {
+		if (!bbu_force(data, "Not an ARM barebox image"))
+			return -EINVAL;
+	}
+
+	ret = bbu_confirm(data);
+	if (ret)
+		return ret;
+
+	return 0;
+}
+
 /*
  * Update barebox on a v1 type internal boot (i.MX25, i.MX35, i.MX51)
  *
@@ -122,12 +138,7 @@ static int imx_bbu_internal_v1_update(struct bbu_handler *handler, struct bbu_da
 	int ret, image_len;
 	void *buf;
 
-	if (file_detect_type(data->image, data->len) != filetype_arm_barebox) {
-		if (!bbu_force(data, "Not an ARM barebox image"))
-			return -EINVAL;
-	}
-
-	ret = bbu_confirm(data);
+	ret = imx_bbu_check_prereq(data);
 	if (ret)
 		return ret;
 
@@ -344,12 +355,7 @@ static int imx_bbu_internal_v2_update(struct bbu_handler *handler, struct bbu_da
 	int ret, image_len;
 	void *buf;
 
-	if (file_detect_type(data->image, data->len) != filetype_arm_barebox) {
-		if (!bbu_force(data, "Not an ARM barebox image"))
-			return -EINVAL;
-	}
-
-	ret = bbu_confirm(data);
+	ret = imx_bbu_check_prereq(data);
 	if (ret)
 		return ret;
 
-- 
1.8.4.rc1




More information about the barebox mailing list