Merge branch 'for-next/misc'
This commit is contained in:
commit
2fbba4e4d5
|
@ -35,16 +35,20 @@ static int do_of_dump(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
int opt;
|
int opt;
|
||||||
int ret;
|
int ret;
|
||||||
|
int fix = 0;
|
||||||
struct device_node *root = NULL, *node, *of_free = NULL;
|
struct device_node *root = NULL, *node, *of_free = NULL;
|
||||||
char *dtbfile = NULL;
|
char *dtbfile = NULL;
|
||||||
size_t size;
|
size_t size;
|
||||||
const char *nodename;
|
const char *nodename;
|
||||||
|
|
||||||
while ((opt = getopt(argc, argv, "f:")) > 0) {
|
while ((opt = getopt(argc, argv, "Ff:")) > 0) {
|
||||||
switch (opt) {
|
switch (opt) {
|
||||||
case 'f':
|
case 'f':
|
||||||
dtbfile = optarg;
|
dtbfile = optarg;
|
||||||
break;
|
break;
|
||||||
|
case 'F':
|
||||||
|
fix = 1;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
return COMMAND_ERROR_USAGE;
|
return COMMAND_ERROR_USAGE;
|
||||||
}
|
}
|
||||||
|
@ -76,6 +80,28 @@ static int do_of_dump(int argc, char *argv[])
|
||||||
of_free = root;
|
of_free = root;
|
||||||
} else {
|
} else {
|
||||||
root = of_get_root_node();
|
root = of_get_root_node();
|
||||||
|
|
||||||
|
if (fix) {
|
||||||
|
/* create a copy of internal devicetree */
|
||||||
|
void *fdt;
|
||||||
|
fdt = of_flatten_dtb(root);
|
||||||
|
root = of_unflatten_dtb(fdt);
|
||||||
|
|
||||||
|
free(fdt);
|
||||||
|
|
||||||
|
if (IS_ERR(root)) {
|
||||||
|
ret = PTR_ERR(root);
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
of_free = root;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (fix) {
|
||||||
|
ret = of_fix_tree(root);
|
||||||
|
if (ret)
|
||||||
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
node = of_find_node_by_path_or_alias(root, nodename);
|
node = of_find_node_by_path_or_alias(root, nodename);
|
||||||
|
@ -97,12 +123,13 @@ out:
|
||||||
BAREBOX_CMD_HELP_START(of_dump)
|
BAREBOX_CMD_HELP_START(of_dump)
|
||||||
BAREBOX_CMD_HELP_TEXT("Options:")
|
BAREBOX_CMD_HELP_TEXT("Options:")
|
||||||
BAREBOX_CMD_HELP_OPT ("-f dtb", "work on dtb instead of internal devicetree\n")
|
BAREBOX_CMD_HELP_OPT ("-f dtb", "work on dtb instead of internal devicetree\n")
|
||||||
|
BAREBOX_CMD_HELP_OPT ("-F", "return fixed devicetree\n")
|
||||||
BAREBOX_CMD_HELP_END
|
BAREBOX_CMD_HELP_END
|
||||||
|
|
||||||
BAREBOX_CMD_START(of_dump)
|
BAREBOX_CMD_START(of_dump)
|
||||||
.cmd = do_of_dump,
|
.cmd = do_of_dump,
|
||||||
BAREBOX_CMD_DESC("dump devicetree nodes")
|
BAREBOX_CMD_DESC("dump devicetree nodes")
|
||||||
BAREBOX_CMD_OPTS("[-f] [NODE]")
|
BAREBOX_CMD_OPTS("[-fF] [NODE]")
|
||||||
BAREBOX_CMD_GROUP(CMD_GRP_MISC)
|
BAREBOX_CMD_GROUP(CMD_GRP_MISC)
|
||||||
BAREBOX_CMD_COMPLETE(devicetree_file_complete)
|
BAREBOX_CMD_COMPLETE(devicetree_file_complete)
|
||||||
BAREBOX_CMD_HELP(cmd_of_dump_help)
|
BAREBOX_CMD_HELP(cmd_of_dump_help)
|
||||||
|
|
|
@ -65,9 +65,13 @@ static int do_ubiattach(int argc, char *argv[])
|
||||||
struct mtd_info_user user;
|
struct mtd_info_user user;
|
||||||
int fd, ret;
|
int fd, ret;
|
||||||
int vid_hdr_offset = 0;
|
int vid_hdr_offset = 0;
|
||||||
|
int devnum = UBI_DEV_NUM_AUTO;
|
||||||
|
|
||||||
while((opt = getopt(argc, argv, "O:")) > 0) {
|
while((opt = getopt(argc, argv, "d:O:")) > 0) {
|
||||||
switch(opt) {
|
switch(opt) {
|
||||||
|
case 'd':
|
||||||
|
devnum = simple_strtoul(optarg, NULL, 0);
|
||||||
|
break;
|
||||||
case 'O':
|
case 'O':
|
||||||
vid_hdr_offset = simple_strtoul(optarg, NULL, 0);
|
vid_hdr_offset = simple_strtoul(optarg, NULL, 0);
|
||||||
break;
|
break;
|
||||||
|
@ -91,7 +95,7 @@ static int do_ubiattach(int argc, char *argv[])
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = ubi_attach_mtd_dev(user.mtd, UBI_DEV_NUM_AUTO, vid_hdr_offset, 20);
|
ret = ubi_attach_mtd_dev(user.mtd, devnum, vid_hdr_offset, 20);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
printf("failed to attach: %s\n", strerror(-ret));
|
printf("failed to attach: %s\n", strerror(-ret));
|
||||||
else
|
else
|
||||||
|
@ -104,13 +108,14 @@ err:
|
||||||
|
|
||||||
BAREBOX_CMD_HELP_START(ubiattach)
|
BAREBOX_CMD_HELP_START(ubiattach)
|
||||||
BAREBOX_CMD_HELP_TEXT("Options:")
|
BAREBOX_CMD_HELP_TEXT("Options:")
|
||||||
|
BAREBOX_CMD_HELP_OPT ("-d DEVNUM", "device number")
|
||||||
BAREBOX_CMD_HELP_OPT ("-O OFFS", "VID header offset")
|
BAREBOX_CMD_HELP_OPT ("-O OFFS", "VID header offset")
|
||||||
BAREBOX_CMD_HELP_END
|
BAREBOX_CMD_HELP_END
|
||||||
|
|
||||||
BAREBOX_CMD_START(ubiattach)
|
BAREBOX_CMD_START(ubiattach)
|
||||||
.cmd = do_ubiattach,
|
.cmd = do_ubiattach,
|
||||||
BAREBOX_CMD_DESC("attach mtd device to UBI")
|
BAREBOX_CMD_DESC("attach mtd device to UBI")
|
||||||
BAREBOX_CMD_OPTS("[-O] MTDDEV")
|
BAREBOX_CMD_OPTS("[-dO] MTDDEV")
|
||||||
BAREBOX_CMD_GROUP(CMD_GRP_PART)
|
BAREBOX_CMD_GROUP(CMD_GRP_PART)
|
||||||
BAREBOX_CMD_HELP(cmd_ubiattach_help)
|
BAREBOX_CMD_HELP(cmd_ubiattach_help)
|
||||||
BAREBOX_CMD_END
|
BAREBOX_CMD_END
|
||||||
|
|
Loading…
Reference in New Issue