Status of CONFIG_OMAP_DM_TIMER
Subsystems (2)
While compiling a kernel today I found the build was failing with a fair number of errors while linking vmlinux,
arch/arm/mach-omap2/built-in.o: In function `omap2_gp_timer_set_mode':
/home/bgamari/trees/linux-2.6/arch/arm/mach-omap2/timer-gp.c:84: undefined reference to omap_dm_timer_stop' /home/bgamari/trees/linux-2.6/arch/arm/mach-omap2/timer-gp.c:88: undefined reference to omap_dm_timer_get_fclk' /home/bgamari/trees/linux-2.6/arch/arm/mach-omap2/timer-gp.c:90: undefined reference to `omap_dm_timer_set_load_start'
...
After investigating a bit more deeply, I found that I had neglected to enable OMAP_DM_TIMER. Looking further, I found that ARCH_OMAP2PLUS builds timer_gp.o, which itself has symbol dependencies on the dm_timer framework. Given this face, it seems that the easiest solution would be to do as I have done in this patch and make ARCH_OMAP2PLUS depend on OMAP_DM_TIMER, since it will not build without it. That being said, is it necessary to keep OMAP_DM_TIMER configurable? What is this option actually buying us?
Cheers,
- Ben
PATCH 1/1 omap2: Make OMAP2PLUS select OMAP_DM_TIMER
It appears that arch/arm/mach-omap2/timer-gp.o is needed by OMAP2PLUS. Since timer-gp.o has direct dependencies on omap_dm_timer_*, it seems correct for the architecture to depend upon OMAP_DM_TIMER, otherwise unsuspecting integrators will be faced with a whole bunch of linker errors at the end of their kernel build:
arch/arm/mach-omap2/built-in.o: In function `omap2_gp_timer_set_mode':/home/bgamari/trees/linux-2.6/arch/arm/mach-omap2/timer-gp.c:84: undefined reference to omap_dm_timer_stop' /home/bgamari/trees/linux-2.6/arch/arm/mach-omap2/timer-gp.c:88: undefined reference to omap_dm_timer_get_fclk' /home/bgamari/trees/linux-2.6/arch/arm/mach-omap2/timer-gp.c:90: undefined reference to `omap_dm_timer_set_load_start'
...
--- arch/arm/plat-omap/Kconfig | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
arch/arm/plat-omap/Kconfig +1 -0
@@ -18,6 +18,7 @@ config ARCH_OMAP1 config ARCH_OMAP2PLUS bool "TI OMAP2/3/4" select COMMON_CLKDEV + select OMAP_DM_TIMER help "Systems based on OMAP2, OMAP3 or OMAP4"
Signature · 1 line
1.7.0.4
Re: [PATCH] omap2: Make OMAP2PLUS select OMAP_DM_TIMER
Quoted 5 lines · Ben Gamari
It appears that
arch/arm/mach-omap2/timer-gp.ois needed by OMAP2PLUS. Since timer-gp.o has direct dependencies on omap_dm_timer_*, it seems correct for the architecture to depend uponOMAP_DM_TIMER, otherwise unsuspecting integrators will be faced with a whole bunch of linker errors at the end of their kernel build:
Can you please repost this with linux-arm-kernel list also Cc'd?
Thanks,
Tony
Re: [PATCH] omap2: Make OMAP2PLUS select OMAP_DM_TIMER
Quoted 9 lines · Tony Lindgren
Quoted 5 lines · Ben Gamari
It appears that
arch/arm/mach-omap2/timer-gp.ois needed by OMAP2PLUS. Since timer-gp.o has direct dependencies on omap_dm_timer_*, it seems correct for the architecture to depend uponOMAP_DM_TIMER, otherwise unsuspecting integrators will be faced with a whole bunch of linker errors at the end of their kernel build:Can you please repost this with linux-arm-kernel list also Cc'd?
Done. Sorry for all of the list noise.
- Ben
Re: [PATCH] omap2: Make OMAP2PLUS select OMAP_DM_TIMER
In reply to Ben GamariIt appears that arch/arm/mach-omap2/timer-gp.o is needed by OMAP2PLUS. Since timer-gp.o has direct dependencies on omap_dm_timer_*, it seems correct for the architecture to depend upon OMAP_DM_TIMER, otherwise unsuspecting integrators will be faced with a whole bunch of linker errors at the end of their kernel build:
arch/arm/mach-omap2/built-in.o: In function `omap2_gp_timer_set_mode':/home/bgamari/trees/linux-2.6/arch/arm/mach-omap2/timer-gp.c:84: undefined reference to omap_dm_timer_stop' /home/bgamari/trees/linux-2.6/arch/arm/mach-omap2/timer-gp.c:88: undefined reference to omap_dm_timer_get_fclk' /home/bgamari/trees/linux-2.6/arch/arm/mach-omap2/timer-gp.c:90: undefined reference to `omap_dm_timer_set_load_start'
...
--- arch/arm/plat-omap/Kconfig | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
arch/arm/plat-omap/Kconfig +1 -0
@@ -18,6 +18,7 @@ config ARCH_OMAP1 config ARCH_OMAP2PLUS bool "TI OMAP2/3/4" select COMMON_CLKDEV + select OMAP_DM_TIMER help "Systems based on OMAP2, OMAP3 or OMAP4"
Signature · 1 line
1.7.0.4