summaryrefslogtreecommitdiffstats
path: root/kernel/time/clockevents.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-09-23 16:19:26 +0200
committerIngo Molnar <mingo@elte.hu>2008-09-23 16:19:26 +0200
commit9b9b181ce53ef387dfe3df9316bbc641fca13d51 (patch)
treeacc34cf3d5172536c37de61eafbda399163e4265 /kernel/time/clockevents.c
parentfb71e45338453698bd7460f7e8f171ea0304d218 (diff)
parent72d31053f62c4bc464c2783974926969614a8649 (diff)
downloadop-kernel-dev-9b9b181ce53ef387dfe3df9316bbc641fca13d51.zip
op-kernel-dev-9b9b181ce53ef387dfe3df9316bbc641fca13d51.tar.gz
Merge commit 'v2.6.27-rc7' into core/locking
Diffstat (limited to 'kernel/time/clockevents.c')
-rw-r--r--kernel/time/clockevents.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/kernel/time/clockevents.c b/kernel/time/clockevents.c
index 1876b52..f8d9680 100644
--- a/kernel/time/clockevents.c
+++ b/kernel/time/clockevents.c
@@ -72,6 +72,16 @@ void clockevents_set_mode(struct clock_event_device *dev,
}
/**
+ * clockevents_shutdown - shutdown the device and clear next_event
+ * @dev: device to shutdown
+ */
+void clockevents_shutdown(struct clock_event_device *dev)
+{
+ clockevents_set_mode(dev, CLOCK_EVT_MODE_SHUTDOWN);
+ dev->next_event.tv64 = KTIME_MAX;
+}
+
+/**
* clockevents_program_event - Reprogram the clock event device.
* @expires: absolute expiry time (monotonic clock)
*
@@ -206,7 +216,7 @@ void clockevents_exchange_device(struct clock_event_device *old,
if (new) {
BUG_ON(new->mode != CLOCK_EVT_MODE_UNUSED);
- clockevents_set_mode(new, CLOCK_EVT_MODE_SHUTDOWN);
+ clockevents_shutdown(new);
}
local_irq_restore(flags);
}
OpenPOWER on IntegriCloud