Commit fc579da7 authored by Jens Rottmann's avatar Jens Rottmann Committed by Thomas Gleixner

cs5535-clockevt: Don't ignore MFGPT on SMP-capable kernels

On SMP-capable kernels (e.g.  generic distro kernel) the cs5535-clockevt
driver loads but is not actually used.

Setting cpumask to cpu_all_mask works for UP-only kernels, but if compiled
for SMP - though still running on the same UP hardware -
kernel/time/tick-common.c:tick_check_new_device() reads this as
"non-cpu-local" and silently ignores the device.

If we leave cpumask unset clockevents_register_device() will initialize it
and the cs5535-clockevt driver will be used no matter how the kernel was
compiled.  Should anyone ever manage to stick a CS553x in an SMP system
(is this even possible?) then a warning will be printed.  This is fine as
the cs5535-clockevt driver was never written/tested for SMP.

If bisecting led you here this patch may have exposed a pre-existing MFGPT
problem.  Configure for UP-only and re-check.
Signed-off-by: default avatarJens Rottmann <JRottmann@LiPPERTEmbedded.de>
Acked-by: default avatarAndres Salomon <dilinger@queued.net>
Cc: John Stultz <john.stultz@linaro.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent d93c4071
...@@ -100,7 +100,6 @@ static struct clock_event_device cs5535_clockevent = { ...@@ -100,7 +100,6 @@ static struct clock_event_device cs5535_clockevent = {
.set_mode = mfgpt_set_mode, .set_mode = mfgpt_set_mode,
.set_next_event = mfgpt_next_event, .set_next_event = mfgpt_next_event,
.rating = 250, .rating = 250,
.cpumask = cpu_all_mask,
.shift = 32 .shift = 32
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment