[U-Boot] [PATCH V2] bugfix: all Marvell specific build fails due to undefined reference to `get_ticks'

Prafulla Wadaskar prafulla at marvell.com
Wed Feb 8 12:09:32 CET 2012


after http://patchwork.ozlabs.org/patch/136415/ was applied. All Marvell
build fails with below error

common/libcommon.o: In function `cread_line':
/home/uboot/src/u-boot-arm/common/main.c:717: undefined reference to `get_ticks'
/home/uboot/src/u-boot-arm/common/main.c:717: undefined reference to `get_tbclk'
/home/uboot/src/u-boot-arm/common/main.c:720: undefined reference to `get_ticks'

The same is fixed for Kirkwood, ARMADA100, pantheon and orion5x SoCs

Signed-off-by: Prafulla Wadaskar <prafulla at marvell.com>
---
Change log:
V2: get_tbclk body changed to single line stateent as per feedback by Graeme Russ

 arch/arm/cpu/arm926ejs/armada100/timer.c |   18 ++++++++++++++++++
 arch/arm/cpu/arm926ejs/kirkwood/timer.c  |   18 ++++++++++++++++++
 arch/arm/cpu/arm926ejs/orion5x/timer.c   |   18 ++++++++++++++++++
 arch/arm/cpu/arm926ejs/pantheon/timer.c  |   18 ++++++++++++++++++
 4 files changed, 72 insertions(+), 0 deletions(-)

diff --git a/arch/arm/cpu/arm926ejs/armada100/timer.c b/arch/arm/cpu/arm926ejs/armada100/timer.c
index fbade4b..355cd6d 100644
--- a/arch/arm/cpu/arm926ejs/armada100/timer.c
+++ b/arch/arm/cpu/arm926ejs/armada100/timer.c
@@ -190,3 +190,21 @@ void reset_cpu (unsigned long ignored)
 
 	while(1);
 }
+
+/*
+ * This function is derived from PowerPC code (read timebase as long long).
+ * On ARM it just returns the timer value.
+ */
+unsigned long long get_ticks(void)
+{
+	return get_timer(0);
+}
+
+/*
+ * This function is derived from PowerPC code (timebase clock frequency).
+ * On ARM it returns the number of timer ticks per second.
+ */
+ulong get_tbclk (void)
+{
+	return (ulong)CONFIG_SYS_HZ;
+}
diff --git a/arch/arm/cpu/arm926ejs/kirkwood/timer.c b/arch/arm/cpu/arm926ejs/kirkwood/timer.c
index a98f54c..f5d0160 100644
--- a/arch/arm/cpu/arm926ejs/kirkwood/timer.c
+++ b/arch/arm/cpu/arm926ejs/kirkwood/timer.c
@@ -153,3 +153,21 @@ int timer_init(void)
 
 	return 0;
 }
+
+/*
+ * This function is derived from PowerPC code (read timebase as long long).
+ * On ARM it just returns the timer value.
+ */
+unsigned long long get_ticks(void)
+{
+	return get_timer(0);
+}
+
+/*
+ * This function is derived from PowerPC code (timebase clock frequency).
+ * On ARM it returns the number of timer ticks per second.
+ */
+ulong get_tbclk (void)
+{
+	return (ulong)CONFIG_SYS_HZ;
+}
diff --git a/arch/arm/cpu/arm926ejs/orion5x/timer.c b/arch/arm/cpu/arm926ejs/orion5x/timer.c
index e39ecc2..8a8aaf1 100644
--- a/arch/arm/cpu/arm926ejs/orion5x/timer.c
+++ b/arch/arm/cpu/arm926ejs/orion5x/timer.c
@@ -167,3 +167,21 @@ void timer_init_r(void)
 	lastdec = read_timer();
 	timestamp = 0;
 }
+
+/*
+ * This function is derived from PowerPC code (read timebase as long long).
+ * On ARM it just returns the timer value.
+ */
+unsigned long long get_ticks(void)
+{
+	return get_timer(0);
+}
+
+/*
+ * This function is derived from PowerPC code (timebase clock frequency).
+ * On ARM it returns the number of timer ticks per second.
+ */
+ulong get_tbclk (void)
+{
+	return (ulong)CONFIG_SYS_HZ;
+}
diff --git a/arch/arm/cpu/arm926ejs/pantheon/timer.c b/arch/arm/cpu/arm926ejs/pantheon/timer.c
index 17045b1..28aadad 100644
--- a/arch/arm/cpu/arm926ejs/pantheon/timer.c
+++ b/arch/arm/cpu/arm926ejs/pantheon/timer.c
@@ -197,3 +197,21 @@ void reset_cpu (unsigned long ignored)
 	/*enable functional WDT clock */
 	writel(APBC_APBCLK | APBC_FNCLK, &mpmu->wdtpcr);
 }
+
+/*
+ * This function is derived from PowerPC code (read timebase as long long).
+ * On ARM it just returns the timer value.
+ */
+unsigned long long get_ticks(void)
+{
+	return get_timer(0);
+}
+
+/*
+ * This function is derived from PowerPC code (timebase clock frequency).
+ * On ARM it returns the number of timer ticks per second.
+ */
+ulong get_tbclk (void)
+{
+	return (ulong)CONFIG_SYS_HZ;
+}
-- 
1.5.3.4



More information about the U-Boot mailing list