]> git.baikalelectronics.ru Git - kernel.git/commit
clocksource: exynos_mct: Set IRQ affinity when the CPU goes online
authorTomasz Figa <t.figa@samsung.com>
Wed, 25 Sep 2013 10:00:59 +0000 (12:00 +0200)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Thu, 26 Sep 2013 00:30:15 +0000 (02:30 +0200)
commite974c458109f3f39162cbbbc745bf43066155610
tree1af7258b37ed0503c5626012258b87f46c3d07af
parentb269c6923bd74e7fd06592d9b6ed187a63ed6143
clocksource: exynos_mct: Set IRQ affinity when the CPU goes online

Some variants of Exynos MCT, namely exynos4210-mct at the moment, use
normal, shared interrupts for local timers. This means that each
interrupt must have correct affinity set to fire only on CPU
corresponding to given local timer.

However after recent conversion of clocksource drivers to not use the
local timer API for local timer initialization any more, the point of
time when local timers get initialized changed and irq_set_affinity()
fails because the CPU is not marked as online yet.

This patch fixes this by moving the call to irq_set_affinity() to
CPU_ONLINE notification, so the affinity is being set when the CPU goes
online.

This fixes a regression introduced by commit
b37a720f10 ARM: EXYNOS4: Divorce mct from local timer API
which rendered all Exynos4210 based boards unbootable due to
failing irq_set_affinity() making local timers inoperatible.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
drivers/clocksource/exynos_mct.c