diff mbox

[PATCHv4] arm: omap2: timer: always define omap4_local_timer_init

Message ID 1443543337-2904-1-git-send-email-balbi@ti.com (mailing list archive)
State New, archived
Headers show

Commit Message

Felipe Balbi Sept. 29, 2015, 4:15 p.m. UTC
omap4_local_timer_init() can be used by other
platforms as is. At least AM437x wants to use
it. Instead of making omap4-only and providing
a stub for builds without OMAP4, we can just
make sure that function is always available
for all SoCs that need it.

Reported-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
---

changes since v3:
  - modify commit log slightly

changes since v2:
  - move ifdefs around

changes since v1:
  - make sure result builds on AM43xx-only builds

 arch/arm/mach-omap2/timer.c | 16 +++-------------
 1 file changed, 3 insertions(+), 13 deletions(-)

Comments

Nishanth Menon Sept. 29, 2015, 4:17 p.m. UTC | #1
On 09/29/2015 11:15 AM, Felipe Balbi wrote:
> omap4_local_timer_init() can be used by other
> platforms as is. At least AM437x wants to use
> it. Instead of making omap4-only and providing
> a stub for builds without OMAP4, we can just
> make sure that function is always available
> for all SoCs that need it.

Sounds right now. $subject needs fixing. if Tony is ok picking and
fixing it up himself...

Reviewed-by: Nishanth Menon <nm@ti.com>

> 
> Reported-by: Nishanth Menon <nm@ti.com>
> Signed-off-by: Felipe Balbi <balbi@ti.com>
> ---
> 
> changes since v3:
>   - modify commit log slightly
> 
> changes since v2:
>   - move ifdefs around
> 
> changes since v1:
>   - make sure result builds on AM43xx-only builds
> 
>  arch/arm/mach-omap2/timer.c | 16 +++-------------
>  1 file changed, 3 insertions(+), 13 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c
> index e4d8701f99f9..3ebe16cd645e 100644
> --- a/arch/arm/mach-omap2/timer.c
> +++ b/arch/arm/mach-omap2/timer.c
> @@ -634,32 +634,22 @@ OMAP_SYS_32K_TIMER_INIT(3_secure, 12, "secure_32k_fck", "ti,timer-secure",
>  			2, "timer_sys_ck", NULL);
>  #endif /* CONFIG_ARCH_OMAP3 */
>  
> -#if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_SOC_AM33XX) || \
> -	defined(CONFIG_SOC_AM43XX)
> +#if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_SOC_AM33XX)
>  OMAP_SYS_GP_TIMER_INIT(3, 2, "timer_sys_ck", NULL,
>  		       1, "timer_sys_ck", "ti,timer-alwon");
>  #endif
>  
>  #if defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_SOC_OMAP5) || \
> -	defined(CONFIG_SOC_DRA7XX)
> +	defined(CONFIG_SOC_DRA7XX) || defined(CONFIG_SOC_AM43XX)
>  static OMAP_SYS_32K_TIMER_INIT(4, 1, "timer_32k_ck", "ti,timer-alwon",
>  			       2, "sys_clkin_ck", NULL);
> -#endif
>  
> -#ifdef CONFIG_ARCH_OMAP4
> -#ifdef CONFIG_HAVE_ARM_TWD
>  void __init omap4_local_timer_init(void)
>  {
>  	omap4_sync32k_timer_init();
>  	clocksource_of_init();
>  }
> -#else
> -void __init omap4_local_timer_init(void)
> -{
> -	omap4_sync32k_timer_init();
> -}
> -#endif /* CONFIG_HAVE_ARM_TWD */
> -#endif /* CONFIG_ARCH_OMAP4 */
> +#endif
>  
>  #if defined(CONFIG_SOC_OMAP5) || defined(CONFIG_SOC_DRA7XX)
>  void __init omap5_realtime_timer_init(void)
>
Lokesh Vutla Sept. 30, 2015, 7:41 a.m. UTC | #2
Hi Felipe,

