Re: [PATCH] clocksource: whitelist asm9260_timer driver for ARM

Daniel Lezcano
2015-02-23T18:57:32Z

On 02/23/2015 06:57 PM, Guenter Roeck wrote:
> On Mon, Feb 23, 2015 at 06:48:47PM +0100, Daniel Lezcano wrote:
>> On 02/18/2015 08:17 AM, Guenter Roeck wrote:
>>> On 02/10/2015 07:57 AM, Oleksij Rempel wrote:
>>>> For now it is easier to allow only tested platforms, instead of
>>>> fighting with different platform specific issues.
>>>>
>>>> This patch is fixing compile error on ARCH=SPARC and SPARC64:
>>>>
>>>> Building sparc64:allmodconfig ... failed
>>>> --------------
>>>> Error log:
>>>> drivers/built-in.o: In function `asm9260_timer_init':
>>>> asm9260_timer.c:(.init.text+0x60d4): undefined reference to
>>>> `of_io_request_and_map'
>>>>
>>>> Tested-by: Guenter Roeck <linux@roeck-us.net>
>>>> Reported-by: Guenter Roeck <linux@roeck-us.net>
>>>> Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
>>>
>>> The problem solved by this patch has affected linux-next
>>> for almost a month, the problem is now in mainline, yet
>>> I have not seen feedback from anyone about it.
>>>
>>> Did the patch get lost, or is there some problem with it ?
>>
>> Hi Guenter, Oleksij,
>>
>> so I reviewed the patch more in detail.
>>
>> The sparc/sparc64 configuration shouldn't select this timer.
>>
>> What do you think about the following patch ?
>>
> Yes, that makes sense to me. What it really means is that no architecture
> but MACH_ASM9260 should select the ASM9260 timer driver, and that it must
> always be present on MACH_ASM9260 (is that true, or should it still be
> configurable ?).

Regarding the previous configuration (default y if MACH_ASM9260) I
assume it is always the case.

> I just hope that _some_ patch fixing the build will make it into
> the upstream kernel before 4.0 is released ;-).
>
> Thanks,
> Guenter
>
>> diff --git a/arch/arm/mach-asm9260/Kconfig b/arch/arm/mach-asm9260/Kconfig
>> index 8423be7..5224120 100644
>> --- a/arch/arm/mach-asm9260/Kconfig
>> +++ b/arch/arm/mach-asm9260/Kconfig
>> @@ -2,5 +2,7 @@ config MACH_ASM9260
>> bool "Alphascale ASM9260"
>> depends on ARCH_MULTI_V5
>> select CPU_ARM926T
>> + select ASM9260_TIMER
>> + select GENERIC_CLOCKEVENTS
>> help
>> Support for Alphascale ASM9260 based platform.
>> diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig
>> index 72a3827..f9c1995 100644
>> --- a/drivers/clocksource/Kconfig
>> +++ b/drivers/clocksource/Kconfig
>> @@ -60,6 +60,11 @@ config VT8500_TIMER
>> config CADENCE_TTC_TIMER
>> bool
>>
>> +config ASM9260_TIMER
>> + bool
>> + select CLKSRC_MMIO
>> + select CLKSRC_OF
>> +
>> config CLKSRC_NOMADIK_MTU
>> bool
>> depends on (ARCH_NOMADIK || ARCH_U8500)
>> @@ -235,15 +240,4 @@ config CLKSRC_MIPS_GIC
>> bool
>> depends on MIPS_GIC
>> select CLKSRC_OF
>> -
>> -config ASM9260_TIMER
>> - bool "Alphascale ASM9260 timer driver"
>> - depends on GENERIC_CLOCKEVENTS
>> - select CLKSRC_MMIO
>> - select CLKSRC_OF
>> - default y if MACH_ASM9260
>> - help
>> - This enables build of a clocksource and clockevent driver for
>> - the 32-bit System Timer hardware available on a Alphascale ASM9260.
>> -
>> endmenu
>>
>>
>>
>>
>>
>>>
>>>> ---
>>>> drivers/clocksource/Kconfig | 2 +-
>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig
>>>> index bfaaae4..39d5c11 100644
>>>> --- a/drivers/clocksource/Kconfig
>>>> +++ b/drivers/clocksource/Kconfig
>>>> @@ -231,7 +231,7 @@ config CLKSRC_MIPS_GIC
>>>>
>>>> config ASM9260_TIMER
>>>> bool "Alphascale ASM9260 timer driver"
>>>> - depends on GENERIC_CLOCKEVENTS
>>>> + depends on GENERIC_CLOCKEVENTS && ARM
>>>> select CLKSRC_MMIO
>>>> select CLKSRC_OF
>>>> default y if MACH_ASM9260
>>>>
>>>
>>
>>
>> --
>> <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
>>
>> Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
>> <http://twitter.com/#!/linaroorg> Twitter |
>> <http://www.linaro.org/linaro-blog/> Blog
>>

--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |