summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-imx/imx-bbu-internal.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2013-07-26 10:46:58 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2013-08-06 15:38:40 +0200
commitd00f5f0b996f17ce96e48d9ff17f76eb5e521e8c (patch)
tree828b276a4143405a03567e73a1c4dd120a945ed1 /arch/arm/mach-imx/imx-bbu-internal.c
parent72826e747442142a64b865ca6e4a8b3c88acd5d2 (diff)
downloadbarebox-d00f5f0b996f17ce96e48d9ff17f76eb5e521e8c.tar.gz
barebox-d00f5f0b996f17ce96e48d9ff17f76eb5e521e8c.tar.xz
ARM: i.MX: bbu-internal: factor out a prereq function
To elminate some code duplication. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-imx/imx-bbu-internal.c')
-rw-r--r--arch/arm/mach-imx/imx-bbu-internal.c30
1 files 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 bbc620a6a8..70b7c444dc 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;