Skip to contentSkip to conversation

ARM: OMAP2: use correct timer function for AM43XX and TI81XX

PATCH New Arnd Bergmann 3 participants 5 messages Nov 16, 2015 – Nov 19, 2015

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ARM: OMAP2: use correct timer function for AM43XX and TI81XX

AM43XX and TI81XX use omap3_gptimer_timer_init(), but that is only built into the kernel for OMAP3 and AM33XX, otherwise we get:

arch/arm/mach-omap2/built-in.o:(.arch.info.init+0x124): undefined reference to `omap3_gptimer_timer_init'

This changes the Kconfig logic for building the function to match the callers. Consequently, we no longer need to build the omap3_secure_sync32k_timer_init and omap4_local_timer_init for the platforms that have been moved over to other functions.

---
The code has changed a couple of times, but this version no longer produces build errors for me.

arch/arm/mach-omap2/timer.c +3 -4
index b18ebbefae09..b07dd70b2de1 100644
@@ -494,7 +494,7 @@ void __init omap_init_time(void)
 		clocksource_probe();
 }
 
-#if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_SOC_AM43XX)
+#if defined(CONFIG_ARCH_OMAP3)
 void __init omap3_secure_sync32k_timer_init(void)
 {
 	__omap_sync32k_timer_init(12, "secure_32k_fck", "ti,timer-secure",
@@ -502,7 +502,7 @@ void __init omap3_secure_sync32k_timer_init(void)
 }
 #endif /* CONFIG_ARCH_OMAP3 */
 
-#if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_SOC_AM33XX)
+#if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_SOC_AM33XX) || defined(CONFIG_SOC_TI81XX)
 void __init omap3_gptimer_timer_init(void)
 {
 	__omap_sync32k_timer_init(2, "timer_sys_ck", NULL,
@@ -510,8 +510,7 @@ void __init omap3_gptimer_timer_init(void)
 }
 #endif
 
-#if defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_SOC_OMAP5) ||		\
-	defined(CONFIG_SOC_DRA7XX) || defined(CONFIG_SOC_AM43XX)
+#if defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_SOC_OMAP5) || defined(CONFIG_SOC_DRA7XX) || defined(CONFIG_SOC_AM43XX)
 static void __init omap4_sync32k_timer_init(void)
 {
 	__omap_sync32k_timer_init(1, "timer_32k_ck", "ti,timer-alwon",
#1 lore raw

PATCH 1/1 ARM: OMAP2: use correct timer function for AM43XX and TI81XX

Hi,

Quoted 11 lines · Arnd Bergmann

AM43XX and TI81XX use omap3_gptimer_timer_init(), but that is only built into the kernel for OMAP3 and AM33XX, otherwise we get:

arch/arm/mach-omap2/built-in.o:(.arch.info.init+0x124): undefined reference to `omap3_gptimer_timer_init'

This changes the Kconfig logic for building the function to match the callers. Consequently, we no longer need to build the omap3_secure_sync32k_timer_init and omap4_local_timer_init for the platforms that have been moved over to other functions.

no, AM43xx uses omap4_local_timer_init(), there's already a fix in Tony's tree IIRC.

Quoted 1 line

+#if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_SOC_AM33XX) || defined(CONFIG_SOC_TI81XX)

[...]

Quoted 1 line

+#if defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_SOC_OMAP5) || defined(CONFIG_SOC_DRA7XX) || defined(CONFIG_SOC_AM43XX)

someone doesn't like to run checkpatch.pl

care to provide a defconfig which would cause a build error ?

Signature · 8 lines
balbi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20151116/c77afd4f/attachment.sig>
#2 lore raw

PATCH 1/1 ARM: OMAP2: use correct timer function for AM43XX and TI81XX

Quoted 15 lines · On Monday 16 November 2015 15:13:55 Felipe Balbi wrote:
Quoted 11 lines · Arnd Bergmann

AM43XX and TI81XX use omap3_gptimer_timer_init(), but that is only built into the kernel for OMAP3 and AM33XX, otherwise we get:

