x86: Do not unregister PIT clocksource on PIT oneshot setup/shutdown
authorThomas Gleixner <tglx@linutronix.de>
Thu, 20 Aug 2009 16:19:45 +0000 (18:19 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Fri, 21 Aug 2009 19:13:37 +0000 (21:13 +0200)
commit8cab02dc3c58a12235c6d463ce684dded9696848
tree3e6e83cbfd2fcfccebcd87a7aa78eb8f905ed5a7
parent01548f4d3e8e94caf323a4f664eb347fd34a34ab
x86: Do not unregister PIT clocksource on PIT oneshot setup/shutdown

This basically reverts commit 1a0c009ac (x86: unregister PIT
clocksource when PIT is disabled) because the problem which was tried
to address with that patch has been solved by commit 3f68535ada
(clocksource: sanity check sysfs clocksource changes).

The problem addressed by the original patch is that PIT could be
selected as clocksource after the system switched the PIT off or set
the PIT into one shot mode which would result in complete timekeeping
wreckage.

Now with the sysfs sanity check in place PIT cannot be selected again
when the system is in oneshot mode. The system will not switch to one
shot mode as long as PIT is installed because PIT is not suitable for
one shot.

The shutdown case which happens when the lapic timer is installed is
covered by the fact that init_pit_clocksource() is called after the
lapic timer take over and then does not install the PIT clocksource
at all.

We should have done the sanity checks back then, but ...

This also solves the locking problem which was reported vs. the
clocksource rework.

LKML-Reference: <new-submission>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: john stultz <johnstul@us.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/kernel/i8253.c