diff options
author | Simon Glass <sjg@chromium.org> | 2012-04-05 12:05:17 +0000 |
---|---|---|
committer | Anatolij Gustschin <agust@denx.de> | 2012-04-10 23:35:32 +0200 |
commit | 3786980dd3f28960947084c53878fd849ece897c (patch) | |
tree | a371031bd9712009b0cc4c62e72db7e876a67d29 | |
parent | 35897c86b90d516165df7aa6372584493e9f1fa4 (diff) |
Move bootstage timer out of lib/time.c
The standalone example does not have get_timer() defined, so we cannot
rely on it being available.
Move the timer function into boootstage.c to avoid this problem.
This corrects a build breakage for the standalone example on some boards.
Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Matthias Fuchs <matthias.fuchs@esd.eu>
-rw-r--r-- | common/bootstage.c | 17 | ||||
-rw-r--r-- | include/bootstage.h | 7 | ||||
-rw-r--r-- | include/common.h | 7 | ||||
-rw-r--r-- | lib/time.c | 17 |
4 files changed, 24 insertions, 24 deletions
diff --git a/common/bootstage.c b/common/bootstage.c index d2bbe635e8e..4e01d92076f 100644 --- a/common/bootstage.c +++ b/common/bootstage.c @@ -156,3 +156,20 @@ void bootstage_report(void) "- please increase CONFIG_BOOTSTAGE_USER_COUNT\n", next_id - BOOTSTAGE_ID_COUNT); } + +ulong __timer_get_boot_us(void) +{ + static ulong base_time; + + /* + * We can't implement this properly. Return 0 on the first call and + * larger values after that. + */ + if (base_time) + return get_timer(base_time) * 1000; + base_time = get_timer(0); + return 0; +} + +ulong timer_get_boot_us(void) + __attribute__((weak, alias("__timer_get_boot_us"))); diff --git a/include/bootstage.h b/include/bootstage.h index 06ab2c8ef0c..a00053888f6 100644 --- a/include/bootstage.h +++ b/include/bootstage.h @@ -204,6 +204,13 @@ enum bootstage_id { }; /* + * Return the time since boot in microseconds, This is needed for bootstage + * and should be defined in CPU- or board-specific code. If undefined then + * millisecond resolution will be used (the standard get_timer()). + */ +ulong timer_get_boot_us(void); + +/* * Board code can implement show_boot_progress() if needed. * * @param val Progress state (enum bootstage_id), or -id if an error diff --git a/include/common.h b/include/common.h index 74d97046a0e..4b5841ef470 100644 --- a/include/common.h +++ b/include/common.h @@ -207,13 +207,6 @@ typedef void (interrupt_handler_t)(void *); #endif /* CONFIG_SERIAL_MULTI */ /* - * Return the time since boot in microseconds, This is needed for bootstage - * and should be defined in CPU- or board-specific code. If undefined then - * millisecond resolution will be used (the standard get_timer()). - */ -ulong timer_get_boot_us(void); - -/* * General Purpose Utilities */ #define min(X, Y) \ diff --git a/lib/time.c b/lib/time.c index 69edc3d39b2..6e2937b8e72 100644 --- a/lib/time.c +++ b/lib/time.c @@ -47,20 +47,3 @@ void mdelay(unsigned long msec) while (msec--) udelay(1000); } - -ulong __timer_get_boot_us(void) -{ - static ulong base_time; - - /* - * We can't implement this properly. Return 0 on the first call and - * larger values after that. - */ - if (base_time) - return get_timer(base_time) * 1000; - base_time = get_timer(0); - return 0; -} - -ulong timer_get_boot_us(void) - __attribute__((weak, alias("__timer_get_boot_us"))); |