From: Jerry Van Baren <gerald.vanbaren@comcast.net>
To: linuxppc-dev@ozlabs.org
Subject: [PATCH] DTC: Improve options handling
Date: Sat, 17 Mar 2007 13:03:37 -0400 [thread overview]
Message-ID: <45FC1F69.9080204@comcast.net> (raw)
[-- Attachment #1: Type: text/plain, Size: 242 bytes --]
Hi David, Jon,
Here is another fairly trivial patch for dtc. It adds -h to get the
usage message. It adds -q (-qq/-qqq) to suppress warnings/errors.
It removes the -R option which is advertised but does nothing useful.
Best regards,
gvb
[-- Attachment #2: 0001-Improve-options-handling.txt --]
[-- Type: text/plain, Size: 4119 bytes --]
Subject: [PATCH] Improve options handling
Remove unused -R option
Add -h option for help
Add -q quiet option to reduce or suppress the whining
Signed-off-by: vanbaren@cideas.com <vanbaren@cideas.com>
---
dtc.c | 24 ++++++++++++++++--------
dtc.h | 5 +++++
livetree.c | 10 ++++++----
3 files changed, 27 insertions(+), 12 deletions(-)
diff --git a/dtc.c b/dtc.c
index f15d90f..dc0077b 100644
--- a/dtc.c
+++ b/dtc.c
@@ -81,6 +81,10 @@ static void usage(void)
fprintf(stderr, "Usage:\n");
fprintf(stderr, "\tdtc [options] <input file>\n");
fprintf(stderr, "\nOptions:\n");
+ fprintf(stderr, "\t-h\n");
+ fprintf(stderr, "\t\tThis help text\n");
+ fprintf(stderr, "\t-q\n");
+ fprintf(stderr, "\t\tQuiet: -q suppress warnings, -qq errors, -qqq all\n");
fprintf(stderr, "\t-I <input format>\n");
fprintf(stderr, "\t\tInput formats are:\n");
fprintf(stderr, "\t\t\tdts - device tree source text\n");
@@ -93,7 +97,6 @@ static void usage(void)
fprintf(stderr, "\t\t\tasm - assembler source\n");
fprintf(stderr, "\t-V <output version>\n");
fprintf(stderr, "\t\tBlob version to produce, defaults to 16 (relevant for dtb\n\t\tand asm output only)\n");
- fprintf(stderr, "\t-R <number>\n");
fprintf(stderr, "\t\tMake space for <number> reserve map entries (relevant for \n\t\tdtb and asm output only)\n");
fprintf(stderr, "\t-b <number>\n");
fprintf(stderr, "\t\tSet the physical boot cpu\n");
@@ -114,10 +117,11 @@ int main(int argc, char *argv[])
FILE *inf = NULL;
FILE *outf = NULL;
int outversion = 17;
- int reservenum = 1;
int boot_cpuid_phys = 0xfeedbeef;
- while ((opt = getopt(argc, argv, "I:O:o:V:R:fb:")) != EOF) {
+ quiet = 0;
+
+ while ((opt = getopt(argc, argv, "hI:O:o:V:fqb:")) != EOF) {
switch (opt) {
case 'I':
inform = optarg;
@@ -131,15 +135,16 @@ int main(int argc, char *argv[])
case 'V':
outversion = strtol(optarg, NULL, 0);
break;
- case 'R':
- reservenum = strtol(optarg, NULL, 0);
- break;
case 'f':
force = 1;
break;
+ case 'q':
+ quiet++;
+ break;
case 'b':
boot_cpuid_phys = strtol(optarg, NULL, 0);
break;
+ case 'h':
default:
usage();
}
@@ -174,9 +179,12 @@ int main(int argc, char *argv[])
die("Couldn't read input tree\n");
if (! check_device_tree(bi->dt, outversion, boot_cpuid_phys)) {
- fprintf(stderr, "Input tree has errors\n");
- if (! force)
+ if ((force) && (quiet < 3))
+ fprintf(stderr, "Input tree has errors, output forced\n");
+ if (! force) {
+ fprintf(stderr, "Input tree has errors, not writing output (use -f to force output)\n");
exit(1);
+ }
}
if (streq(outname, "-")) {
diff --git a/dtc.h b/dtc.h
index 8d3964c..e3e2863 100644
--- a/dtc.h
+++ b/dtc.h
@@ -36,6 +36,11 @@
#include "flat_dt.h"
+/*
+ * Level of quietness
+ */
+int quiet;
+
static inline void die(char * str, ...)
{
va_list ap;
diff --git a/livetree.c b/livetree.c
index 84f2f64..f7b6108 100644
--- a/livetree.c
+++ b/livetree.c
@@ -252,8 +252,8 @@ static struct node *get_node_by_phandle(struct node *tree, cell_t phandle)
* Tree checking functions
*/
-#define ERRMSG(...) fprintf(stderr, "ERROR: " __VA_ARGS__)
-#define WARNMSG(...) fprintf(stderr, "Warning: " __VA_ARGS__)
+#define ERRMSG(...) if (quiet < 2) fprintf(stderr, "ERROR: " __VA_ARGS__)
+#define WARNMSG(...) if (quiet < 1) fprintf(stderr, "Warning: " __VA_ARGS__)
static int must_be_one_cell(struct property *prop, struct node *node)
{
@@ -512,13 +512,15 @@ static int check_cpus(struct node *root, int outversion, int boot_cpuid_phys)
char *eptr;
unitnum = strtol(get_unitname(cpu), &eptr, 16);
- if (*eptr)
+ if (*eptr) {
WARNMSG("%s has bad format unit name %s (should be CPU number\n",
cpu->fullpath, get_unitname(cpu));
- else if (unitnum != propval_cell(prop))
+ }
+ else if (unitnum != propval_cell(prop)) {
WARNMSG("%s unit name \"%s\" does not match \"reg\" property <%x>\n",
cpu->fullpath, get_unitname(cpu),
propval_cell(prop));
+ }
}
/* CHECK_HAVE_ONECELL(cpu, "d-cache-line-size"); */
--
1.4.4.4
next reply other threads:[~2007-03-17 17:03 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-17 17:03 Jerry Van Baren [this message]
2007-03-17 23:13 ` [PATCH] DTC: Improve options handling David Gibson
2007-03-18 0:35 ` Jerry Van Baren
2007-03-18 1:51 ` David Gibson
2007-03-18 20:49 ` [PATCH] DTC: Improve options handling - respin Jerry Van Baren
2007-03-19 14:10 ` Jon Loeliger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=45FC1F69.9080204@comcast.net \
--to=gerald.vanbaren@comcast.net \
--cc=linuxppc-dev@ozlabs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.