]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - kernel/time/tick-common.c
x86, xen, power: fix up config dependencies on PM
[linux-2.6-omap-h63xx.git] / kernel / time / tick-common.c
index 77a21abc87167482ff63efea9480c4ed11cbb21b..4f3886562b8cb919c48110cc8c198c65ea93e54a 100644 (file)
 #include <linux/cpu.h>
 #include <linux/err.h>
 #include <linux/hrtimer.h>
-#include <linux/irq.h>
+#include <linux/interrupt.h>
 #include <linux/percpu.h>
 #include <linux/profile.h>
 #include <linux/sched.h>
 #include <linux/tick.h>
 
+#include <asm/irq_regs.h>
+
 #include "tick-internal.h"
 
 /*
@@ -200,7 +202,7 @@ static int tick_check_new_device(struct clock_event_device *newdev)
 
        cpu = smp_processor_id();
        if (!cpu_isset(cpu, newdev->cpumask))
-               goto out;
+               goto out_bc;
 
        td = &per_cpu(tick_cpu_device, cpu);
        curdev = td->evtdev;
@@ -265,7 +267,7 @@ out_bc:
         */
        if (tick_check_broadcast_device(newdev))
                ret = NOTIFY_STOP;
-out:
+
        spin_unlock_irqrestore(&tick_device_lock, flags);
 
        return ret;
@@ -345,6 +347,7 @@ static int tick_notify(struct notifier_block *nb, unsigned long reason,
 
        case CLOCK_EVT_NOTIFY_BROADCAST_ON:
        case CLOCK_EVT_NOTIFY_BROADCAST_OFF:
+       case CLOCK_EVT_NOTIFY_BROADCAST_FORCE:
                tick_broadcast_on_off(reason, dev);
                break;