[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4EF1FE5C.6040101@LiPPERTEmbedded.de>
Date: Wed, 21 Dec 2011 16:42:20 +0100
From: Jens Rottmann <JRottmann@...PERTEmbedded.de>
To: Andres Salomon <dilinger@...ued.net>
CC: Thomas Gleixner <tglx@...utronix.de>, linux-kernel@...r.kernel.org,
linux-geode@...ts.infradead.org
Subject: [PATCH] cs5535-clockevt: don't ignore MFGPT on SMP-capable kernels
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: Jens Rottmann <JRottmann@...PERTEmbedded.de>
---
--- linux-3.2-rc6/drivers/clocksource/cs5535-clockevt.c
+++ use_mfgpt_on_smp_kernels/drivers/clocksource/cs5535-clockevt.c
@@ -100,7 +100,6 @@ static struct clock_event_device cs5535_
.set_mode = mfgpt_set_mode,
.set_next_event = mfgpt_next_event,
.rating = 250,
- .cpumask = cpu_all_mask,
.shift = 32
};
_
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists