[U-Boot] [PATCH] lib: time: add weak timer_init() function

Darwin Rambo drambo at broadcom.com
Fri Dec 20 00:06:12 CET 2013


If timer_init() is made a weak stub function, then it allows us to
remove several empty timer_init functions for those boards that
already have a timer initialized when u-boot starts. Architectures
that use the timer framework may also remove the need for timer.c.

Signed-off-by: Darwin Rambo <drambo at broadcom.com>
Reviewed-by: Tim Kryger <tim.kryger at linaro.org>
---
 arch/arm/cpu/arm1176/bcm2835/timer.c    |    5 -----
 arch/arm/cpu/sa1100/timer.c             |    5 -----
 board/armltd/vexpress/vexpress_common.c |    5 -----
 board/nvidia/common/board.c             |   11 -----------
 board/sandbox/sandbox/sandbox.c         |    5 -----
 lib/time.c                              |    5 +++++
 6 files changed, 5 insertions(+), 31 deletions(-)

diff --git a/arch/arm/cpu/arm1176/bcm2835/timer.c b/arch/arm/cpu/arm1176/bcm2835/timer.c
index 2edd671..017907c 100644
--- a/arch/arm/cpu/arm1176/bcm2835/timer.c
+++ b/arch/arm/cpu/arm1176/bcm2835/timer.c
@@ -18,11 +18,6 @@
 #include <asm/io.h>
 #include <asm/arch/timer.h>
 
-int timer_init(void)
-{
-	return 0;
-}
-
 ulong get_timer_us(ulong base)
 {
 	struct bcm2835_timer_regs *regs =
diff --git a/arch/arm/cpu/sa1100/timer.c b/arch/arm/cpu/sa1100/timer.c
index 4b981e4..0a0006b 100644
--- a/arch/arm/cpu/sa1100/timer.c
+++ b/arch/arm/cpu/sa1100/timer.c
@@ -13,11 +13,6 @@
 #include <common.h>
 #include <SA-1100.h>
 
-int timer_init (void)
-{
-	return 0;
-}
-
 ulong get_timer (ulong base)
 {
 	return get_timer_masked ();
diff --git a/board/armltd/vexpress/vexpress_common.c b/board/armltd/vexpress/vexpress_common.c
index da5cb01..cb2de2f 100644
--- a/board/armltd/vexpress/vexpress_common.c
+++ b/board/armltd/vexpress/vexpress_common.c
@@ -119,11 +119,6 @@ void dram_init_banksize(void)
 			get_ram_size((long *)PHYS_SDRAM_2, PHYS_SDRAM_2_SIZE);
 }
 
-int timer_init(void)
-{
-	return 0;
-}
-
 /*
  * Start timer:
  *    Setup a 32 bit timer, running at 1KHz
diff --git a/board/nvidia/common/board.c b/board/nvidia/common/board.c
index 1972527..e650fed 100644
--- a/board/nvidia/common/board.c
+++ b/board/nvidia/common/board.c
@@ -48,17 +48,6 @@ const struct tegra_sysinfo sysinfo = {
 	CONFIG_TEGRA_BOARD_STRING
 };
 
-#ifndef CONFIG_SPL_BUILD
-/*
- * Routine: timer_init
- * Description: init the timestamp and lastinc value
- */
-int timer_init(void)
-{
-	return 0;
-}
-#endif
-
 void __pin_mux_usb(void)
 {
 }
diff --git a/board/sandbox/sandbox/sandbox.c b/board/sandbox/sandbox/sandbox.c
index 65dcce8..95efaff 100644
--- a/board/sandbox/sandbox/sandbox.c
+++ b/board/sandbox/sandbox/sandbox.c
@@ -23,11 +23,6 @@ unsigned long timer_read_counter(void)
 	return os_get_nsec() / 1000;
 }
 
-int timer_init(void)
-{
-	return 0;
-}
-
 int dram_init(void)
 {
 	gd->ram_size = CONFIG_SYS_SDRAM_SIZE;
diff --git a/lib/time.c b/lib/time.c
index 8085aa4..73c3b6a 100644
--- a/lib/time.c
+++ b/lib/time.c
@@ -60,6 +60,11 @@ static unsigned long long notrace tick_to_time(uint64_t tick)
 	return tick;
 }
 
+int __weak timer_init(void)
+{
+	return 0;
+}
+
 ulong __weak get_timer(ulong base)
 {
 	return tick_to_time(get_ticks()) - base;
-- 
1.7.9.5



More information about the U-Boot mailing list