Exemplo n.º 1
0
/*
 *
 * 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;
}
Exemplo n.º 2
0
static void command_save(int argc, const char **argv)
{
	if (argc != 1) {
		invalid_cmd("part save", part_cmds);
		return;
	}
	save_priv_data_blk();
}
Exemplo n.º 3
0
static void command_show(int argc, const char **argv)
{
	if (argc != 1) {
		invalid_cmd("part show", part_cmds);
		return;
	}

	display_mtd_partition();
}
Exemplo n.º 4
0
static void command_reset(int argc, const char **argv)
{
	if (argc != 1) {
		invalid_cmd("part reset", part_cmds);
		return;
	}

	reset_mtd_partition();
}
Exemplo n.º 5
0
/*
 * 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");
}
Exemplo n.º 6
0
/*
 * 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]);
}