[PATCH 1/2] ubi-utils: provide default value for /dev/ubi_ctrl
Jon Povey
jon.povey at racelogic.co.uk
Wed Sep 1 22:47:53 EDT 2010
Modify ubiattach and ubidetach to default to /dev/ubi_ctrl if not supplied
rather than requiring the user to type it in every time.
Also bump version from 1.0 to 1.1
Signed-off-by: Jon Povey <jon.povey at racelogic.co.uk>
---
ubi-utils/src/ubiattach.c | 17 ++++++++++-------
ubi-utils/src/ubidetach.c | 17 ++++++++++-------
2 files changed, 20 insertions(+), 14 deletions(-)
diff --git a/ubi-utils/src/ubiattach.c b/ubi-utils/src/ubiattach.c
index b1c8d74..4454c38 100644
--- a/ubi-utils/src/ubiattach.c
+++ b/ubi-utils/src/ubiattach.c
@@ -31,8 +31,9 @@
#include "common.h"
#include "ubiutils-common.h"
-#define PROGRAM_VERSION "1.0"
+#define PROGRAM_VERSION "1.1"
#define PROGRAM_NAME "ubiattach"
+#define DEFAULT_CTRL_DEV "/dev/ubi_ctrl"
/* The variables below are set by command line arguments */
struct args {
@@ -68,13 +69,14 @@ static const char *optionsstr =
"-V, --version print program version";
static const char *usage =
-"Usage: " PROGRAM_NAME " <UBI control device node file name>\n"
+"Usage: " PROGRAM_NAME " [<UBI control device node file name>]\n"
"\t[-m <MTD device number>] [-d <UBI device number>] [-p <path to device>]\n"
"\t[--mtdn=<MTD device number>] [--devn=<UBI device number>]\n"
"\t[--dev-path=<path to device>]\n"
-"Example 1: " PROGRAM_NAME " /dev/ubi_ctrl -p /dev/mtd0 - attach /dev/mtd0 to UBI\n"
-"Example 2: " PROGRAM_NAME " /dev/ubi_ctrl -m 0 - attach MTD device 0 (mtd0) to UBI\n"
-"Example 3: " PROGRAM_NAME " /dev/ubi_ctrl -m 0 -d 3 - attach MTD device 0 (mtd0) to UBI and\n"
+"UBI control device defaults to " DEFAULT_CTRL_DEV " if not supplied.\n"
+"Example 1: " PROGRAM_NAME " -p /dev/mtd0 - attach /dev/mtd0 to UBI\n"
+"Example 2: " PROGRAM_NAME " -m 0 - attach MTD device 0 (mtd0) to UBI\n"
+"Example 3: " PROGRAM_NAME " -m 0 -d 3 - attach MTD device 0 (mtd0) to UBI\n"
" and create UBI device number 3 (ubi3)";
static const struct option long_options[] = {
@@ -142,14 +144,15 @@ static int parse_opt(int argc, char * const argv[])
}
if (optind == argc)
- return errmsg("UBI control device name was not specified (use -h for help)");
+ args.node = DEFAULT_CTRL_DEV;
else if (optind != argc - 1)
return errmsg("more then one UBI control device specified (use -h for help)");
+ else
+ args.node = argv[optind];
if (args.mtdn == -1 && args.dev == NULL)
return errmsg("MTD device to attach was not specified (use -h for help)");
- args.node = argv[optind];
return 0;
}
diff --git a/ubi-utils/src/ubidetach.c b/ubi-utils/src/ubidetach.c
index 335486d..c4c05a5 100644
--- a/ubi-utils/src/ubidetach.c
+++ b/ubi-utils/src/ubidetach.c
@@ -30,8 +30,9 @@
#include <libubi.h>
#include "common.h"
-#define PROGRAM_VERSION "1.0"
+#define PROGRAM_VERSION "1.1"
#define PROGRAM_NAME "ubidetach"
+#define DEFAULT_CTRL_DEV "/dev/ubi_ctrl"
/* The variables below are set by command line arguments */
struct args {
@@ -59,13 +60,14 @@ static const char *optionsstr =
"-V, --version print program version";
static const char *usage =
-"Usage: " PROGRAM_NAME " <UBI control device node file name>\n"
+"Usage: " PROGRAM_NAME " [<UBI control device node file name>]\n"
"\t[-d <UBI device number>] [-m <MTD device number>] [-p <path to device>]\n"
"\t[--devn=<UBI device number>] [--mtdn=<MTD device number>]\n"
"\t[--dev-path=<path to device>]\n"
-"Example 1: " PROGRAM_NAME " /dev/ubi_ctrl -p /dev/mtd0 - detach MTD device /dev/mtd0\n"
-"Example 2: " PROGRAM_NAME " /dev/ubi_ctrl -d 2 - delete UBI device 2 (ubi2)\n"
-"Example 3: " PROGRAM_NAME " /dev/ubi_ctrl -m 0 - detach MTD device 0 (mtd0)";
+"UBI control device defaults to " DEFAULT_CTRL_DEV " if not supplied.\n"
+"Example 1: " PROGRAM_NAME " -p /dev/mtd0 - detach MTD device /dev/mtd0\n"
+"Example 2: " PROGRAM_NAME " -d 2 - delete UBI device 2 (ubi2)\n"
+"Example 3: " PROGRAM_NAME " -m 0 - detach MTD device 0 (mtd0)";
static const struct option long_options[] = {
{ .name = "devn", .has_arg = 1, .flag = NULL, .val = 'd' },
@@ -124,9 +126,11 @@ static int parse_opt(int argc, char * const argv[])
}
if (optind == argc)
- return errmsg("UBI control device name was not specified (use -h for help)");
+ args.node = DEFAULT_CTRL_DEV;
else if (optind != argc - 1)
return errmsg("more then one UBI control device specified (use -h for help)");
+ else
+ args.node = argv[optind];
if (args.mtdn == -1 && args.devn == -1 && args.dev == NULL)
return errmsg("neither MTD nor UBI devices were specified (use -h for help)");
@@ -138,7 +142,6 @@ static int parse_opt(int argc, char * const argv[])
} else if (args.mtdn != -1 && args.dev != NULL)
return errmsg("specify either MTD number or device node (use -h for help)");
- args.node = argv[optind];
return 0;
}
--
1.6.3.3
More information about the linux-mtd
mailing list