[FAILURE] omap4430-sdp allnoconfig

Stephen Boyd sboyd at codeaurora.org
Thu Aug 1 14:34:25 EDT 2013


On 08/01/13 11:31, Santosh Shilimkar wrote:
> On Thursday 01 August 2013 02:27 PM, Russell King - ARM Linux wrote:
>> On Thu, Aug 01, 2013 at 02:11:18PM -0400, Santosh Shilimkar wrote:
>>> On Thursday 01 August 2013 01:52 PM, Russell King - ARM Linux wrote:
>>>> My allnoconfig fails with this error:
>>>>
>>>> arch/arm/mach-omap2/built-in.o: In function `omap4_local_timer_init':
>>>> dss-common.c:(.init.text+0x1d90): undefined reference to `twd_local_timer_register'
>>>>
>>>> Might be worth looking into whatever's missing?
>>> Looks like coming from below snippet but am just wondering how ?
>> Well, looking at the config allnoconfig generated, it doesn't have SMP
>> and therefore it doesn't have local timers.
>>
>> The build tree has this in it:
>>
>> #ifdef CONFIG_ARCH_OMAP4
>> static DEFINE_TWD_LOCAL_TIMER(twd_local_timer, OMAP44XX_LOCAL_TWD_BASE, 29);
>> void __init omap4_local_timer_init(void)
>> {
>>         omap4_sync32k_timer_init();
>>         /* Local timers are not supprted on OMAP4430 ES1.0 */
>>         if (omap_rev() != OMAP4430_REV_ES1_0) {
>>                 int err;
>>
>>                 if (of_have_populated_dt()) {
>>                         clocksource_of_init();
>>                         return;
>>                 }
>>
>>                 err = twd_local_timer_register(&twd_local_timer);
>>                 if (err)
>>                         pr_err("twd_local_timer_register failed %d\n", err);
>>         }
>> }
>> #endif /* CONFIG_ARCH_OMAP4 */
>>
> Now it make sense.
>
>> which is changed from your version thanks to this commit:
>>
>> commit ef3160cd2f0a400751f2cf6fd2811225fee1d5a7
>> Author: Stephen Boyd <sboyd at codeaurora.org>
>> Date:   Mon Mar 4 19:24:35 2013 -0800
>>
>>     ARM: OMAP2+: Divorce from local timer API
>>     
>>     Now that the TWD doesn't rely on the local timer API, OMAP can
>>     stop selecting it in Kconfig and relying on the config option to
>>     decide if it should call smp_twd functions.
>>     
>>     Acked-by: Santosh Shilimkar <santosh.shilimkar at ti.com>
>>     Acked-by: Tony Lindgren <tony at atomide.com>
>>     Acked-by: Marc Zyngier <marc.zyngier at arm.com>
>>     Signed-off-by: Stephen Boyd <sboyd at codeaurora.org>
>>
>> So it seems LOCAL_TIMER is still actually required...
>>
> yep. Lets see what Stephen has to say.

Hmm.. Looks like you can either wrap this up in a CONFIG_HAVE_ARM_TWD
check or just compile in TWD all the time on omap4. The latter is
simpler but not a direct conversion.

---8<----

diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index 4e0049a..c9e9b2c 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -90,7 +90,7 @@ config ARCH_OMAP4
        select CACHE_L2X0
        select CPU_V7
        select HAVE_ARM_SCU if SMP
-       select HAVE_ARM_TWD if SMP
+       select HAVE_ARM_TWD
        select HAVE_SMP
        select OMAP_INTERCONNECT
        select PL310_ERRATA_588369

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation




More information about the linux-arm-kernel mailing list