|
|
@@ -430,6 +430,7 @@ static int exynos4_local_timer_setup(struct clock_event_device *evt)
|
|
|
evt->irq);
|
|
|
return -EIO;
|
|
|
}
|
|
|
+ irq_force_affinity(mct_irqs[MCT_L0_IRQ + cpu], cpumask_of(cpu));
|
|
|
} else {
|
|
|
enable_percpu_irq(mct_irqs[MCT_L0_IRQ], 0);
|
|
|
}
|
|
|
@@ -450,7 +451,6 @@ static int exynos4_mct_cpu_notify(struct notifier_block *self,
|
|
|
unsigned long action, void *hcpu)
|
|
|
{
|
|
|
struct mct_clock_event_device *mevt;
|
|
|
- unsigned int cpu;
|
|
|
|
|
|
/*
|
|
|
* Grab cpu pointer in each case to avoid spurious
|
|
|
@@ -461,12 +461,6 @@ static int exynos4_mct_cpu_notify(struct notifier_block *self,
|
|
|
mevt = this_cpu_ptr(&percpu_mct_tick);
|
|
|
exynos4_local_timer_setup(&mevt->evt);
|
|
|
break;
|
|
|
- case CPU_ONLINE:
|
|
|
- cpu = (unsigned long)hcpu;
|
|
|
- if (mct_int_type == MCT_INT_SPI)
|
|
|
- irq_set_affinity(mct_irqs[MCT_L0_IRQ + cpu],
|
|
|
- cpumask_of(cpu));
|
|
|
- break;
|
|
|
case CPU_DYING:
|
|
|
mevt = this_cpu_ptr(&percpu_mct_tick);
|
|
|
exynos4_local_timer_stop(&mevt->evt);
|