* Some patches @ 2010-11-01 8:26 Robert Schwebel 2010-11-01 8:26 ` [PATCH 1/5] devinfo: use subtree only with devinfo Robert Schwebel ` (4 more replies) 0 siblings, 5 replies; 8+ messages in thread From: Robert Schwebel @ 2010-11-01 8:26 UTC (permalink / raw) To: barebox This series contains some random patches for barebox. rsc -- Pengutronix e.K. | Dipl.-Ing. Robert Schwebel | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/5] devinfo: use subtree only with devinfo 2010-11-01 8:26 Some patches Robert Schwebel @ 2010-11-01 8:26 ` Robert Schwebel 2010-11-01 8:26 ` [PATCH 2/5] sandbox: use devfs functions only if defined Robert Schwebel ` (3 subsequent siblings) 4 siblings, 0 replies; 8+ messages in thread From: Robert Schwebel @ 2010-11-01 8:26 UTC (permalink / raw) To: barebox The do_devinfo_subtree() function is only used if devinfo is compiled in, so put it under the same ifdef. This avoids the following warning when built with allnoconfig: lib/driver.c:247: warning: 'do_devinfo_subtree' defined but not used Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de> --- lib/driver.c | 42 +++++++++++++++++++++--------------------- 1 files changed, 21 insertions(+), 21 deletions(-) diff --git a/lib/driver.c b/lib/driver.c index 66d8fee..a05e7e3 100644 --- a/lib/driver.c +++ b/lib/driver.c @@ -244,6 +244,27 @@ int dummy_probe(struct device_d *dev) } EXPORT_SYMBOL(dummy_probe); +const char *dev_id(const struct device_d *dev) +{ + static char buf[sizeof(unsigned long) * 2]; + + sprintf(buf, FORMAT_DRIVER_MANE_ID, dev->name, dev->id); + + return buf; +} + +void devices_shutdown(void) +{ + struct device_d *dev; + + list_for_each_entry(dev, &active, active) { + if (dev->driver->remove) + dev->driver->remove(dev); + } +} + +#ifdef CONFIG_CMD_DEVINFO + static int do_devinfo_subtree(struct device_d *dev, int depth, char edge) { struct device_d *child; @@ -276,27 +297,6 @@ static int do_devinfo_subtree(struct device_d *dev, int depth, char edge) return 0; } -const char *dev_id(const struct device_d *dev) -{ - static char buf[sizeof(unsigned long) * 2]; - - sprintf(buf, FORMAT_DRIVER_MANE_ID, dev->name, dev->id); - - return buf; -} - -void devices_shutdown(void) -{ - struct device_d *dev; - - list_for_each_entry(dev, &active, active) { - if (dev->driver->remove) - dev->driver->remove(dev); - } -} - -#ifdef CONFIG_CMD_DEVINFO - static int do_devinfo(struct command *cmdtp, int argc, char *argv[]) { struct device_d *dev; -- 1.7.2.3 _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 2/5] sandbox: use devfs functions only if defined 2010-11-01 8:26 Some patches Robert Schwebel 2010-11-01 8:26 ` [PATCH 1/5] devinfo: use subtree only with devinfo Robert Schwebel @ 2010-11-01 8:26 ` Robert Schwebel 2010-11-01 8:26 ` [PATCH 3/5] digest: align menu Robert Schwebel ` (2 subsequent siblings) 4 siblings, 0 replies; 8+ messages in thread From: Robert Schwebel @ 2010-11-01 8:26 UTC (permalink / raw) To: barebox arch/sandbox/board/built-in.o: In function `hf_probe': hostfile.c:(.text+0xac): undefined reference to `devfs_create' Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de> --- arch/sandbox/board/hostfile.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/arch/sandbox/board/hostfile.c b/arch/sandbox/board/hostfile.c index ad625d7..38a52a8 100644 --- a/arch/sandbox/board/hostfile.c +++ b/arch/sandbox/board/hostfile.c @@ -79,7 +79,9 @@ static int hf_probe(struct device_d *dev) priv->cdev.size = hf->size; priv->cdev.ops = &hf_fops; priv->cdev.priv = hf; +#ifdef CONFIG_FS_DEVFS devfs_create(&priv->cdev); +#endif return 0; } -- 1.7.2.3 _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 3/5] digest: align menu 2010-11-01 8:26 Some patches Robert Schwebel 2010-11-01 8:26 ` [PATCH 1/5] devinfo: use subtree only with devinfo Robert Schwebel 2010-11-01 8:26 ` [PATCH 2/5] sandbox: use devfs functions only if defined Robert Schwebel @ 2010-11-01 8:26 ` Robert Schwebel 2010-11-01 8:26 ` [PATCH 4/5] allno: make simple shell the default Robert Schwebel 2010-11-01 8:26 ` [PATCH 5/5] parser: use debug macros Robert Schwebel 4 siblings, 0 replies; 8+ messages in thread From: Robert Schwebel @ 2010-11-01 8:26 UTC (permalink / raw) To: barebox Align with the other menu entries. Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de> --- lib/Kconfig | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/lib/Kconfig b/lib/Kconfig index 9eca161..ad2b3cf 100644 --- a/lib/Kconfig +++ b/lib/Kconfig @@ -11,7 +11,7 @@ config CRC16 bool menuconfig DIGEST - bool "Digest" + bool "Digest " if DIGEST -- 1.7.2.3 _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 4/5] allno: make simple shell the default 2010-11-01 8:26 Some patches Robert Schwebel ` (2 preceding siblings ...) 2010-11-01 8:26 ` [PATCH 3/5] digest: align menu Robert Schwebel @ 2010-11-01 8:26 ` Robert Schwebel 2010-11-01 10:44 ` Sascha Hauer 2010-11-01 8:26 ` [PATCH 5/5] parser: use debug macros Robert Schwebel 4 siblings, 1 reply; 8+ messages in thread From: Robert Schwebel @ 2010-11-01 8:26 UTC (permalink / raw) To: barebox Reorder the shells in Kconfig, in order to make the simple shell the default over hush. For the sandbox_defconfig this makes the image smaller: before: -rwxr-xr-x 1 rsc ptx 60747 Oct 29 09:19 barebox after: -rwxr-xr-x 1 rsc ptx 53275 Oct 29 09:18 barebox Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de> --- common/Kconfig | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) diff --git a/common/Kconfig b/common/Kconfig index ad70cde..54a40e9 100644 --- a/common/Kconfig +++ b/common/Kconfig @@ -214,16 +214,16 @@ config MAXARGS choice prompt "Select your shell" + config SHELL_SIMPLE + bool "Simple parser" + help + simple shell. No if/then, no return values from commands, no loops + config SHELL_HUSH bool "hush parser" help Enable hush support. This is the most advanced shell available for barebox. - - config SHELL_SIMPLE - bool "Simple parser" - help - simple shell. No if/then, no return values from commands, no loops endchoice config GLOB -- 1.7.2.3 _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 4/5] allno: make simple shell the default 2010-11-01 8:26 ` [PATCH 4/5] allno: make simple shell the default Robert Schwebel @ 2010-11-01 10:44 ` Sascha Hauer 2010-11-01 11:01 ` Robert Schwebel 0 siblings, 1 reply; 8+ messages in thread From: Sascha Hauer @ 2010-11-01 10:44 UTC (permalink / raw) To: Robert Schwebel; +Cc: barebox On Mon, Nov 01, 2010 at 09:26:18AM +0100, Robert Schwebel wrote: > Reorder the shells in Kconfig, in order to make the simple shell the > default over hush. The simple shell is mostly unused in barebox and most boards depend on hush in their default environment. It shouldn't be made default. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 4/5] allno: make simple shell the default 2010-11-01 10:44 ` Sascha Hauer @ 2010-11-01 11:01 ` Robert Schwebel 0 siblings, 0 replies; 8+ messages in thread From: Robert Schwebel @ 2010-11-01 11:01 UTC (permalink / raw) To: Sascha Hauer; +Cc: barebox On Mon, Nov 01, 2010 at 11:44:25AM +0100, Sascha Hauer wrote: > On Mon, Nov 01, 2010 at 09:26:18AM +0100, Robert Schwebel wrote: > > Reorder the shells in Kconfig, in order to make the simple shell the > > default over hush. > > The simple shell is mostly unused in barebox and most boards depend on > hush in their default environment. It shouldn't be made default. I would expect 'make allnoconfig' to make a minimum image, but it currently builds in hush. Any idea how to solve this? rsc -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 5/5] parser: use debug macros 2010-11-01 8:26 Some patches Robert Schwebel ` (3 preceding siblings ...) 2010-11-01 8:26 ` [PATCH 4/5] allno: make simple shell the default Robert Schwebel @ 2010-11-01 8:26 ` Robert Schwebel 4 siblings, 0 replies; 8+ messages in thread From: Robert Schwebel @ 2010-11-01 8:26 UTC (permalink / raw) To: barebox Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de> --- common/parser.c | 51 +++++++++++++++++++++++---------------------------- 1 files changed, 23 insertions(+), 28 deletions(-) diff --git a/common/parser.c b/common/parser.c index 97e354b..fd578c7 100644 --- a/common/parser.c +++ b/common/parser.c @@ -6,9 +6,8 @@ static int parse_line (char *line, char *argv[]) { int nargs = 0; -#ifdef DEBUG_PARSER - printf ("parse_line: \"%s\"\n", line); -#endif + pr_debug("parse_line: \"%s\"\n", line); + while (nargs < CONFIG_MAXARGS) { /* skip any white space */ @@ -18,9 +17,9 @@ static int parse_line (char *line, char *argv[]) if (*line == '\0') { /* end of line, no more args */ argv[nargs] = NULL; -#ifdef DEBUG_PARSER - printf ("parse_line: nargs=%d\n", nargs); -#endif + + pr_debug("parse_line: nargs=%d\n", nargs); + return (nargs); } @@ -33,9 +32,9 @@ static int parse_line (char *line, char *argv[]) if (*line == '\0') { /* end of line, no more args */ argv[nargs] = NULL; -#ifdef DEBUG_PARSER - printf ("parse_line: nargs=%d\n", nargs); -#endif + + pr_debug("parse_line: nargs=%d\n", nargs); + return (nargs); } @@ -43,10 +42,8 @@ static int parse_line (char *line, char *argv[]) } printf ("** Too many args (max. %d) **\n", CONFIG_MAXARGS); + pr_debug("parse_line: nargs=%d\n", nargs); -#ifdef DEBUG_PARSER - printf ("parse_line: nargs=%d\n", nargs); -#endif return (nargs); } @@ -61,12 +58,12 @@ static void process_macros (const char *input, char *output) /* 1 = waiting for '(' or '{' */ /* 2 = waiting for ')' or '}' */ /* 3 = waiting for ''' */ -#ifdef DEBUG_PARSER +#ifdef DEBUG char *output_start = output; +#endif - printf ("[PROCESS_MACROS] INPUT len %d: \"%s\"\n", strlen (input), + pr_debug("[PROCESS_MACROS] INPUT len %d: \"%s\"\n", strlen (input), input); -#endif prev = '\0'; /* previous character */ @@ -153,10 +150,8 @@ static void process_macros (const char *input, char *output) if (outputcnt) *output = 0; -#ifdef DEBUG_PARSER - printf ("[PROCESS_MACROS] OUTPUT len %d: \"%s\"\n", + pr_debug("[PROCESS_MACROS] OUTPUT len %d: \"%s\"\n", strlen (output_start), output_start); -#endif } /**************************************************************************** @@ -185,8 +180,8 @@ int run_command (const char *cmd, int flag) int argc, inquotes; int rc = 0; -#ifdef DEBUG_PARSER - printf ("[RUN_COMMAND] cmd[%p]=\"", cmd); +#ifdef DEBUG + pr_debug("[RUN_COMMAND] cmd[%p]=\"", cmd); puts (cmd ? cmd : "NULL"); /* use puts - string may be loooong */ puts ("\"\n"); #endif @@ -202,13 +197,13 @@ int run_command (const char *cmd, int flag) strcpy (cmdbuf, cmd); - /* Process separators and check for invalid + /* + * Process separators and check for invalid * repeatable commands */ -#ifdef DEBUG_PARSER - printf ("[PROCESS_SEPARATORS] %s\n", cmd); -#endif + pr_debug("[PROCESS_SEPARATORS] %s\n", cmd); + while (*str) { /* @@ -235,11 +230,11 @@ int run_command (const char *cmd, int flag) str = sep + 1; /* start of command for next pass */ *sep = '\0'; } - else + else { str = sep; /* no more commands for next pass */ -#ifdef DEBUG_PARSER - printf ("token: \"%s\"\n", token); -#endif + } + + pr_debug("token: \"%s\"\n", token); /* find macros in this token and replace them */ process_macros (token, finaltoken); -- 1.7.2.3 _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2010-11-01 11:01 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2010-11-01 8:26 Some patches Robert Schwebel 2010-11-01 8:26 ` [PATCH 1/5] devinfo: use subtree only with devinfo Robert Schwebel 2010-11-01 8:26 ` [PATCH 2/5] sandbox: use devfs functions only if defined Robert Schwebel 2010-11-01 8:26 ` [PATCH 3/5] digest: align menu Robert Schwebel 2010-11-01 8:26 ` [PATCH 4/5] allno: make simple shell the default Robert Schwebel 2010-11-01 10:44 ` Sascha Hauer 2010-11-01 11:01 ` Robert Schwebel 2010-11-01 8:26 ` [PATCH 5/5] parser: use debug macros Robert Schwebel
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox