Subject: [PATCH 1/3] ARM: OMAP2+: Fix realtime_counter_init warning in timer.c

From: [email-masked] (Santosh Shilimkar)
Date: Wed, 28 Nov 2012 21:36:53 +0530

On Wednesday 28 November 2012 09:31 PM, Jon Hunter wrote:
>
> On 11/28/2012 09:55 AM, Santosh Shilimkar wrote:
>> On Wednesday 28 November 2012 09:17 PM, Jon Hunter wrote:
>>>
>>> On 11/28/2012 12:09 AM, Santosh Shilimkar wrote:
>>>> On Wednesday 28 November 2012 07:45 AM, Jon Hunter wrote:
>>>>> In commit fa6d79d (ARM: OMAP: Add initialisation for the real-time
>>>>> counter), the function realtime_counter_init() was added. However, if
>>>>> the kernel configuration option CONFIG_SOC_OMAP5 is not selected then
>>>>> the following compiler warning is observed.
>>>>>
>>>>>      CC      arch/arm/mach-omap2/timer.o
>>>>>      arch/arm/mach-omap2/timer.c:489:20: warning:
>>>>> ?realtime_counter_init?
>>>>>      defined but not used [-Wunused-function]
>>>>>
>>>>> Commit fa6d79d also introduced the kernel configuration option
>>>>> CONFIG_SOC_HAS_REALTIME_COUNTER. If this option is not selected then
>>>>> the
>>>>> a stub function for realtime_counter_init() is defined.
>>>>>
>>>>> The option CONFIG_SOC_HAS_REALTIME_COUNTER and stub function are not
>>>>> really needed because ...
>>>>>
>>>>> 1. For non-OMAP5 devices, there is no realtime counter and so
>>>>>       realtime_counter_init() function is not used.
>>>>> 2. For OMAP5 devices, CONFIG_SOC_HAS_REALTIME_COUNTER is always
>>>>> selected
>>>>>       and cannot be disabled, so the stub function for
>>>>> realtime_counter_init()
>>>>>       is never used.
>>>>>
>>>>> Fix this warning by removing the kernel configuration option
>>>>> CONFIG_SOC_HAS_REALTIME_COUNTER and stub function, and only include
>>>>> the function realtime_counter_init() if CONFIG_SOC_OMAP5 is selected.
>>>>>
>>>>> Cc: Santosh Shilimkar <[email-masked]>
>>>>>
>>>>> Reported-by: Tony Lindgren <[email-masked]>
>>>>> Signed-off-by: Jon Hunter <[email-masked]>
>>>>> ---
>>>> The #ifdef was avoided because the real-time counter can be used on
>>>> other future SOCs. And the those SOCs just select
>>>> SOC_HAS_REALTIME_COUNTER. And that stub was added because OMAP5 can
>>>> work without real-time counter configuration enabled using 32K counter.
>>>> But since we are any way have that SOC_HAS_REALTIME_COUNTER always
>>>> set for SOC which wants to use it, we can actually remove the stub
>>>> and hence avoid the warning. Let me know if below patch is ok
>>>> with you ? attached the same for mailer issues
>>>>
>>>>   From e000aa13e47e29fbe3473bfd0277cb057c3160cc Mon Sep 17 00:00:00 2001
>>>> From: Santosh Shilimkar <[email-masked]>
>>>> Date: Wed, 28 Nov 2012 11:28:57 +0530
>>>> Subject: [PATCH] ARM: OMAP2+: Fix realtime_counter_init warning in
>>>> timer.c
>>>> MIME-Version: 1.0
>>>> Content-Type: text/plain; charset=UTF-8
>>>> Content-Transfer-Encoding: 8bit
>>>>
>>>> In commit fa6d79d (ARM: OMAP: Add initialisation for the real-time
>>>> counter), the function realtime_counter_init() was added. However, if
>>>> the kernel configuration option CONFIG_SOC_OMAP5 is not selected then
>>>> the following compiler warning is observed.
>>>>
>>>>       CC      arch/arm/mach-omap2/timer.o
>>>>       arch/arm/mach-omap2/timer.c:489:20: warning:
>>>> ?realtime_counter_init?
>>>>       defined but not used [-Wunused-function]
>>>>
>>>> It is because of the stub init function which was added for the cases
>>>> where realtime_counter_init() is called with
>>>> !CONFIG_SOC_HAS_REALTIME_COUNTER.
>>>> This is actually not necessary since the SOC which need this feature
>>>> will explicitly select the configuration.
>>>>
>>>> So just drop the unused stub to avoid the build warning.
>>>>
>>>> Patch is made after seeing Jon's patch which was wrapping the
>>>> real-time counter code under needed SOC #ifdef
>>>>
>>>> Cc: Jon Hunter <[email-masked]>
>>>>
>>>> Reported-by: Tony Lindgren <[email-masked]>
>>>> Signed-off-by: Santosh Shilimkar <[email-masked]>
>>>> ---
>>>>    arch/arm/mach-omap2/timer.c |    3 ---
>>>>    1 file changed, 3 deletions(-)
>>>>
>>>> diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c
>>>> index 69e4663..79d8e6b 100644
>>>> --- a/arch/arm/mach-omap2/timer.c
>>>> +++ b/arch/arm/mach-omap2/timer.c
>>>> @@ -428,9 +428,6 @@ static void __init realtime_counter_init(void)
>>>>
>>>>        iounmap(base);
>>>>    }
>>>> -#else
>>>> -static inline void __init realtime_counter_init(void)
>>>> -{}
>>>>    #endif
>>>>
>>>>    #define OMAP_SYS_TIMER_INIT(name, clkev_nr, clkev_src,            \
>>>
>>> Hi Santosh,
>>>
>>> Thanks for the feedback. Unfortunately, the above is not enough. If I
>>> disable SOC_OMAP5 and leave SOC_HAS_REALTIME_COUNTER enabled, then I
>>> still see the warning message. So I could see that people could still
>>> hit this with randconfig.
>>>
>> I did mention that but since OMAP5 selects the feature, I was thinking
>> it is fine.
>>
>>> Understand the desire to make this a selectable configuration, but given
>>> to date only OMAP5 uses it, it was simpler and cleaner just to remove
>>> the option. However, we could keep the option and just do something
>>> like ...
>>>
>>> diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
>>> index 813c267..500f2f6 100644
>>> --- a/arch/arm/mach-omap2/Kconfig
>>> +++ b/arch/arm/mach-omap2/Kconfig
>>> @@ -26,6 +26,8 @@ config SOC_HAS_OMAP2_SDRC
>>>
>>>    config SOC_HAS_REALTIME_COUNTER
>>>           bool "Real time free running counter"
>>> +       depends on SOC_OMAP5
>>> +       default y
>>>
>>>    config ARCH_OMAP2
>>>           bool "TI OMAP2"
>>> @@ -79,7 +81,6 @@ config SOC_OMAP5
>>>           select ARM_GIC
>>>           select CPU_V7
>>>           select HAVE_SMP
>>> -       select SOC_HAS_REALTIME_COUNTER
>>>           select COMMON_CLK
>>>
>>> I have tested this and this resolves the warning.
>>>
>> Go ahead and fold above change on top of my patch which
>> drops the stub.
>
> Well if we drop the stub then we cannot make it selectable for OMAP5. So
> in other words folding the above change on top of your patch will still
> not work ;-)
>
Oh yes.. Just ignore another follow up email which i sent thinking I
lost the connection in between.

> The above patch will only allow you to use the REALTIME COUNTER on
> OMAP5, but it makes it selectable and so the stub is needed now. If
> future devices wish to use the REALTIME COUNTER then they can be added
> to the "depends on" statement.
>
> The above patch should be all we need.
>
I agree. Feel free to add my ack when you cook up the patch