arch/arm/mach-omap2/built-in.o:(.arch.info.init+0x124): undefined reference to `omap3_gptimer_timer_init'

This changes the Kconfig logic for building the function to match the callers. Consequently, we no longer need to build the omap3_secure_sync32k_timer_init and omap4_local_timer_init for the platforms that have been moved over to other functions.

no, AM43xx uses omap4_local_timer_init(), there's already a fix in Tony's tree IIRC.

...

Quoted 1 line

care to provide a defconfig which would cause a build error ?

My mistake, the code has changed several times and I adapted it to the latest version each time, but the version I sent out is indeed useless.

The only hunk that still makes sense is

arch/arm/mach-omap2/timer.c +1 -1
index b18ebbefae09..b7ab09cc5ca2 100644
@@ -494,7 +494,7 @@ void __init omap_init_time(void)
 		clocksource_probe();
 }
 
-#if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_SOC_AM43XX)
+#if defined(CONFIG_ARCH_OMAP3)
 void __init omap3_secure_sync32k_timer_init(void)
 {
 	__omap_sync32k_timer_init(12, "secure_32k_fck", "ti,timer-secure",

but that is harmless as it does not cause a build error, just a few extra bytes for an unused function in a AM43XX-only configuration.

Arnd

#3 lore raw

PATCH 1/1 ARM: OMAP2: use correct timer function for AM43XX and TI81XX

Hi,

Quoted 41 lines · Arnd Bergmann
Quoted 15 lines · On Monday 16 November 2015 15:13:55 Felipe Balbi wrote:
Quoted 11 lines · Arnd Bergmann

AM43XX and TI81XX use omap3_gptimer_timer_init(), but that is only built into the kernel for OMAP3 and AM33XX, otherwise we get:

arch/arm/mach-omap2/built-in.o:(.arch.info.init+0x124): undefined reference to `omap3_gptimer_timer_init'

This changes the Kconfig logic for building the function to match the callers. Consequently, we no longer need to build the omap3_secure_sync32k_timer_init and omap4_local_timer_init for the platforms that have been moved over to other functions.

no, AM43xx uses omap4_local_timer_init(), there's already a fix in Tony's tree IIRC.

...

Quoted 1 line

care to provide a defconfig which would cause a build error ?

My mistake, the code has changed several times and I adapted it to the latest version each time, but the version I sent out is indeed useless.

The only hunk that still makes sense is

arch/arm/mach-omap2/timer.c +1 -1
index b18ebbefae09..b7ab09cc5ca2 100644
@@ -494,7 +494,7 @@ void __init omap_init_time(void)
 		clocksource_probe();
 }
 
-#if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_SOC_AM43XX)
+#if defined(CONFIG_ARCH_OMAP3)
 void __init omap3_secure_sync32k_timer_init(void)
 {
 	__omap_sync32k_timer_init(12, "secure_32k_fck", "ti,timer-secure",
Quoted 2 lines

but that is harmless as it does not cause a build error, just a few extra bytes for an unused function in a AM43XX-only configuration.

I think that's still useful. Tony ?

Signature · 8 lines
balbi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20151119/2623755a/attachment.sig>
maintainer
#4 lore raw

PATCH 1/1 ARM: OMAP2: use correct timer function for AM43XX and TI81XX

Quoted 45 lines · Felipe Balbi

Hi,

Quoted 41 lines · Arnd Bergmann
Quoted 15 lines · On Monday 16 November 2015 15:13:55 Felipe Balbi wrote:
Quoted 11 lines · Arnd Bergmann

AM43XX and TI81XX use omap3_gptimer_timer_init(), but that is only built into the kernel for OMAP3 and AM33XX, otherwise we get:

arch/arm/mach-omap2/built-in.o:(.arch.info.init+0x124): undefined reference to `omap3_gptimer_timer_init'

This changes the Kconfig logic for building the function to match the callers. Consequently, we no longer need to build the omap3_secure_sync32k_timer_init and omap4_local_timer_init for the platforms that have been moved over to other functions.

no, AM43xx uses omap4_local_timer_init(), there's already a fix in Tony's tree IIRC.

...

Quoted 1 line

care to provide a defconfig which would cause a build error ?

My mistake, the code has changed several times and I adapted it to the latest version each time, but the version I sent out is indeed useless.

The only hunk that still makes sense is

arch/arm/mach-omap2/timer.c +1 -1
index b18ebbefae09..b7ab09cc5ca2 100644
@@ -494,7 +494,7 @@ void __init omap_init_time(void)
 		clocksource_probe();
 }
 
-#if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_SOC_AM43XX)
+#if defined(CONFIG_ARCH_OMAP3)
 void __init omap3_secure_sync32k_timer_init(void)
 {
 	__omap_sync32k_timer_init(12, "secure_32k_fck", "ti,timer-secure",
Quoted 4 lines
Quoted 2 lines

but that is harmless as it does not cause a build error, just a few extra bytes for an unused function in a AM43XX-only configuration.

I think that's still useful. Tony ?

Yeah makes sense to me. We already have omap4_sync32k_timer_init() when am437x PM gets enabled.

Regards,

Tony