/* * * vivi> part add <name> <offset> <size> <flag> * * add (argv[0]): command of mtd partition * <name> (argv[1]): name of partition. * <offset> (argv[2]): offset of partition. * <size> (argv[3]): size of partition. * <flag> (argv[4]): flag of partition. */ static void command_add(int argc, const char **argv) { mtd_partition_t part; int ret; if (argc != 5) { invalid_cmd("part add", part_cmds); return; } if (argv[1] == NULL) goto error_parse_arg; if (strlen(argv[1]) >= MAX_PART_NAME) { printk("too long partition name\n"); } strncpy((char *)part.name, argv[1], strlen(argv[1]) + 1); part.offset = strtoul(argv[2], NULL, 0, &ret); if (ret) goto error_parse_arg; part.size = strtoul(argv[3], NULL, 0, &ret); if (ret) goto error_parse_arg; part.flag = parse_flags((char *)argv[4]); add_mtd_partition(&part); printk("%s: offset = 0x%08lx, size = 0x%08lx, flag = %d\n", part.name, part.offset, part.size, part.flag); return; error_parse_arg: printk("Can't parsing arguments\n"); return; }
static void command_save(int argc, const char **argv) { if (argc != 1) { invalid_cmd("part save", part_cmds); return; } save_priv_data_blk(); }
static void command_show(int argc, const char **argv) { if (argc != 1) { invalid_cmd("part show", part_cmds); return; } display_mtd_partition(); }
static void command_reset(int argc, const char **argv) { if (argc != 1) { invalid_cmd("part reset", part_cmds); return; } reset_mtd_partition(); }
/* * Save vivi private data * * vivi> param save */ static void command_save(int argc, const char **argv) { if (argc != 1) { invalid_cmd("param save", param_cmds); return; } if (save_priv_data_blk()) printk("Could not save vivi private data\n"); else printk("Saved vivi private data\n"); }
/* * vivi> part del <name> * * del (argv[0]): command of mtd partition * <name> (argv[1]): name of mtd partition */ static void command_del(int argc, const char **argv) { if (argc != 2) { invalid_cmd("part del", part_cmds); return; } if (argv[1] == NULL) { printk("Can't parsing arguments\n"); return; } del_mtd_partition(argv[1]); printk("deleted '%s' partition\n", argv[1]); }