diff options
author | Clement Leger <cleger@kalray.eu> | 2020-06-12 09:10:34 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2020-06-15 16:15:13 +0200 |
commit | aff0f38d5e702286cc2560c6b3f6a5fc24b7f557 (patch) | |
tree | 3eac4080d1b7fa281c4e1f0feb3f6038893e2188 /common/elf.c | |
parent | 7a7cc824c7d748eb6b6821c2fcdb04074cede97b (diff) | |
download | barebox-aff0f38d5e702286cc2560c6b3f6a5fc24b7f557.tar.gz barebox-aff0f38d5e702286cc2560c6b3f6a5fc24b7f557.tar.xz |
common: elf: add elf_open, elf_close and elf_load
In order to integrate elf loading into bootm command, split elf opening
from elf loading.
Signed-off-by: Clement Leger <cleger@kalray.eu>
Tested-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'common/elf.c')
-rw-r--r-- | common/elf.c | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/common/elf.c b/common/elf.c index 1bcaafea74..af22be37e6 100644 --- a/common/elf.c +++ b/common/elf.c @@ -285,23 +285,17 @@ err_free_elf: return ERR_PTR(ret); } -struct elf_image *elf_load_image(const char *filename) +struct elf_image *elf_open(const char *filename) { - int ret; - struct elf_image *elf; - - elf = elf_check_init(filename); - if (IS_ERR(elf)) - return elf; - - ret = load_elf_image_segments(elf); - if (ret) - return ERR_PTR(ret); + return elf_check_init(filename); +} - return elf; +int elf_load(struct elf_image *elf) +{ + return load_elf_image_segments(elf); } -void elf_release_image(struct elf_image *elf) +void elf_close(struct elf_image *elf) { elf_release_regions(elf); |