]> git.karo-electronics.de Git - mv-sheeva.git/commitdiff
ARM: omap: update clock source registration
authorRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 13 Dec 2010 13:18:44 +0000 (13:18 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Wed, 22 Dec 2010 22:44:34 +0000 (22:44 +0000)
In d7e81c2 (clocksource: Add clocksource_register_hz/khz interface) new
interfaces were added which simplify (and optimize) the selection of the
divisor shift/mult constants.  Switch over to using this new interface.

Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-omap1/time.c
arch/arm/mach-omap2/timer-gp.c
arch/arm/plat-omap/counter_32k.c

index 1be6a214d88de2d5cbc77dd259c84a42f7548f06..abb34ff2041bba2d4cb0e3a61a26c33adaffcea9 100644 (file)
@@ -208,7 +208,6 @@ static struct clocksource clocksource_mpu = {
        .rating         = 300,
        .read           = mpu_read,
        .mask           = CLOCKSOURCE_MASK(32),
-       .shift          = 24,
        .flags          = CLOCK_SOURCE_IS_CONTINUOUS,
 };
 
@@ -217,13 +216,10 @@ static void __init omap_init_clocksource(unsigned long rate)
        static char err[] __initdata = KERN_ERR
                        "%s: can't register clocksource!\n";
 
-       clocksource_mpu.mult
-               = clocksource_khz2mult(rate/1000, clocksource_mpu.shift);
-
        setup_irq(INT_TIMER2, &omap_mpu_timer2_irq);
        omap_mpu_timer_start(1, ~0, 1);
 
-       if (clocksource_register(&clocksource_mpu))
+       if (clocksource_register_hz(&clocksource_mpu, rate))
                printk(err, clocksource_mpu.name);
 }
 
index e13c29eecf2b54d3cdf17cdff24ea18c8f2f7ee9..a7816dbdc6b17ca952739e48c0cd2d06dcf57af6 100644 (file)
@@ -195,7 +195,6 @@ static struct clocksource clocksource_gpt = {
        .rating         = 300,
        .read           = clocksource_read_cycles,
        .mask           = CLOCKSOURCE_MASK(32),
-       .shift          = 24,
        .flags          = CLOCK_SOURCE_IS_CONTINUOUS,
 };
 
@@ -220,9 +219,7 @@ static void __init omap2_gp_clocksource_init(void)
 
        omap_dm_timer_set_load_start(gpt, 1, 0);
 
-       clocksource_gpt.mult =
-               clocksource_khz2mult(tick_rate/1000, clocksource_gpt.shift);
-       if (clocksource_register(&clocksource_gpt))
+       if (clocksource_register_hz(&clocksource_gpt, tick_rate))
                printk(err2, clocksource_gpt.name);
 }
 #endif
index 155fe43a672bc47fde734dc76e10fb844e9b22e5..8f149f51cb4626daa59f266534d920f94d84fdd3 100644 (file)
@@ -102,7 +102,6 @@ static struct clocksource clocksource_32k = {
        .rating         = 250,
        .read           = omap_32k_read_dummy,
        .mask           = CLOCKSOURCE_MASK(32),
-       .shift          = 10,
        .flags          = CLOCK_SOURCE_IS_CONTINUOUS,
 };
 
@@ -167,12 +166,9 @@ static int __init omap_init_clocksource_32k(void)
                if (sync_32k_ick)
                        clk_enable(sync_32k_ick);
 
-               clocksource_32k.mult = clocksource_hz2mult(32768,
-                                           clocksource_32k.shift);
-
                offset_32k = clocksource_32k.read(&clocksource_32k);
 
-               if (clocksource_register(&clocksource_32k))
+               if (clocksource_register_hz(&clocksource_32k, 32768))
                        printk(err, clocksource_32k.name);
        }
        return 0;