• Tomasz Figa's avatar
    clocksource: exynos_mct: Set IRQ affinity when the CPU goes online · 5df718d8
    Tomasz Figa authored
    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
    	ee98d27d 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: default avatarTomasz Figa <t.figa@samsung.com>
    Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
    Acked-by: default avatarStephen Boyd <sboyd@codeaurora.org>
    Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
    5df718d8
exynos_mct.c 14.6 KB