diff mbox

ARM: arch timer: Export 'read_current_timer' symbol

Message ID 20121003005218.GA23874@animalcreek.com (mailing list archive)
State New, archived
Headers show

Commit Message

Mark Greer Oct. 3, 2012, 12:52 a.m. UTC
From: "Mark A. Greer" <mgreer@animalcreek.com>

Commit 923df96b9f31b7d08d8438ff9677326d9537accf
(ARM: 7451/1: arch timer: implement read_current_timer and get_cycles)
modifies get_cycles() such that it calls read_current_timer().
Unfortunately, the 'read_current_timer' symbol is not exported so when
a driver that calls get_cycles() is built as a module, an undefined
reference error occurs.

A good example is the crypto/tcrypt.c (CONFIG_CRYPTO_TEST) driver
because it calls get_cycles() and can only be built as a module.

Fix this error by exporting the 'read_current_timer' symbol.

CC: Will Deacon <will.deacon@arm.com>
CC: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Mark A. Greer <mgreer@animalcreek.com>
---

This patch applies against current arm-soc/for-next branch.

 arch/arm/kernel/armksyms.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Will Deacon Oct. 3, 2012, 9:13 a.m. UTC | #1
Hi Mark,

On Wed, Oct 03, 2012 at 01:52:18AM +0100, Mark A. Greer wrote:
> From: "Mark A. Greer" <mgreer@animalcreek.com>
> 
> Commit 923df96b9f31b7d08d8438ff9677326d9537accf
> (ARM: 7451/1: arch timer: implement read_current_timer and get_cycles)
> modifies get_cycles() such that it calls read_current_timer().
> Unfortunately, the 'read_current_timer' symbol is not exported so when
> a driver that calls get_cycles() is built as a module, an undefined
> reference error occurs.
> 
> A good example is the crypto/tcrypt.c (CONFIG_CRYPTO_TEST) driver
> because it calls get_cycles() and can only be built as a module.
> 
> Fix this error by exporting the 'read_current_timer' symbol.

This was already reported over on the kernel-janitors list, I assumed they'd
CC'd LAK, but it looks like it didn't happen.

  http://marc.info/?l=kernel-janitors&m=134910841909057&w=2

Anyway, I've got a fix in the works (I don't think you need the ifdef).

Will
diff mbox

Patch

diff --git a/arch/arm/kernel/armksyms.c b/arch/arm/kernel/armksyms.c
index 60d3b73..e7a29fe 100644
--- a/arch/arm/kernel/armksyms.c
+++ b/arch/arm/kernel/armksyms.c
@@ -156,3 +156,7 @@  EXPORT_SYMBOL(__gnu_mcount_nc);
 #ifdef CONFIG_ARM_PATCH_PHYS_VIRT
 EXPORT_SYMBOL(__pv_phys_offset);
 #endif
+
+#ifdef CONFIG_ARM_ARCH_TIMER
+EXPORT_SYMBOL(read_current_timer);
+#endif