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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).