]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - kernel/time/tick-broadcast.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[linux-2.6-omap-h63xx.git] / kernel / time / tick-broadcast.c
index fab9dd8bbd6b14a92abe6f0013e5589f45cca818..8cfb8b2ce773ed4838b3bb4c699b22c4c34423c7 100644 (file)
@@ -222,20 +222,8 @@ static void tick_do_broadcast_on_off(void *why)
        if (!dev || !(dev->features & CLOCK_EVT_FEAT_C3STOP))
                goto out;
 
-       /*
-        * Defect device ?
-        */
-       if (!tick_device_is_functional(dev)) {
-               /*
-                * AMD C1E wreckage fixup:
-                *
-                * Device was registered functional in the first
-                * place. Now the secondary CPU detected the C1E
-                * misfeature and notifies us to fix it up
-                */
-               if (*reason != CLOCK_EVT_NOTIFY_BROADCAST_FORCE)
-                       goto out;
-       }
+       if (!tick_device_is_functional(dev))
+               goto out;
 
        switch (*reason) {
        case CLOCK_EVT_NOTIFY_BROADCAST_ON:
@@ -246,6 +234,8 @@ static void tick_do_broadcast_on_off(void *why)
                                clockevents_set_mode(dev,
                                                     CLOCK_EVT_MODE_SHUTDOWN);
                }
+               if (*reason == CLOCK_EVT_NOTIFY_BROADCAST_FORCE)
+                       dev->features |= CLOCK_EVT_FEAT_DUMMY;
                break;
        case CLOCK_EVT_NOTIFY_BROADCAST_OFF:
                if (cpu_isset(cpu, tick_broadcast_mask)) {