diff options
author | Tien Fong Chee <tien.fong.chee@intel.com> | 2018-07-06 16:25:12 +0800 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2018-09-28 20:21:47 -0400 |
commit | 10c2044062d045e27cbcda739501b96f670fb7f1 (patch) | |
tree | ad70e9979e585a401a640a9743032717954d756b | |
parent | bbef20d479441b01d62252cf127498c58078b2c3 (diff) | |
download | u-boot-10c2044062d045e27cbcda739501b96f670fb7f1.tar.gz u-boot-10c2044062d045e27cbcda739501b96f670fb7f1.tar.xz u-boot-10c2044062d045e27cbcda739501b96f670fb7f1.zip |
cmd: ubifs: Move ubifs_initialized checking into cmd_ubifs_umount()
cmd_ubifs_umount() function would be called directly instead of involving
whole command machinery in generic firmware loader, so checking on
ubifs_initialized status need to be done in cmd_ubifs_umount() without
breaking original functionality design.
Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Reviewed-by: Heiko Schocher <hs@denx.de>
[trini: Fix conflicting type error in cmd/ubi.c]
Signed-off-by: Tom Rini <trini@konsulko.com>
-rw-r--r-- | cmd/ubi.c | 3 | ||||
-rw-r--r-- | cmd/ubifs.c | 18 | ||||
-rw-r--r-- | include/ubi_uboot.h | 1 |
3 files changed, 11 insertions, 11 deletions
@@ -47,8 +47,7 @@ struct selected_dev { static struct selected_dev ubi_dev; #ifdef CONFIG_CMD_UBIFS -int ubifs_is_mounted(void); -void cmd_ubifs_umount(void); +#include <ubifs_uboot.h> #endif static void display_volume_info(struct ubi_device *ubi) diff --git a/cmd/ubifs.c b/cmd/ubifs.c index 11bab7a1a1..171034801b 100644 --- a/cmd/ubifs.c +++ b/cmd/ubifs.c @@ -50,11 +50,18 @@ int ubifs_is_mounted(void) return ubifs_mounted; } -void cmd_ubifs_umount(void) +int cmd_ubifs_umount(void) { + if (ubifs_initialized == 0) { + printf("No UBIFS volume mounted!\n"); + return -1; + } + uboot_ubifs_umount(); ubifs_mounted = 0; ubifs_initialized = 0; + + return 0; } static int do_ubifs_umount(cmd_tbl_t *cmdtp, int flag, int argc, @@ -63,14 +70,7 @@ static int do_ubifs_umount(cmd_tbl_t *cmdtp, int flag, int argc, if (argc != 1) return CMD_RET_USAGE; - if (ubifs_initialized == 0) { - printf("No UBIFS volume mounted!\n"); - return -1; - } - - cmd_ubifs_umount(); - - return 0; + return cmd_ubifs_umount(); } static int do_ubifs_ls(cmd_tbl_t *cmdtp, int flag, int argc, diff --git a/include/ubi_uboot.h b/include/ubi_uboot.h index 80acbcb148..827dbfcd10 100644 --- a/include/ubi_uboot.h +++ b/include/ubi_uboot.h @@ -75,5 +75,6 @@ extern int ubi_volume_write(char *volume, void *buf, size_t size); extern int ubi_volume_read(char *volume, char *buf, size_t size); extern struct ubi_device *ubi_devices[]; +int cmd_ubifs_umount(void); #endif |