linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: sboyd@codeaurora.org (Stephen Boyd)
To: linux-arm-kernel@lists.infradead.org
Subject: [FAILURE] omap4430-sdp allnoconfig
Date: Thu, 01 Aug 2013 11:37:49 -0700	[thread overview]
Message-ID: <51FAAAFD.6000706@codeaurora.org> (raw)
In-Reply-To: <51FAAA31.6020903@codeaurora.org>

On 08/01/13 11:34, Stephen Boyd wrote:
> 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@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@ti.com>
>>>     Acked-by: Tony Lindgren <tony@atomide.com>
>>>     Acked-by: Marc Zyngier <marc.zyngier@arm.com>
>>>     Signed-off-by: Stephen Boyd <sboyd@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.

Here's the other version (probably whitespace damaged):

---8<----

diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c
index 3b7caba..00dc53e 100644
--- a/arch/arm/mach-omap2/timer.c
+++ b/arch/arm/mach-omap2/timer.c
@@ -600,6 +600,7 @@ static OMAP_SYS_32K_TIMER_INIT(4, 1, "timer_32k_ck", "ti,timer-alwon",
 #endif
 
 #ifdef CONFIG_ARCH_OMAP4
+#ifdef CONFIG_HAVE_ARM_TWD
 static DEFINE_TWD_LOCAL_TIMER(twd_local_timer, OMAP44XX_LOCAL_TWD_BASE, 29);
 void __init omap4_local_timer_init(void)
 {
@@ -618,6 +619,12 @@ void __init omap4_local_timer_init(void)
                        pr_err("twd_local_timer_register failed %d\n", err);
        }
 }
+#else
+void __init omap4_local_timer_init(void)
+{
+       omap4_sync32k_timer_init();
+}
+#endif /* CONFIG_HAVE_ARM_TWD */
 #endif /* CONFIG_ARCH_OMAP4 */
 
 #ifdef CONFIG_SOC_OMAP5

>
> ---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

  reply	other threads:[~2013-08-01 18:37 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-01 17:52 [FAILURE] omap4430-sdp allnoconfig Russell King - ARM Linux
2013-08-01 18:11 ` Santosh Shilimkar
2013-08-01 18:27   ` Russell King - ARM Linux
2013-08-01 18:31     ` Santosh Shilimkar
2013-08-01 18:34       ` Stephen Boyd
2013-08-01 18:37         ` Stephen Boyd [this message]
2013-08-01 18:48           ` Santosh Shilimkar
2013-08-01 18:59             ` Stephen Boyd
2013-08-01 19:01               ` Santosh Shilimkar
2013-08-01 19:02               ` Russell King - ARM Linux
2013-08-01 20:06               ` Olof Johansson
2013-08-02 20:44                 ` Stephen Boyd
2013-08-02 20:50                   ` Olof Johansson
2013-08-02 20:56                     ` Stephen Boyd
2013-08-02 20:59                       ` Olof Johansson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51FAAAFD.6000706@codeaurora.org \
    --to=sboyd@codeaurora.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).