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>
lime2-spi
Tien Fong Chee 6 years ago committed by Tom Rini
parent bbef20d479
commit 10c2044062
  1. 3
      cmd/ubi.c
  2. 18
      cmd/ubifs.c
  3. 1
      include/ubi_uboot.h

@ -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)

@ -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,

@ -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

Loading…
Cancel
Save