[PATCH v2 4/4] ARM: architected timers: add support for UP timer
Marc Zyngier
marc.zyngier at arm.com
Tue Feb 14 06:19:26 EST 2012
Hi Christopher,
On 13/02/12 23:07, Christopher Covington wrote:
> On 02/01/2012 11:59 AM, Marc Zyngier wrote:
>> If CONFIG_LOCAL_TIMERS is not defined, let the architected timer
>> driver register a single clock_event_device that is used as a
>> global timer.
>
> [snip]
>
>> static int __init arch_timer_common_register(void)
>> {
>> @@ -277,7 +281,16 @@ static int __init arch_timer_common_register(void)
>> }
>> }
>>
>> - err = local_timer_register(&arch_timer_ops);
>> +#ifdef CONFIG_LOCAL_TIMERS
>> + if (is_smp())
>> + err = local_timer_register(&arch_timer_ops);
>> + else
>> +#endif
>> + {
>> + arch_timer_global_evt.cpumask = cpumask_of(0);
>> + err = arch_timer_setup(&arch_timer_global_evt);
>> + }
>> +
>> if (err)
>> goto out_free_irq;
>>
>
> The logic here seems unnecessarily split between the preprocessor and
> compiler. Certainly this can be revised to a more elegant form that
> better keeps with the guidelines on ifdef usage [1].
>
> 1. http://www.linuxjournal.com/article/5780?page=0,3
This would require a small change in the local timer code (basically
refusing to register a local timer if not on an SMP platform). But this
is just moving code from one #ifdef section to another...
Thanks for reviewing.
M.
--
Jazz is not dead. It just smells funny...
More information about the linux-arm-kernel
mailing list