]> err.no Git - linux-2.6/blobdiff - arch/x86/kernel/mfgpt_32.c
Merge branch 'sched/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip...
[linux-2.6] / arch / x86 / kernel / mfgpt_32.c
index b402c0f3f192213f84595197f067c28043545ea1..07c0f828f4881ab3f62890f0ddb373326ae8cd77 100644 (file)
@@ -63,7 +63,7 @@ static int __init mfgpt_fix(char *s)
 
        /* The following udocumented bit resets the MFGPT timers */
        val = 0xFF; dummy = 0;
-       wrmsr(0x5140002B, val, dummy);
+       wrmsr(MSR_MFGPT_SETUP, val, dummy);
        return 1;
 }
 __setup("mfgptfix", mfgpt_fix);
@@ -127,17 +127,17 @@ int geode_mfgpt_toggle_event(int timer, int cmp, int event, int enable)
                 * 6; that is, resets for 7 and 8 will be ignored.  Is this
                 * a problem?   -dilinger
                 */
-               msr = MFGPT_NR_MSR;
+               msr = MSR_MFGPT_NR;
                mask = 1 << (timer + 24);
                break;
 
        case MFGPT_EVENT_NMI:
-               msr = MFGPT_NR_MSR;
+               msr = MSR_MFGPT_NR;
                mask = 1 << (timer + shift);
                break;
 
        case MFGPT_EVENT_IRQ:
-               msr = MFGPT_IRQ_MSR;
+               msr = MSR_MFGPT_IRQ;
                mask = 1 << (timer + shift);
                break;
 
@@ -155,6 +155,7 @@ int geode_mfgpt_toggle_event(int timer, int cmp, int event, int enable)
        wrmsr(msr, value, dummy);
        return 0;
 }
+EXPORT_SYMBOL_GPL(geode_mfgpt_toggle_event);
 
 int geode_mfgpt_set_irq(int timer, int cmp, int irq, int enable)
 {
@@ -222,6 +223,7 @@ int geode_mfgpt_alloc_timer(int timer, int domain)
        /* No timers available - too bad */
        return -1;
 }
+EXPORT_SYMBOL_GPL(geode_mfgpt_alloc_timer);
 
 
 #ifdef CONFIG_GEODE_MFGPT_TIMER
@@ -364,7 +366,8 @@ int __init mfgpt_timer_setup(void)
        geode_mfgpt_write(mfgpt_event_clock, MFGPT_REG_SETUP, val);
 
        /* Set up the clock event */
-       mfgpt_clockevent.mult = div_sc(MFGPT_HZ, NSEC_PER_SEC, 32);
+       mfgpt_clockevent.mult = div_sc(MFGPT_HZ, NSEC_PER_SEC,
+                                      mfgpt_clockevent.shift);
        mfgpt_clockevent.min_delta_ns = clockevent_delta2ns(0xF,
                        &mfgpt_clockevent);
        mfgpt_clockevent.max_delta_ns = clockevent_delta2ns(0xFFFE,