summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhiwu Song <Zhiwu.Song@csr.com>2014-05-07 14:46:44 +0800
committerDaniel Lezcano <daniel.lezcano@linaro.org>2014-05-22 18:54:47 +0200
commitf214be50f317d78c47532d4ca8aa0ba5e79fc1ca (patch)
treeca26bb1cc83093fbd87e0a899d98eef134b71ad7
parent84ea7fe37908254c3bd90910921f6e1045c1747a (diff)
clocksource: marco: Fix the affinity set for local timer of CPU1
irqchip will reject the affinity set to CPUs which is not online yet. but in the CPU1 wakeup stage, OS only sets CPU1 to be online after local timer is set, so that causes the irq_set_affinity not work. this patch moves to irq_force_affinity() for the low level boot stage. Signed-off-by: Zhiwu Song <Zhiwu.Song@csr.com> Signed-off-by: Barry Song <Baohua.Song@csr.com> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
-rw-r--r--drivers/clocksource/timer-marco.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/clocksource/timer-marco.c b/drivers/clocksource/timer-marco.c
index b52e1c078b99..7f5374dbefd9 100644
--- a/drivers/clocksource/timer-marco.c
+++ b/drivers/clocksource/timer-marco.c
@@ -199,7 +199,7 @@ static int sirfsoc_local_timer_setup(struct clock_event_device *ce)
action->dev_id = ce;
BUG_ON(setup_irq(ce->irq, action));
- irq_set_affinity(action->irq, cpumask_of(cpu));
+ irq_force_affinity(action->irq, cpumask_of(cpu));
clockevents_register_device(ce);
return 0;