diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2013-07-26 10:46:58 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-08-06 15:38:40 +0200 |
commit | d00f5f0b996f17ce96e48d9ff17f76eb5e521e8c (patch) | |
tree | 828b276a4143405a03567e73a1c4dd120a945ed1 /arch/arm/mach-imx/imx-bbu-internal.c | |
parent | 72826e747442142a64b865ca6e4a8b3c88acd5d2 (diff) | |
download | barebox-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.c | 30 |
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; |