On Tuesday 29 September 2015 09:45 PM, Felipe Balbi wrote:
> omap4_local_timer_init() can be used by other
> platforms as is. At least AM437x wants to use
> it. Instead of making omap4-only and providing
> a stub for builds without OMAP4, we can just
> make sure that function is always available
> for all SoCs that need it.
You might also want to update init_time function pointer for AM43xx in
board_generic.c or is there any dependency for this patch? With this
patch alone AM43xx only build is broken.

arch/arm/mach-omap2/built-in.o:(.arch.info.init+0x54): undefined
reference to `omap3_gptimer_timer_init'
Makefile:944: recipe for target 'vmlinux' failed
make: *** [vmlinux] Error 1

Thanks and regards,
Lokesh
Lokesh Vutla Sept. 30, 2015, 9:41 a.m. UTC | #3
On Wednesday 30 September 2015 01:11 PM, Lokesh Vutla wrote:
> Hi Felipe,
> 
> On Tuesday 29 September 2015 09:45 PM, Felipe Balbi wrote:
>> omap4_local_timer_init() can be used by other
>> platforms as is. At least AM437x wants to use
>> it. Instead of making omap4-only and providing
>> a stub for builds without OMAP4, we can just
>> make sure that function is always available
>> for all SoCs that need it.
> You might also want to update init_time function pointer for AM43xx in
> board_generic.c or is there any dependency for this patch? With this
> patch alone AM43xx only build is broken.
> 
> arch/arm/mach-omap2/built-in.o:(.arch.info.init+0x54): undefined
> reference to `omap3_gptimer_timer_init'
> Makefile:944: recipe for target 'vmlinux' failed
> make: *** [vmlinux] Error 1
I think the following series needs to be applied.
http://www.mail-archive.com/linux-omap%40vger.kernel.org/msg119840.html
Sorry for the noise.

Thanks and regards,
Lokesh
diff mbox

Patch

diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c
index e4d8701f99f9..3ebe16cd645e 100644
--- a/arch/arm/mach-omap2/timer.c
+++ b/arch/arm/mach-omap2/timer.c
@@ -634,32 +634,22 @@  OMAP_SYS_32K_TIMER_INIT(3_secure, 12, "secure_32k_fck", "ti,timer-secure",
 			2, "timer_sys_ck", NULL);
 #endif /* CONFIG_ARCH_OMAP3 */
 
-#if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_SOC_AM33XX) || \
-	defined(CONFIG_SOC_AM43XX)
+#if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_SOC_AM33XX)
 OMAP_SYS_GP_TIMER_INIT(3, 2, "timer_sys_ck", NULL,
 		       1, "timer_sys_ck", "ti,timer-alwon");
 #endif
 
 #if defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_SOC_OMAP5) || \
-	defined(CONFIG_SOC_DRA7XX)
+	defined(CONFIG_SOC_DRA7XX) || defined(CONFIG_SOC_AM43XX)
 static OMAP_SYS_32K_TIMER_INIT(4, 1, "timer_32k_ck", "ti,timer-alwon",
 			       2, "sys_clkin_ck", NULL);
-#endif
 
-#ifdef CONFIG_ARCH_OMAP4
-#ifdef CONFIG_HAVE_ARM_TWD
 void __init omap4_local_timer_init(void)
 {
 	omap4_sync32k_timer_init();
 	clocksource_of_init();
 }
-#else
-void __init omap4_local_timer_init(void)
-{
-	omap4_sync32k_timer_init();
-}
-#endif /* CONFIG_HAVE_ARM_TWD */
-#endif /* CONFIG_ARCH_OMAP4 */
+#endif
 
 #if defined(CONFIG_SOC_OMAP5) || defined(CONFIG_SOC_DRA7XX)
 void __init omap5_realtime_timer_init(void)