* [U-Boot] [PATCH v4 1/9] at91: Correct CONFIG_AUTOBOOT_PROMPT definition for pm9263
@ 2013-05-15 16:23 Simon Glass
2013-05-15 16:23 ` [U-Boot] [PATCH v4 2/9] net: Add prototype for update_tftp Simon Glass
` (9 more replies)
0 siblings, 10 replies; 13+ messages in thread
From: Simon Glass @ 2013-05-15 16:23 UTC (permalink / raw)
To: u-boot
This is not currently used, since autoboot is not enabled for this
board, but the string is missing a parameter. Add it.
Signed-off-by: Simon Glass <sjg@chromium.org>
---
Changes in v4: None
Changes in v3: None
include/configs/pm9263.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/configs/pm9263.h b/include/configs/pm9263.h
index b60a9ad..6f6ddfa 100644
--- a/include/configs/pm9263.h
+++ b/include/configs/pm9263.h
@@ -355,7 +355,7 @@
#define CONFIG_BOOTCOMMAND "run flashboot"
#define CONFIG_ROOTPATH "/ronetix/rootfs"
-#define CONFIG_AUTOBOOT_PROMPT "autoboot in %d seconds\n"
+#define CONFIG_AUTOBOOT_PROMPT "autoboot in %d seconds\n", bootdelay
#define CONFIG_CON_ROT "fbcon=rotate:3 "
#define CONFIG_BOOTARGS "root=/dev/mtdblock4 rootfstype=jffs2 "\
--
1.8.2.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [U-Boot] [PATCH v4 2/9] net: Add prototype for update_tftp
2013-05-15 16:23 [U-Boot] [PATCH v4 1/9] at91: Correct CONFIG_AUTOBOOT_PROMPT definition for pm9263 Simon Glass
@ 2013-05-15 16:23 ` Simon Glass
2013-05-15 16:36 ` Joe Hershberger
2013-05-15 16:23 ` [U-Boot] [PATCH v4 3/9] main: Separate out the two abortboot() functions Simon Glass
` (8 subsequent siblings)
9 siblings, 1 reply; 13+ messages in thread
From: Simon Glass @ 2013-05-15 16:23 UTC (permalink / raw)
To: u-boot
This function should be declared in net.h.
Signed-off-by: Simon Glass <sjg@chromium.org>
---
Changes in v4:
- Removed autoconf() code for now
Changes in v3: None
common/cmd_fitupd.c | 3 +--
common/main.c | 4 ----
include/net.h | 3 +++
3 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/common/cmd_fitupd.c b/common/cmd_fitupd.c
index 7a3789e..618ff7c 100644
--- a/common/cmd_fitupd.c
+++ b/common/cmd_fitupd.c
@@ -8,13 +8,12 @@
#include <common.h>
#include <command.h>
+#include <net.h>
#if !defined(CONFIG_UPDATE_TFTP)
#error "CONFIG_UPDATE_TFTP required"
#endif
-extern int update_tftp(ulong addr);
-
static int do_fitupd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
ulong addr = 0UL;
diff --git a/common/main.c b/common/main.c
index 953ef29..9890184 100644
--- a/common/main.c
+++ b/common/main.c
@@ -57,10 +57,6 @@ DECLARE_GLOBAL_DATA_PTR;
void inline __show_boot_progress (int val) {}
void show_boot_progress (int val) __attribute__((weak, alias("__show_boot_progress")));
-#if defined(CONFIG_UPDATE_TFTP)
-int update_tftp (ulong addr);
-#endif /* CONFIG_UPDATE_TFTP */
-
#define MAX_DELAY_STOP_STR 32
#undef DEBUG_PARSER
diff --git a/include/net.h b/include/net.h
index 970d4d1..23fb947 100644
--- a/include/net.h
+++ b/include/net.h
@@ -695,6 +695,9 @@ extern void copy_filename(char *dst, const char *src, int size);
/* get a random source port */
extern unsigned int random_port(void);
+/* Update U-Boot over TFTP */
+extern int update_tftp(ulong addr);
+
/**********************************************************************/
#endif /* __NET_H__ */
--
1.8.2.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [U-Boot] [PATCH v4 3/9] main: Separate out the two abortboot() functions
2013-05-15 16:23 [U-Boot] [PATCH v4 1/9] at91: Correct CONFIG_AUTOBOOT_PROMPT definition for pm9263 Simon Glass
2013-05-15 16:23 ` [U-Boot] [PATCH v4 2/9] net: Add prototype for update_tftp Simon Glass
@ 2013-05-15 16:23 ` Simon Glass
2013-05-15 16:37 ` Joe Hershberger
2013-05-15 16:23 ` [U-Boot] [PATCH v4 4/9] main: Move boot_delay code into its own function Simon Glass
` (7 subsequent siblings)
9 siblings, 1 reply; 13+ messages in thread
From: Simon Glass @ 2013-05-15 16:23 UTC (permalink / raw)
To: u-boot
There are two implementations of abortboot(). Turn these into two separate
functions, and create a single abortboot() which calls either one or the
other.
Also it seems that nothing uses abortboot() outside main, so make it static.
At this point there is no further use of CONFIG_MENU in main.c.
Signed-off-by: Simon Glass <sjg@chromium.org>
---
Changes in v4:
- Create a patch that moves the code but still uses #ifdef
Changes in v3:
- Fix commit message which said autoboot() instead of abortboot()
- Add note about CONFIG_MENU not being needed in main.c anymore
common/main.c | 19 +++++++++++--------
include/common.h | 3 ---
2 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/common/main.c b/common/main.c
index 9890184..22ea8fd 100644
--- a/common/main.c
+++ b/common/main.c
@@ -89,10 +89,7 @@ extern void mdm_init(void); /* defined in board.c */
*/
#if defined(CONFIG_BOOTDELAY)
# if defined(CONFIG_AUTOBOOT_KEYED)
-#ifndef CONFIG_MENU
-static inline
-#endif
-int abortboot(int bootdelay)
+static int abortboot_keyed(int bootdelay)
{
int abort = 0;
uint64_t etime = endtick(bootdelay);
@@ -211,10 +208,7 @@ int abortboot(int bootdelay)
static int menukey = 0;
#endif
-#ifndef CONFIG_MENU
-static inline
-#endif
-int abortboot(int bootdelay)
+static int abortboot_normal(int bootdelay)
{
int abort = 0;
unsigned long ts;
@@ -271,6 +265,15 @@ int abortboot(int bootdelay)
return abort;
}
# endif /* CONFIG_AUTOBOOT_KEYED */
+
+static int abortboot(int bootdelay)
+{
+#ifdef CONFIG_AUTOBOOT_KEYED
+ return abortboot_keyed(bootdelay);
+#else
+ return abortboot_normal(bootdelay);
+#endif
+}
#endif /* CONFIG_BOOTDELAY */
/*
diff --git a/include/common.h b/include/common.h
index e682bd8..126891d 100644
--- a/include/common.h
+++ b/include/common.h
@@ -310,9 +310,6 @@ int readline_into_buffer(const char *const prompt, char *buffer,
int parse_line (char *, char *[]);
void init_cmd_timeout(void);
void reset_cmd_timeout(void);
-#ifdef CONFIG_MENU
-int abortboot(int bootdelay);
-#endif
extern char console_buffer[];
/* arch/$(ARCH)/lib/board.c */
--
1.8.2.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [U-Boot] [PATCH v4 4/9] main: Move boot_delay code into its own function
2013-05-15 16:23 [U-Boot] [PATCH v4 1/9] at91: Correct CONFIG_AUTOBOOT_PROMPT definition for pm9263 Simon Glass
2013-05-15 16:23 ` [U-Boot] [PATCH v4 2/9] net: Add prototype for update_tftp Simon Glass
2013-05-15 16:23 ` [U-Boot] [PATCH v4 3/9] main: Separate out the two abortboot() functions Simon Glass
@ 2013-05-15 16:23 ` Simon Glass
2013-05-15 16:23 ` [U-Boot] [PATCH v4 5/9] main: Use get/setenv_ulong() Simon Glass
` (6 subsequent siblings)
9 siblings, 0 replies; 13+ messages in thread
From: Simon Glass @ 2013-05-15 16:23 UTC (permalink / raw)
To: u-boot
Move this code into its own function, since it clutters up main_loop().
Signed-off-by: Simon Glass <sjg@chromium.org>
---
Changes in v4:
- Make change without using autoconf
Changes in v3: None
common/main.c | 137 ++++++++++++++++++++++++++++++----------------------------
1 file changed, 70 insertions(+), 67 deletions(-)
diff --git a/common/main.c b/common/main.c
index 22ea8fd..159b8e1 100644
--- a/common/main.c
+++ b/common/main.c
@@ -341,27 +341,14 @@ static void process_fdt_options(const void *blob)
}
#endif /* CONFIG_OF_CONTROL */
-
-/****************************************************************************/
-
-void main_loop (void)
+#ifdef CONFIG_BOOTDELAY
+static void process_boot_delay(void)
{
-#ifndef CONFIG_SYS_HUSH_PARSER
- static char lastcommand[CONFIG_SYS_CBSIZE] = { 0, };
- int len;
- int rc = 1;
- int flag;
-#endif
-#if defined(CONFIG_BOOTDELAY) && defined(CONFIG_OF_CONTROL)
+#ifdef CONFIG_OF_CONTROL
char *env;
#endif
-#if defined(CONFIG_BOOTDELAY)
char *s;
int bootdelay;
-#endif
-#ifdef CONFIG_PREBOOT
- char *p;
-#endif
#ifdef CONFIG_BOOTCOUNT_LIMIT
unsigned long bootcount = 0;
unsigned long bootlimit = 0;
@@ -369,8 +356,6 @@ void main_loop (void)
char bcs_set[16];
#endif /* CONFIG_BOOTCOUNT_LIMIT */
- bootstage_mark_name(BOOTSTAGE_ID_MAIN_LOOP, "main_loop");
-
#ifdef CONFIG_BOOTCOUNT_LIMIT
bootcount = bootcount_load();
bootcount++;
@@ -381,50 +366,6 @@ void main_loop (void)
bootlimit = bcs ? simple_strtoul (bcs, NULL, 10) : 0;
#endif /* CONFIG_BOOTCOUNT_LIMIT */
-#ifdef CONFIG_MODEM_SUPPORT
- debug ("DEBUG: main_loop: do_mdm_init=%d\n", do_mdm_init);
- if (do_mdm_init) {
- char *str = strdup(getenv("mdm_cmd"));
- setenv ("preboot", str); /* set or delete definition */
- if (str != NULL)
- free (str);
- mdm_init(); /* wait for modem connection */
- }
-#endif /* CONFIG_MODEM_SUPPORT */
-
-#ifdef CONFIG_VERSION_VARIABLE
- {
- setenv ("ver", version_string); /* set version variable */
- }
-#endif /* CONFIG_VERSION_VARIABLE */
-
-#ifdef CONFIG_SYS_HUSH_PARSER
- u_boot_hush_start ();
-#endif
-
-#if defined(CONFIG_HUSH_INIT_VAR)
- hush_init_var ();
-#endif
-
-#ifdef CONFIG_PREBOOT
- if ((p = getenv ("preboot")) != NULL) {
-# ifdef CONFIG_AUTOBOOT_KEYED
- int prev = disable_ctrlc(1); /* disable Control C checking */
-# endif
-
- run_command_list(p, -1, 0);
-
-# ifdef CONFIG_AUTOBOOT_KEYED
- disable_ctrlc(prev); /* restore Control C checking */
-# endif
- }
-#endif /* CONFIG_PREBOOT */
-
-#if defined(CONFIG_UPDATE_TFTP)
- update_tftp (0UL);
-#endif /* CONFIG_UPDATE_TFTP */
-
-#if defined(CONFIG_BOOTDELAY)
s = getenv ("bootdelay");
bootdelay = s ? (int)simple_strtol(s, NULL, 10) : CONFIG_BOOTDELAY;
@@ -473,26 +414,88 @@ void main_loop (void)
debug ("### main_loop: bootcmd=\"%s\"\n", s ? s : "<UNDEFINED>");
if (bootdelay != -1 && s && !abortboot(bootdelay)) {
-# ifdef CONFIG_AUTOBOOT_KEYED
+#ifdef CONFIG_AUTOBOOT_KEYED
int prev = disable_ctrlc(1); /* disable Control C checking */
-# endif
+#endif
run_command_list(s, -1, 0);
-# ifdef CONFIG_AUTOBOOT_KEYED
+#ifdef CONFIG_AUTOBOOT_KEYED
disable_ctrlc(prev); /* restore Control C checking */
-# endif
+#endif
}
-# ifdef CONFIG_MENUKEY
+#ifdef CONFIG_MENUKEY
if (menukey == CONFIG_MENUKEY) {
s = getenv("menucmd");
if (s)
run_command_list(s, -1, 0);
}
#endif /* CONFIG_MENUKEY */
+}
#endif /* CONFIG_BOOTDELAY */
+void main_loop(void)
+{
+#ifndef CONFIG_SYS_HUSH_PARSER
+ static char lastcommand[CONFIG_SYS_CBSIZE] = { 0, };
+ int len;
+ int rc = 1;
+ int flag;
+#endif
+#ifdef CONFIG_PREBOOT
+ char *p;
+#endif
+
+ bootstage_mark_name(BOOTSTAGE_ID_MAIN_LOOP, "main_loop");
+
+#ifdef CONFIG_MODEM_SUPPORT
+ debug("DEBUG: main_loop: do_mdm_init=%d\n", do_mdm_init);
+ if (do_mdm_init) {
+ char *str = strdup(getenv("mdm_cmd"));
+ setenv("preboot", str); /* set or delete definition */
+ if (str != NULL)
+ free(str);
+ mdm_init(); /* wait for modem connection */
+ }
+#endif /* CONFIG_MODEM_SUPPORT */
+
+#ifdef CONFIG_VERSION_VARIABLE
+ {
+ setenv("ver", version_string); /* set version variable */
+ }
+#endif /* CONFIG_VERSION_VARIABLE */
+
+#ifdef CONFIG_SYS_HUSH_PARSER
+ u_boot_hush_start();
+#endif
+
+#if defined(CONFIG_HUSH_INIT_VAR)
+ hush_init_var();
+#endif
+
+#ifdef CONFIG_PREBOOT
+ p = getenv("preboot");
+ if (p != NULL) {
+# ifdef CONFIG_AUTOBOOT_KEYED
+ int prev = disable_ctrlc(1); /* disable Control C checking */
+# endif
+
+ run_command_list(p, -1, 0);
+
+# ifdef CONFIG_AUTOBOOT_KEYED
+ disable_ctrlc(prev); /* restore Control C checking */
+# endif
+ }
+#endif /* CONFIG_PREBOOT */
+
+#if defined(CONFIG_UPDATE_TFTP)
+ update_tftp(0UL);
+#endif /* CONFIG_UPDATE_TFTP */
+
+#ifdef CONFIG_BOOTDELAY
+ process_boot_delay();
+#endif
/*
* Main Loop for Monitor Command Processing
*/
--
1.8.2.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [U-Boot] [PATCH v4 5/9] main: Use get/setenv_ulong()
2013-05-15 16:23 [U-Boot] [PATCH v4 1/9] at91: Correct CONFIG_AUTOBOOT_PROMPT definition for pm9263 Simon Glass
` (2 preceding siblings ...)
2013-05-15 16:23 ` [U-Boot] [PATCH v4 4/9] main: Move boot_delay code into its own function Simon Glass
@ 2013-05-15 16:23 ` Simon Glass
2013-05-15 16:23 ` [U-Boot] [PATCH v4 6/9] main: Fix typos and checkpatch warnings in command line reading Simon Glass
` (5 subsequent siblings)
9 siblings, 0 replies; 13+ messages in thread
From: Simon Glass @ 2013-05-15 16:23 UTC (permalink / raw)
To: u-boot
These functions are now available, so use them to avoid extra code here.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
---
Changes in v4: None
Changes in v3: None
common/main.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/common/main.c b/common/main.c
index 159b8e1..38fadac 100644
--- a/common/main.c
+++ b/common/main.c
@@ -352,18 +352,14 @@ static void process_boot_delay(void)
#ifdef CONFIG_BOOTCOUNT_LIMIT
unsigned long bootcount = 0;
unsigned long bootlimit = 0;
- char *bcs;
- char bcs_set[16];
#endif /* CONFIG_BOOTCOUNT_LIMIT */
#ifdef CONFIG_BOOTCOUNT_LIMIT
bootcount = bootcount_load();
bootcount++;
bootcount_store (bootcount);
- sprintf (bcs_set, "%lu", bootcount);
- setenv ("bootcount", bcs_set);
- bcs = getenv ("bootlimit");
- bootlimit = bcs ? simple_strtoul (bcs, NULL, 10) : 0;
+ setenv_ulong("bootcount", bootcount);
+ bootlimit = getenv_ulong("bootlimit", 10, 0);
#endif /* CONFIG_BOOTCOUNT_LIMIT */
s = getenv ("bootdelay");
--
1.8.2.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [U-Boot] [PATCH v4 6/9] main: Fix typos and checkpatch warnings in command line reading
2013-05-15 16:23 [U-Boot] [PATCH v4 1/9] at91: Correct CONFIG_AUTOBOOT_PROMPT definition for pm9263 Simon Glass
` (3 preceding siblings ...)
2013-05-15 16:23 ` [U-Boot] [PATCH v4 5/9] main: Use get/setenv_ulong() Simon Glass
@ 2013-05-15 16:23 ` Simon Glass
2013-05-15 16:23 ` [U-Boot] [PATCH v4 7/9] main: Correct header order Simon Glass
` (4 subsequent siblings)
9 siblings, 0 replies; 13+ messages in thread
From: Simon Glass @ 2013-05-15 16:23 UTC (permalink / raw)
To: u-boot
There are a few over-long lines and other checkpatch problems in this area
of the code. Prepare the ground for the next patch by tidying these up.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
---
Changes in v4: None
Changes in v3:
- Separate out checkpatch fixes in command line reading code into new patch
common/main.c | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/common/main.c b/common/main.c
index 38fadac..1adfea6 100644
--- a/common/main.c
+++ b/common/main.c
@@ -1078,20 +1078,20 @@ int readline_into_buffer(const char *const prompt, char *buffer, int timeout)
* Special character handling
*/
switch (c) {
- case '\r': /* Enter */
+ case '\r': /* Enter */
case '\n':
*p = '\0';
puts ("\r\n");
- return (p - p_buf);
+ return p - p_buf;
- case '\0': /* nul */
+ case '\0': /* nul */
continue;
- case 0x03: /* ^C - break */
+ case 0x03: /* ^C - break */
p_buf[0] = '\0'; /* discard input */
- return (-1);
+ return -1;
- case 0x15: /* ^U - erase line */
+ case 0x15: /* ^U - erase line */
while (col > plen) {
puts (erase_seq);
--col;
@@ -1100,15 +1100,15 @@ int readline_into_buffer(const char *const prompt, char *buffer, int timeout)
n = 0;
continue;
- case 0x17: /* ^W - erase word */
+ case 0x17: /* ^W - erase word */
p=delete_char(p_buf, p, &col, &n, plen);
while ((n > 0) && (*p != ' ')) {
p=delete_char(p_buf, p, &col, &n, plen);
}
continue;
- case 0x08: /* ^H - backspace */
- case 0x7F: /* DEL - backspace */
+ case 0x08: /* ^H - backspace */
+ case 0x7F: /* DEL - backspace */
p=delete_char(p_buf, p, &col, &n, plen);
continue;
@@ -1117,7 +1117,7 @@ int readline_into_buffer(const char *const prompt, char *buffer, int timeout)
* Must be a normal character then
*/
if (n < CONFIG_SYS_CBSIZE-2) {
- if (c == '\t') { /* expand TABs */
+ if (c == '\t') { /* expand TABs */
#ifdef CONFIG_AUTO_COMPLETE
/* if auto completion triggered just continue */
*p = '\0';
@@ -1132,7 +1132,7 @@ int readline_into_buffer(const char *const prompt, char *buffer, int timeout)
char buf[2];
/*
- * Echo input using puts() to force am
+ * Echo input using puts() to force an
* LCD flush if we are using an LCD
*/
++col;
--
1.8.2.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [U-Boot] [PATCH v4 7/9] main: Correct header order
2013-05-15 16:23 [U-Boot] [PATCH v4 1/9] at91: Correct CONFIG_AUTOBOOT_PROMPT definition for pm9263 Simon Glass
` (4 preceding siblings ...)
2013-05-15 16:23 ` [U-Boot] [PATCH v4 6/9] main: Fix typos and checkpatch warnings in command line reading Simon Glass
@ 2013-05-15 16:23 ` Simon Glass
2013-05-15 16:24 ` [U-Boot] [PATCH v4 8/9] main: Add debug_parser() to avoid #ifdefs Simon Glass
` (3 subsequent siblings)
9 siblings, 0 replies; 13+ messages in thread
From: Simon Glass @ 2013-05-15 16:23 UTC (permalink / raw)
To: u-boot
The headers are a bit out of order, so fix them.
Signed-off-by: Simon Glass <sjg@chromium.org>
---
Changes in v4:
- Rebase without autoconf changes
Changes in v3: None
common/main.c | 19 ++++---------------
1 file changed, 4 insertions(+), 15 deletions(-)
diff --git a/common/main.c b/common/main.c
index 1adfea6..e5173d7 100644
--- a/common/main.c
+++ b/common/main.c
@@ -28,26 +28,15 @@
/* #define DEBUG */
#include <common.h>
-#include <watchdog.h>
#include <command.h>
#include <fdtdec.h>
-#include <malloc.h>
-#include <version.h>
-#ifdef CONFIG_MODEM_SUPPORT
-#include <malloc.h> /* for free() prototype */
-#endif
-
-#ifdef CONFIG_SYS_HUSH_PARSER
#include <hush.h>
-#endif
-
-#ifdef CONFIG_OF_CONTROL
-#include <fdtdec.h>
-#endif
-
+#include <malloc.h>
+#include <menu.h>
#include <post.h>
+#include <version.h>
+#include <watchdog.h>
#include <linux/ctype.h>
-#include <menu.h>
DECLARE_GLOBAL_DATA_PTR;
--
1.8.2.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [U-Boot] [PATCH v4 8/9] main: Add debug_parser() to avoid #ifdefs
2013-05-15 16:23 [U-Boot] [PATCH v4 1/9] at91: Correct CONFIG_AUTOBOOT_PROMPT definition for pm9263 Simon Glass
` (5 preceding siblings ...)
2013-05-15 16:23 ` [U-Boot] [PATCH v4 7/9] main: Correct header order Simon Glass
@ 2013-05-15 16:24 ` Simon Glass
2013-05-15 16:24 ` [U-Boot] [PATCH v4 9/9] main: Add debug_bootkeys " Simon Glass
` (2 subsequent siblings)
9 siblings, 0 replies; 13+ messages in thread
From: Simon Glass @ 2013-05-15 16:24 UTC (permalink / raw)
To: u-boot
Define a simple debug condition at the top of the file, to avoid using
lots of #ifdefs later on.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
---
Changes in v4: None
Changes in v3: None
common/main.c | 58 +++++++++++++++++++++++-----------------------------------
1 file changed, 23 insertions(+), 35 deletions(-)
diff --git a/common/main.c b/common/main.c
index e5173d7..fcce0f3 100644
--- a/common/main.c
+++ b/common/main.c
@@ -48,7 +48,11 @@ void show_boot_progress (int val) __attribute__((weak, alias("__show_boot_progre
#define MAX_DELAY_STOP_STR 32
-#undef DEBUG_PARSER
+#define DEBUG_PARSER 0 /* set to 1 to debug */
+
+#define debug_parser(fmt, args...) \
+ debug_cond(DEBUG_PARSER, fmt, ##args)
+
char console_buffer[CONFIG_SYS_CBSIZE + 1]; /* console I/O buffer */
@@ -1179,9 +1183,7 @@ int parse_line (char *line, char *argv[])
{
int nargs = 0;
-#ifdef DEBUG_PARSER
- printf ("parse_line: \"%s\"\n", line);
-#endif
+ debug_parser("parse_line: \"%s\"\n", line);
while (nargs < CONFIG_SYS_MAXARGS) {
/* skip any white space */
@@ -1190,10 +1192,8 @@ 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
- return (nargs);
+ debug_parser("parse_line: nargs=%d\n", nargs);
+ return nargs;
}
argv[nargs++] = line; /* begin of argument string */
@@ -1204,10 +1204,8 @@ 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
- return (nargs);
+ debug_parser("parse_line: nargs=%d\n", nargs);
+ return nargs;
}
*line++ = '\0'; /* terminate current arg */
@@ -1215,9 +1213,7 @@ int parse_line (char *line, char *argv[])
printf ("** Too many args (max. %d) **\n", CONFIG_SYS_MAXARGS);
-#ifdef DEBUG_PARSER
- printf ("parse_line: nargs=%d\n", nargs);
-#endif
+ debug_parser("parse_line: nargs=%d\n", nargs);
return (nargs);
}
@@ -1235,12 +1231,10 @@ static void process_macros (const char *input, char *output)
/* 1 = waiting for '(' or '{' */
/* 2 = waiting for ')' or '}' */
/* 3 = waiting for ''' */
-#ifdef DEBUG_PARSER
char *output_start = output;
- printf ("[PROCESS_MACROS] INPUT len %d: \"%s\"\n", strlen (input),
- input);
-#endif
+ debug_parser("[PROCESS_MACROS] INPUT len %zd: \"%s\"\n", strlen(input),
+ input);
prev = '\0'; /* previous character */
@@ -1328,10 +1322,8 @@ static void process_macros (const char *input, char *output)
else
*(output - 1) = 0;
-#ifdef DEBUG_PARSER
- printf ("[PROCESS_MACROS] OUTPUT len %d: \"%s\"\n",
- strlen (output_start), output_start);
-#endif
+ debug_parser("[PROCESS_MACROS] OUTPUT len %zd: \"%s\"\n",
+ strlen(output_start), output_start);
}
/****************************************************************************
@@ -1362,12 +1354,12 @@ static int builtin_run_command(const char *cmd, int flag)
int repeatable = 1;
int rc = 0;
-#ifdef DEBUG_PARSER
- printf ("[RUN_COMMAND] cmd[%p]=\"", cmd);
- puts (cmd ? cmd : "NULL"); /* use puts - string may be loooong */
- puts ("\"\n");
-#endif
-
+ debug_parser("[RUN_COMMAND] cmd[%p]=\"", cmd);
+ if (DEBUG_PARSER) {
+ /* use puts - string may be loooong */
+ puts(cmd ? cmd : "NULL");
+ puts("\"\n");
+ }
clear_ctrlc(); /* forget any previous Control C */
if (!cmd || !*cmd) {
@@ -1385,9 +1377,7 @@ static int builtin_run_command(const char *cmd, int flag)
* repeatable commands
*/
-#ifdef DEBUG_PARSER
- printf ("[PROCESS_SEPARATORS] %s\n", cmd);
-#endif
+ debug_parser("[PROCESS_SEPARATORS] %s\n", cmd);
while (*str) {
/*
@@ -1416,9 +1406,7 @@ static int builtin_run_command(const char *cmd, int flag)
}
else
str = sep; /* no more commands for next pass */
-#ifdef DEBUG_PARSER
- printf ("token: \"%s\"\n", token);
-#endif
+ debug_parser("token: \"%s\"\n", token);
/* find macros in this token and replace them */
process_macros (token, finaltoken);
--
1.8.2.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [U-Boot] [PATCH v4 9/9] main: Add debug_bootkeys to avoid #ifdefs
2013-05-15 16:23 [U-Boot] [PATCH v4 1/9] at91: Correct CONFIG_AUTOBOOT_PROMPT definition for pm9263 Simon Glass
` (6 preceding siblings ...)
2013-05-15 16:24 ` [U-Boot] [PATCH v4 8/9] main: Add debug_parser() to avoid #ifdefs Simon Glass
@ 2013-05-15 16:24 ` Simon Glass
2013-05-17 6:06 ` [U-Boot] [PATCH v4 1/9] at91: Correct CONFIG_AUTOBOOT_PROMPT definition for pm9263 Andreas Bießmann
2013-06-05 12:33 ` Tom Rini
9 siblings, 0 replies; 13+ messages in thread
From: Simon Glass @ 2013-05-15 16:24 UTC (permalink / raw)
To: u-boot
Define a simple debug condition at the top of the file, to avoid using
lots of #ifdefs later on.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
---
Changes in v4: None
Changes in v3: None
common/main.c | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/common/main.c b/common/main.c
index fcce0f3..f6b9dc2 100644
--- a/common/main.c
+++ b/common/main.c
@@ -53,6 +53,11 @@ void show_boot_progress (int val) __attribute__((weak, alias("__show_boot_progre
#define debug_parser(fmt, args...) \
debug_cond(DEBUG_PARSER, fmt, ##args)
+#ifndef DEBUG_BOOTKEYS
+#define DEBUG_BOOTKEYS 0
+#endif
+#define debug_bootkeys(fmt, args...) \
+ debug_cond(DEBUG_BOOTKEYS, fmt, ##args)
char console_buffer[CONFIG_SYS_CBSIZE + 1]; /* console I/O buffer */
@@ -138,11 +143,9 @@ static int abortboot_keyed(int bootdelay)
presskey_max = presskey_max > delaykey[i].len ?
presskey_max : delaykey[i].len;
-# if DEBUG_BOOTKEYS
- printf("%s key:<%s>\n",
- delaykey[i].retry ? "delay" : "stop",
- delaykey[i].str ? delaykey[i].str : "NULL");
-# endif
+ debug_bootkeys("%s key:<%s>\n",
+ delaykey[i].retry ? "delay" : "stop",
+ delaykey[i].str ? delaykey[i].str : "NULL");
}
/* In order to keep up with incoming data, check timeout only
@@ -167,10 +170,9 @@ static int abortboot_keyed(int bootdelay)
memcmp (presskey + presskey_len - delaykey[i].len,
delaykey[i].str,
delaykey[i].len) == 0) {
-# if DEBUG_BOOTKEYS
- printf("got %skey\n",
- delaykey[i].retry ? "delay" : "stop");
-# endif
+ debug_bootkeys("got %skey\n",
+ delaykey[i].retry ? "delay" :
+ "stop");
# ifdef CONFIG_BOOT_RETRY_TIME
/* don't retry auto boot */
@@ -182,10 +184,8 @@ static int abortboot_keyed(int bootdelay)
}
} while (!abort && get_ticks() <= etime);
-# if DEBUG_BOOTKEYS
if (!abort)
- puts("key timeout\n");
-# endif
+ debug_bootkeys("key timeout\n");
#ifdef CONFIG_SILENT_CONSOLE
if (abort)
--
1.8.2.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [U-Boot] [PATCH v4 2/9] net: Add prototype for update_tftp
2013-05-15 16:23 ` [U-Boot] [PATCH v4 2/9] net: Add prototype for update_tftp Simon Glass
@ 2013-05-15 16:36 ` Joe Hershberger
0 siblings, 0 replies; 13+ messages in thread
From: Joe Hershberger @ 2013-05-15 16:36 UTC (permalink / raw)
To: u-boot
On Wed, May 15, 2013 at 11:23 AM, Simon Glass <sjg@chromium.org> wrote:
> This function should be declared in net.h.
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
> Changes in v4:
> - Removed autoconf() code for now
>
> Changes in v3: None
>
> common/cmd_fitupd.c | 3 +--
> common/main.c | 4 ----
> include/net.h | 3 +++
> 3 files changed, 4 insertions(+), 6 deletions(-)
Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
^ permalink raw reply [flat|nested] 13+ messages in thread
* [U-Boot] [PATCH v4 3/9] main: Separate out the two abortboot() functions
2013-05-15 16:23 ` [U-Boot] [PATCH v4 3/9] main: Separate out the two abortboot() functions Simon Glass
@ 2013-05-15 16:37 ` Joe Hershberger
0 siblings, 0 replies; 13+ messages in thread
From: Joe Hershberger @ 2013-05-15 16:37 UTC (permalink / raw)
To: u-boot
On Wed, May 15, 2013 at 11:23 AM, Simon Glass <sjg@chromium.org> wrote:
> There are two implementations of abortboot(). Turn these into two separate
> functions, and create a single abortboot() which calls either one or the
> other.
>
> Also it seems that nothing uses abortboot() outside main, so make it static.
>
> At this point there is no further use of CONFIG_MENU in main.c.
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
>
Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
^ permalink raw reply [flat|nested] 13+ messages in thread
* [U-Boot] [PATCH v4 1/9] at91: Correct CONFIG_AUTOBOOT_PROMPT definition for pm9263
2013-05-15 16:23 [U-Boot] [PATCH v4 1/9] at91: Correct CONFIG_AUTOBOOT_PROMPT definition for pm9263 Simon Glass
` (7 preceding siblings ...)
2013-05-15 16:24 ` [U-Boot] [PATCH v4 9/9] main: Add debug_bootkeys " Simon Glass
@ 2013-05-17 6:06 ` Andreas Bießmann
2013-06-05 12:33 ` Tom Rini
9 siblings, 0 replies; 13+ messages in thread
From: Andreas Bießmann @ 2013-05-17 6:06 UTC (permalink / raw)
To: u-boot
Hi Simon,
On 15.05.13 18:23, Simon Glass wrote:
> This is not currently used, since autoboot is not enabled for this
> board, but the string is missing a parameter. Add it.
>
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Andreas Bie?mann <andreas.devel@googlemail.com>
> ---
> Changes in v4: None
> Changes in v3: None
>
> include/configs/pm9263.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/configs/pm9263.h b/include/configs/pm9263.h
> index b60a9ad..6f6ddfa 100644
> --- a/include/configs/pm9263.h
> +++ b/include/configs/pm9263.h
> @@ -355,7 +355,7 @@
>
> #define CONFIG_BOOTCOMMAND "run flashboot"
> #define CONFIG_ROOTPATH "/ronetix/rootfs"
> -#define CONFIG_AUTOBOOT_PROMPT "autoboot in %d seconds\n"
> +#define CONFIG_AUTOBOOT_PROMPT "autoboot in %d seconds\n", bootdelay
>
> #define CONFIG_CON_ROT "fbcon=rotate:3 "
> #define CONFIG_BOOTARGS "root=/dev/mtdblock4 rootfstype=jffs2 "\
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* [U-Boot] [PATCH v4 1/9] at91: Correct CONFIG_AUTOBOOT_PROMPT definition for pm9263
2013-05-15 16:23 [U-Boot] [PATCH v4 1/9] at91: Correct CONFIG_AUTOBOOT_PROMPT definition for pm9263 Simon Glass
` (8 preceding siblings ...)
2013-05-17 6:06 ` [U-Boot] [PATCH v4 1/9] at91: Correct CONFIG_AUTOBOOT_PROMPT definition for pm9263 Andreas Bießmann
@ 2013-06-05 12:33 ` Tom Rini
9 siblings, 0 replies; 13+ messages in thread
From: Tom Rini @ 2013-06-05 12:33 UTC (permalink / raw)
To: u-boot
On Wed, May 15, 2013 at 09:23:53AM -0700, Simon Glass wrote:
> This is not currently used, since autoboot is not enabled for this
> board, but the string is missing a parameter. Add it.
>
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
Along with the rest of the series, applied to u-boot/master, thanks!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20130605/0f417369/attachment.pgp>
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2013-06-05 12:33 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-15 16:23 [U-Boot] [PATCH v4 1/9] at91: Correct CONFIG_AUTOBOOT_PROMPT definition for pm9263 Simon Glass
2013-05-15 16:23 ` [U-Boot] [PATCH v4 2/9] net: Add prototype for update_tftp Simon Glass
2013-05-15 16:36 ` Joe Hershberger
2013-05-15 16:23 ` [U-Boot] [PATCH v4 3/9] main: Separate out the two abortboot() functions Simon Glass
2013-05-15 16:37 ` Joe Hershberger
2013-05-15 16:23 ` [U-Boot] [PATCH v4 4/9] main: Move boot_delay code into its own function Simon Glass
2013-05-15 16:23 ` [U-Boot] [PATCH v4 5/9] main: Use get/setenv_ulong() Simon Glass
2013-05-15 16:23 ` [U-Boot] [PATCH v4 6/9] main: Fix typos and checkpatch warnings in command line reading Simon Glass
2013-05-15 16:23 ` [U-Boot] [PATCH v4 7/9] main: Correct header order Simon Glass
2013-05-15 16:24 ` [U-Boot] [PATCH v4 8/9] main: Add debug_parser() to avoid #ifdefs Simon Glass
2013-05-15 16:24 ` [U-Boot] [PATCH v4 9/9] main: Add debug_bootkeys " Simon Glass
2013-05-17 6:06 ` [U-Boot] [PATCH v4 1/9] at91: Correct CONFIG_AUTOBOOT_PROMPT definition for pm9263 Andreas Bießmann
2013-06-05 12:33 ` Tom Rini
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox