Commit 2ee951ba authored by Stefan Roese's avatar Stefan Roese
Browse files

UBI: Enable re-initializing of the "ubi part" command



With this patch now, the user can call "ubi part" multiple times to
re-connect the UBI device to another MTD partition.
Signed-off-by: Stefan Roese's avatarStefan Roese <sr@denx.de>
parent 9def12ca
......@@ -31,6 +31,7 @@
/* Private own data */
static struct ubi_device *ubi;
static char buffer[80];
static int ubi_initialized;
struct selected_dev {
char dev_name[32]; /* NAND/OneNAND etc */
......@@ -428,6 +429,8 @@ static int ubi_dev_scan(struct mtd_info *info, char *ubidev)
return err;
}
ubi_initialized = 1;
return 0;
}
......@@ -463,6 +466,14 @@ static int do_ubi(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
/* todo: get dev number for NAND... */
ubi_dev.nr = 0;
/*
* Call ubi_exit() before re-initializing the UBI subsystem
*/
if (ubi_initialized) {
ubi_exit();
del_mtd_partitions(ubi_dev.mtd_info);
}
/*
* Check for nand|onenand selection
*/
......
......@@ -1059,6 +1059,7 @@ void __exit ubi_exit(void)
misc_deregister(&ubi_ctrl_cdev);
class_remove_file(ubi_class, &ubi_version);
class_destroy(ubi_class);
mtd_devs = 0;
}
module_exit(ubi_exit);
......
......@@ -211,6 +211,7 @@ static inline long IS_ERR(const void *ptr)
/* functions */
extern int ubi_mtd_param_parse(const char *val, struct kernel_param *kp);
extern int ubi_init(void);
extern void ubi_exit(void);
extern struct ubi_device *ubi_devices[];
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment