]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - common/cmd_log.c
Merge branch 'at91' of git://git.denx.de/u-boot-atmel
[people/ms/u-boot.git] / common / cmd_log.c
index 34b36ff1dd8d31ff99781ef2ae52e5b7c95ef7ec..0e89357e5dcd003956a6678b9a590f47126a265f 100644 (file)
@@ -42,7 +42,7 @@
 
 #include <common.h>
 #include <command.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #include <post.h>
 #include <logbuff.h>
 
@@ -66,6 +66,12 @@ static logbuff_t *log;
 #endif
 static char *lbuf;
 
+unsigned long __logbuffer_base(void)
+{
+       return CONFIG_SYS_SDRAM_BASE + gd->bd->bi_memsize - LOGBUFF_LEN;
+}
+unsigned long logbuffer_base (void) __attribute__((weak, alias("__logbuffer_base")));
+
 void logbuff_init_ptrs (void)
 {
        unsigned long tag, post_word;
@@ -75,8 +81,8 @@ void logbuff_init_ptrs (void)
        log = (logbuff_t *)CONFIG_ALT_LH_ADDR;
        lbuf = (char *)CONFIG_ALT_LB_ADDR;
 #else
-       log = (logbuff_t *)(gd->bd->bi_memsize-LOGBUFF_LEN) - 1;
-       lbuf = log->buf;
+       log = (logbuff_t *)(logbuffer_base ()) - 1;
+       lbuf = (char *)log->buf;
 #endif
 
        /* Set up log version */
@@ -107,7 +113,7 @@ void logbuff_init_ptrs (void)
        if ((s = getenv ("loglevel")) != NULL)
                console_loglevel = (int)simple_strtoul (s, NULL, 10);
 
-       gd->post_log_word |= LOGBUFF_INITIALIZED;
+       gd->flags |= GD_FLG_LOGINIT;
 }
 
 void logbuff_reset (void)
@@ -136,7 +142,7 @@ void logbuff_reset (void)
 
 int drv_logbuff_init (void)
 {
-       device_t logdev;
+       struct stdio_dev logdev;
        int rc;
 
        /* Device initialization */
@@ -148,7 +154,7 @@ int drv_logbuff_init (void)
        logdev.putc  = logbuff_putc;            /* 'putc' function */
        logdev.puts  = logbuff_puts;            /* 'puts' function */
 
-       rc = device_register (&logdev);
+       rc = stdio_register (&logdev);
 
        return (rc == 0) ? 1 : rc;
 }
@@ -168,7 +174,7 @@ static void logbuff_puts (const char *s)
 
 void logbuff_log(char *msg)
 {
-       if ((gd->post_log_word & LOGBUFF_INITIALIZED)) {
+       if ((gd->flags & GD_FLG_LOGINIT)) {
                logbuff_printk (msg);
        } else {
                /* Can happen only for pre-relocated errors as logging */
@@ -187,7 +193,7 @@ void logbuff_log(char *msg)
  * Return:      None
  *
  */
-int do_log (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_log (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
        char *s;
        unsigned long i, start, size;
@@ -235,22 +241,20 @@ int do_log (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
                        }
                        return 0;
                }
-               printf ("Usage:\n%s\n", cmdtp->usage);
-               return 1;
+               return cmd_usage(cmdtp);
 
        default:
-               printf ("Usage:\n%s\n", cmdtp->usage);
-               return 1;
+               return cmd_usage(cmdtp);
        }
 }
 
 U_BOOT_CMD(
        log,     255,   1,      do_log,
-       "log     - manipulate logbuffer\n",
+       "manipulate logbuffer",
        "info   - show pointer details\n"
        "log reset  - clear contents\n"
        "log show   - show contents\n"
-       "log append <msg> - append <msg> to the logbuffer\n"
+       "log append <msg> - append <msg> to the logbuffer"
 );
 
 static int logbuff_printk(const char *line)