• Jens Rottmann's avatar
    cs5535-clockevt: Don't ignore MFGPT on SMP-capable kernels · fc579da7
    Jens Rottmann authored
    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>
    fc579da7
cs5535-clockevt.c 5.85 KB