]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - common/cmd_log.c
AM35x: Add support for EMIF4
[karo-tx-uboot.git] / common / cmd_log.c
index b9f9ba03428fe2c7d35dff7b6ae2a2b2880c9374..3653fe1a1ef914cb6a52b50960fe9bd22e554d47 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,7 +81,7 @@ 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;
+       log = (logbuff_t *)(logbuffer_base ()) - 1;
        lbuf = (char *)log->buf;
 #endif
 
@@ -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 */
@@ -235,22 +241,22 @@ int do_log (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
                        }
                        return 0;
                }
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
 
        default:
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 }
 
 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)