]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
Merge commit 'v2.6.29' into timers/core
authorIngo Molnar <mingo@elte.hu>
Thu, 26 Mar 2009 14:45:22 +0000 (15:45 +0100)
committerIngo Molnar <mingo@elte.hu>
Thu, 26 Mar 2009 14:45:22 +0000 (15:45 +0100)
arch/x86/kernel/quirks.c
kernel/time/clockevents.c

index 309949e9e1c1a9e65969507cb7dea1097a2410d9..697d1b78cfbf702eb6ab9cc556bb9e94bc6d357b 100644 (file)
@@ -172,7 +172,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH8_4,
                         ich_force_enable_hpet);
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH9_7,
                         ich_force_enable_hpet);
-
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x3a16,  /* ICH10 */
+                        ich_force_enable_hpet);
 
 static struct pci_dev *cached_dev;
 
index ea2f48af83cff4dde64764da811744f74cddb745..d13be216a7905d1a538286322c242726a1af3aba 100644 (file)
@@ -68,6 +68,17 @@ void clockevents_set_mode(struct clock_event_device *dev,
        if (dev->mode != mode) {
                dev->set_mode(mode, dev);
                dev->mode = mode;
+
+               /*
+                * A nsec2cyc multiplicator of 0 is invalid and we'd crash
+                * on it, so fix it up and emit a warning:
+                */
+               if (mode == CLOCK_EVT_MODE_ONESHOT) {
+                       if (unlikely(!dev->mult)) {
+                               dev->mult = 1;
+                               WARN_ON(1);
+                       }
+               }
        }
 }
 
@@ -168,15 +179,6 @@ void clockevents_register_device(struct clock_event_device *dev)
        BUG_ON(dev->mode != CLOCK_EVT_MODE_UNUSED);
        BUG_ON(!dev->cpumask);
 
-       /*
-        * A nsec2cyc multiplicator of 0 is invalid and we'd crash
-        * on it, so fix it up and emit a warning:
-        */
-       if (unlikely(!dev->mult)) {
-               dev->mult = 1;
-               WARN_ON(1);
-       }
-
        spin_lock(&clockevents_lock);
 
        list_add(&dev->list, &clockevent_devices);