aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass2012-04-05 12:05:17 +0000
committerAnatolij Gustschin2012-04-10 23:35:32 +0200
commit3786980dd3f28960947084c53878fd849ece897c (patch)
treea371031bd9712009b0cc4c62e72db7e876a67d29
parent35897c86b90d516165df7aa6372584493e9f1fa4 (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.c17
-rw-r--r--include/bootstage.h7
-rw-r--r--include/common.h7
-rw-r--r--lib/time.c17
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")));