Move bootstage timer out of lib/time.c
PATCH 1/1 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.
--- common/bootstage.c | 17 +++++++++++++++++ include/bootstage.h | 7 +++++++ include/common.h | 7 ------- lib/time.c | 17 ----------------- 4 files changed, 24 insertions(+), 24 deletions(-)
common/bootstage.c +17 -0
@@ -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" )));
include/bootstage.h +7 -0
@@ -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
include/common.h +0 -7
@@ -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 ) \
lib/time.c +0 -17
@@ -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" )));
Signature · 1 line
1.7.7.3
PATCH 1/1 Move bootstage timer out of lib/time.c
Hi Simon,
Quoted 8 lines · Simon Glass
The standalone example does not have
get_timer()defined, so we cannot rely on it being available.Move the timer function into
boootstage.cto avoid this problem.This corrects a build breakage for the standalone example on some boards.
Signed-off-by Simon Glass <[email protected]>
This fixes as expected the currently broken PMC440 board support.
Matthias
PATCH 1/1 Move bootstage timer out of lib/time.c
In reply to Simon GlassQuoted 7 lines · On Thu, 5 Apr 2012 15:05:17 -0700 Simon Glass <[email protected]> wrote:
The standalone example does not have
get_timer()defined, so we cannot rely on it being available.Move the timer function into
boootstage.cto avoid this problem.This corrects a build breakage for the standalone example on some boards.
Quoted 7 lines
Signed-off-by Simon Glass <[email protected]>--- common/bootstage.c | 17 +++++++++++++++++ include/bootstage.h | 7 +++++++ include/common.h | 7 ------- lib/time.c | 17 ----------------- 4 files changed, 24 insertions(+), 24 deletions(-)
Applied to u-boot-staging/agust at denx.de.
Thanks,
Anatolij