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 ret;
|
||||
int fix = 0;
|
||||
struct device_node *root = NULL, *node, *of_free = NULL;
|
||||
char *dtbfile = NULL;
|
||||
size_t size;
|
||||
const char *nodename;
|
||||
|
||||
while ((opt = getopt(argc, argv, "f:")) > 0) {
|
||||
while ((opt = getopt(argc, argv, "Ff:")) > 0) {
|
||||
switch (opt) {
|
||||
case 'f':
|
||||
dtbfile = optarg;
|
||||
break;
|
||||
case 'F':
|
||||
fix = 1;
|
||||
break;
|
||||
default:
|
||||
return COMMAND_ERROR_USAGE;
|
||||
}
|
||||
|
@ -76,6 +80,28 @@ static int do_of_dump(int argc, char *argv[])
|
|||
of_free = root;
|
||||
} else {
|
||||
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);
|
||||
|
@ -97,12 +123,13 @@ out:
|
|||
BAREBOX_CMD_HELP_START(of_dump)
|
||||
BAREBOX_CMD_HELP_TEXT("Options:")
|
||||
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_START(of_dump)
|
||||
.cmd = do_of_dump,
|
||||
BAREBOX_CMD_DESC("dump devicetree nodes")
|
||||
BAREBOX_CMD_OPTS("[-f] [NODE]")
|
||||
BAREBOX_CMD_OPTS("[-fF] [NODE]")
|
||||
BAREBOX_CMD_GROUP(CMD_GRP_MISC)
|
||||
BAREBOX_CMD_COMPLETE(devicetree_file_complete)
|
||||
BAREBOX_CMD_HELP(cmd_of_dump_help)
|
||||
|
|
|
@ -65,9 +65,13 @@ static int do_ubiattach(int argc, char *argv[])
|
|||
struct mtd_info_user user;
|
||||
int fd, ret;
|
||||
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) {
|
||||
case 'd':
|
||||
devnum = simple_strtoul(optarg, NULL, 0);
|
||||
break;
|
||||
case 'O':
|
||||
vid_hdr_offset = simple_strtoul(optarg, NULL, 0);
|
||||
break;
|
||||
|
@ -91,7 +95,7 @@ static int do_ubiattach(int argc, char *argv[])
|
|||
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)
|
||||
printf("failed to attach: %s\n", strerror(-ret));
|
||||
else
|
||||
|
@ -104,13 +108,14 @@ err:
|
|||
|
||||
BAREBOX_CMD_HELP_START(ubiattach)
|
||||
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_END
|
||||
|
||||
BAREBOX_CMD_START(ubiattach)
|
||||
.cmd = do_ubiattach,
|
||||
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_HELP(cmd_ubiattach_help)
|
||||
BAREBOX_CMD_END
|
||||
|
|
Loading…
Reference in New Issue