]> git.sur5r.net Git - u-boot/blobdiff - include/common.h
Merge branch 'master' of /home/wd/git/u-boot/custodians
[u-boot] / include / common.h
index 9166ca1ed6a616db681d6940f8c9054388dc445f..3df1defab16f3f690b7d6880b96046e48f46ed95 100644 (file)
@@ -116,20 +116,26 @@ typedef volatile unsigned char    vu_char;
 #include <flash.h>
 #include <image.h>
 
-#ifdef DEBUG
-#define debug(fmt,args...)     printf (fmt ,##args)
-#define debugX(level,fmt,args...) if (DEBUG>=level) printf(fmt,##args);
-#else
-#define debug(fmt,args...)
-#define debugX(level,fmt,args...)
-#endif /* DEBUG */
-
 #ifdef DEBUG
-# define _DEBUG 1
+#define _DEBUG 1
 #else
-# define _DEBUG 0
+#define _DEBUG 0
 #endif
 
+/*
+ * Output a debug text when condition "cond" is met. The "cond" should be
+ * computed by a preprocessor in the best case, allowing for the best
+ * optimization.
+ */
+#define debug_cond(cond, fmt, args...)         \
+       do {                                    \
+               if (cond)                       \
+                       printf(fmt, ##args);    \
+       } while (0)
+
+#define debug(fmt, args...)                    \
+       debug_cond(_DEBUG, fmt, ##args)
+
 /*
  * An assertion is run-time check done in debug mode only. If DEBUG is not
  * defined then it is skipped. If DEBUG is defined and the assertion fails,
@@ -266,6 +272,7 @@ void        reset_cmd_timeout(void);
 #ifdef CONFIG_MENU
 int    abortboot(int bootdelay);
 #endif
+extern char console_buffer[];
 
 /* arch/$(ARCH)/lib/board.c */
 void   board_init_f  (ulong) __attribute__ ((noreturn));
@@ -276,6 +283,14 @@ int        checkdram     (void);
 int    last_stage_init(void);
 extern ulong monitor_flash_len;
 int mac_read_from_eeprom(void);
+extern u8 _binary_dt_dtb_start[];      /* embedded device tree blob */
+
+/*
+ * Called when console output is requested before the console is available.
+ * The board should do its best to get the character out to the user any way
+ * it can.
+ */
+void board_pre_console_putc(int ch);
 
 /* common/flash.c */
 void flash_perror (int);
@@ -284,6 +299,8 @@ void flash_perror (int);
 int    source (ulong addr, const char *fit_uname);
 
 extern ulong load_addr;                /* Default Load Address */
+extern ulong save_addr;                /* Default Save Address */
+extern ulong save_size;                /* Default Save Size */
 
 /* common/cmd_doc.c */
 void   doc_probe(unsigned long physadr);
@@ -716,16 +733,7 @@ void uuid_str_to_bin(const char *uuid, unsigned char *out);
 int uuid_str_valid(const char *uuid);
 
 /* lib/vsprintf.c */
-ulong  simple_strtoul(const char *cp,char **endp,unsigned int base);
-int strict_strtoul(const char *cp, unsigned int base, unsigned long *res);
-unsigned long long     simple_strtoull(const char *cp,char **endp,unsigned int base);
-long   simple_strtol(const char *cp,char **endp,unsigned int base);
-void   panic(const char *fmt, ...)
-               __attribute__ ((format (__printf__, 1, 2), noreturn));
-int    sprintf(char * buf, const char *fmt, ...)
-               __attribute__ ((format (__printf__, 2, 3)));
-int    vsprintf(char *buf, const char *fmt, va_list args);
-char *simple_itoa(ulong i);
+#include <vsprintf.h>
 
 /* lib/strmhz.c */
 char * strmhz(char *buf, unsigned long hz);