[PATCH 1/2] ARM: EXYNOS4: convert MCT to percpu interrupt API
Marc Zyngier
marc.zyngier at arm.com
Thu Nov 10 04:43:08 EST 2011
On 10/11/11 02:40, MyungJoo Ham wrote:
> On Thu, Nov 3, 2011 at 2:30 AM, Marc Zyngier <marc.zyngier at arm.com> wrote:
>> MCT recently gained per cpu interrupts, and missed the fact that
>> ARM has moved to a genirq based implementation.
>>
>> This patch converts the driver to the new API.
>>
>> Boot tested on Origen.
>>
>> Cc: Kukjin Kim <kgene.kim at samsung.com>
>> Signed-off-by: Marc Zyngier <marc.zyngier at arm.com>
>
> There is one concern regarding the CONFIG_LOCAL_TIMER.
>
> []
>> #endif /* CONFIG_LOCAL_TIMERS */
>>
>> static void __init exynos4_timer_resources(void)
>> @@ -438,6 +442,16 @@ static void __init exynos4_timer_resources(void)
>> mct_clk = clk_get(NULL, "xtal");
>>
>> clk_rate = clk_get_rate(mct_clk);
>> +
>> + if (mct_int_type == MCT_INT_PPI) {
>> + int err;
>> +
>> + err = request_percpu_irq(IRQ_MCT_LOCALTIMER,
>> + exynos4_mct_tick_isr, "MCT",
>> + &percpu_mct_tick);
>> + WARN(err, "MCT: can't request IRQ %d (%d)\n",
>> + IRQ_MCT_LOCALTIMER, err);
>> + }
>> }
>>
>
> You've added exynos4_mct_tick_isr, which is defined in
> CONFIG_LOCAL_TIMER section, in the place that is compiled without
> CONFIG_LOCAL_TIMER.
> I guess we are going to stop supporting LOCAL_TIMER in Exynos later
> and this could be a problem with it.
Yup, this is a problem. It probably means we need to #ifdef that chink
as well. I'm not sure I get your remark about not supporting LOCAL_TIMER
though. Are you planning to move away from the LOCAL_TIMER infrastructure?
If that's the case, you might as well know that my pet plan is to get
rid of the LOCAL_TIMER option altogether, and move to a model where each
timer driver is (sort of) autonomous, instead of being driven by the SMP
code.
M.
--
Jazz is not dead. It just smells funny...
More information about the linux-arm-kernel
mailing list