Let the calibration code fill in calibration_result directly and
move the variable on top of the file.

Fixup a printk w/o log level while at it.

Signed-off-by: Thomas Gleixner <[EMAIL PROTECTED]>
Signed-off-by: Chris Wright <[EMAIL PROTECTED]>
Signed-off-by: Ingo Molnar <[EMAIL PROTECTED]>

---
 arch/x86_64/kernel/apic.c |   15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

Index: linux-2.6.22-rc6-mm/arch/x86_64/kernel/apic.c
===================================================================
--- linux-2.6.22-rc6-mm.orig/arch/x86_64/kernel/apic.c  2007-07-15 
17:40:05.000000000 +0200
+++ linux-2.6.22-rc6-mm/arch/x86_64/kernel/apic.c       2007-07-15 
17:48:57.000000000 +0200
@@ -56,6 +56,8 @@ static struct resource lapic_resource = 
        .flags = IORESOURCE_MEM | IORESOURCE_BUSY,
 };
 
+static unsigned int calibration_result;
+
 /*
  * cpu_mask that denotes the CPUs that needs timer interrupt coming in as
  * IPIs in place of local APIC timers
@@ -822,7 +824,7 @@ static void setup_APIC_timer(unsigned in
 
 #define TICK_COUNT 100000000
 
-static int __init calibrate_APIC_clock(void)
+static void __init calibrate_APIC_clock(void)
 {
        unsigned apic, apic_start;
        unsigned long tsc, tsc_start;
@@ -856,17 +858,14 @@ static int __init calibrate_APIC_clock(v
                result = (apic_start - apic) * 1000L * tsc_khz /
                                        (tsc - tsc_start);
        }
-       printk("result %d\n", result);
-
+       printk(KERN_DEBUG "APIC timer calibration result %d\n", result);
 
        printk(KERN_INFO "Detected %d.%03d MHz APIC timer.\n",
                result / 1000 / 1000, result / 1000 % 1000);
 
-       return result * APIC_DIVISOR / HZ;
+       calibration_result = result * APIC_DIVISOR / HZ;
 }
 
-static unsigned int calibration_result;
-
 void __init setup_boot_APIC_clock (void)
 {
        if (disable_apic_timer) {
@@ -879,7 +878,7 @@ void __init setup_boot_APIC_clock (void)
 
        local_irq_disable();
 
-       calibration_result = calibrate_APIC_clock();
+       calibrate_APIC_clock();
        /*
         * Now set up the timer for real.
         */
@@ -986,8 +985,6 @@ void setup_APIC_extended_lvt(unsigned ch
        apic_write(reg, v);
 }
 
-#undef APIC_DIVISOR
-
 /*
  * Local timer interrupt handler. It does both profiling and
  * process statistics/rescheduling.

-- 

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to