Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'soc/sched_clock' into next/soc

From Stephen Boyd:
* soc/sched_clock:
ARM: versatile: Switch to sched_clock_register()
ARM: orion: Switch to sched_clock_register()
ARM: OMAP: Switch to sched_clock_register()
ARM: iop: Switch to sched_clock_register()
ARM: u300: Switch to sched_clock_register()
ARM: sa1100: Switch to sched_clock_register()
ARM: pxa: Switch to sched_clock_register()
ARM: OMAP2+: Switch to sched_clock_register()
ARM: OMAP1: Switch to sched_clock_register()
ARM: msm: Switch to sched_clock_register()
ARM: mmp: Switch to sched_clock_register()
ARM: IXP4xx: Switch to sched_clock_register()
ARM: integrator: Switch to sched_clock_register()
ARM: imx: Switch to sched_clock_register()
ARM: davinci: Switch to sched_clock_register()
ARM: clps711x: Switch to sched_clock_register()
ARM: timer-sp: Switch to sched_clock_register()

Signed-off-by: Kevin Hilman <khilman@linaro.org>

+34 -34
+2 -2
arch/arm/common/timer-sp.c
··· 66 66 67 67 static void __iomem *sched_clock_base; 68 68 69 - static u32 sp804_read(void) 69 + static u64 notrace sp804_read(void) 70 70 { 71 71 return ~readl_relaxed(sched_clock_base + TIMER_VALUE); 72 72 } ··· 104 104 105 105 if (use_sched_clock) { 106 106 sched_clock_base = base; 107 - setup_sched_clock(sp804_read, 32, rate); 107 + sched_clock_register(sp804_read, 32, rate); 108 108 } 109 109 } 110 110
+2 -2
arch/arm/mach-clps711x/common.c
··· 259 259 } while (1); 260 260 } 261 261 262 - static u32 notrace clps711x_sched_clock_read(void) 262 + static u64 notrace clps711x_sched_clock_read(void) 263 263 { 264 264 return ~readw_relaxed(CLPS711X_VIRT_BASE + TC1D); 265 265 } ··· 366 366 tmp = clps_readl(SYSCON1) & ~(SYSCON1_TC1S | SYSCON1_TC1M); 367 367 clps_writel(tmp, SYSCON1); 368 368 369 - setup_sched_clock(clps711x_sched_clock_read, 16, timl); 369 + sched_clock_register(clps711x_sched_clock_read, 16, timl); 370 370 371 371 clocksource_mmio_init(CLPS711X_VIRT_BASE + TC1D, 372 372 "clps711x_clocksource", timl, 300, 16,
+2 -2
arch/arm/mach-davinci/time.c
··· 285 285 /* 286 286 * Overwrite weak default sched_clock with something more precise 287 287 */ 288 - static u32 notrace davinci_read_sched_clock(void) 288 + static u64 notrace davinci_read_sched_clock(void) 289 289 { 290 290 return timer32_read(&timers[TID_CLOCKSOURCE]); 291 291 } ··· 391 391 davinci_clock_tick_rate)) 392 392 printk(err, clocksource_davinci.name); 393 393 394 - setup_sched_clock(davinci_read_sched_clock, 32, 394 + sched_clock_register(davinci_read_sched_clock, 32, 395 395 davinci_clock_tick_rate); 396 396 397 397 /* setup clockevent */
+2 -2
arch/arm/mach-imx/time.c
··· 111 111 112 112 static void __iomem *sched_clock_reg; 113 113 114 - static u32 notrace mxc_read_sched_clock(void) 114 + static u64 notrace mxc_read_sched_clock(void) 115 115 { 116 116 return sched_clock_reg ? __raw_readl(sched_clock_reg) : 0; 117 117 } ··· 123 123 124 124 sched_clock_reg = reg; 125 125 126 - setup_sched_clock(mxc_read_sched_clock, 32, c); 126 + sched_clock_register(mxc_read_sched_clock, 32, c); 127 127 return clocksource_mmio_init(reg, "mxc_timer1", c, 200, 32, 128 128 clocksource_mmio_readl_up); 129 129 }
+2 -2
arch/arm/mach-integrator/integrator_ap.c
··· 277 277 278 278 static unsigned long timer_reload; 279 279 280 - static u32 notrace integrator_read_sched_clock(void) 280 + static u64 notrace integrator_read_sched_clock(void) 281 281 { 282 282 return -readl((void __iomem *) TIMER2_VA_BASE + TIMER_VALUE); 283 283 } ··· 298 298 299 299 clocksource_mmio_init(base + TIMER_VALUE, "timer2", 300 300 rate, 200, 16, clocksource_mmio_readl_down); 301 - setup_sched_clock(integrator_read_sched_clock, 16, rate); 301 + sched_clock_register(integrator_read_sched_clock, 16, rate); 302 302 } 303 303 304 304 static void __iomem * clkevt_base;
+2 -2
arch/arm/mach-ixp4xx/common.c
··· 475 475 /* 476 476 * sched_clock() 477 477 */ 478 - static u32 notrace ixp4xx_read_sched_clock(void) 478 + static u64 notrace ixp4xx_read_sched_clock(void) 479 479 { 480 480 return *IXP4XX_OSTS; 481 481 } ··· 493 493 EXPORT_SYMBOL(ixp4xx_timer_freq); 494 494 static void __init ixp4xx_clocksource_init(void) 495 495 { 496 - setup_sched_clock(ixp4xx_read_sched_clock, 32, ixp4xx_timer_freq); 496 + sched_clock_register(ixp4xx_read_sched_clock, 32, ixp4xx_timer_freq); 497 497 498 498 clocksource_mmio_init(NULL, "OSTS", ixp4xx_timer_freq, 200, 32, 499 499 ixp4xx_clocksource_read);
+2 -2
arch/arm/mach-mmp/time.c
··· 61 61 return __raw_readl(mmp_timer_base + TMR_CVWR(1)); 62 62 } 63 63 64 - static u32 notrace mmp_read_sched_clock(void) 64 + static u64 notrace mmp_read_sched_clock(void) 65 65 { 66 66 return timer_read(); 67 67 } ··· 195 195 { 196 196 timer_config(); 197 197 198 - setup_sched_clock(mmp_read_sched_clock, 32, CLOCK_TICK_RATE); 198 + sched_clock_register(mmp_read_sched_clock, 32, CLOCK_TICK_RATE); 199 199 200 200 ckevt.cpumask = cpumask_of(0); 201 201
+2 -2
arch/arm/mach-msm/timer.c
··· 187 187 .notifier_call = msm_timer_cpu_notify, 188 188 }; 189 189 190 - static notrace u32 msm_sched_clock_read(void) 190 + static u64 notrace msm_sched_clock_read(void) 191 191 { 192 192 return msm_clocksource.read(&msm_clocksource); 193 193 } ··· 229 229 res = clocksource_register_hz(cs, dgt_hz); 230 230 if (res) 231 231 pr_err("clocksource_register failed\n"); 232 - setup_sched_clock(msm_sched_clock_read, sched_bits, dgt_hz); 232 + sched_clock_register(msm_sched_clock_read, sched_bits, dgt_hz); 233 233 } 234 234 235 235 #ifdef CONFIG_OF
+2 -2
arch/arm/mach-omap1/time.c
··· 181 181 * --------------------------------------------------------------------------- 182 182 */ 183 183 184 - static u32 notrace omap_mpu_read_sched_clock(void) 184 + static u64 notrace omap_mpu_read_sched_clock(void) 185 185 { 186 186 return ~omap_mpu_timer_read(1); 187 187 } ··· 193 193 "%s: can't register clocksource!\n"; 194 194 195 195 omap_mpu_timer_start(1, ~0, 1); 196 - setup_sched_clock(omap_mpu_read_sched_clock, 32, rate); 196 + sched_clock_register(omap_mpu_read_sched_clock, 32, rate); 197 197 198 198 if (clocksource_mmio_init(&timer->read_tim, "mpu_timer2", rate, 199 199 300, 32, clocksource_mmio_readl_down))
+2 -2
arch/arm/mach-omap2/timer.c
··· 379 379 .flags = CLOCK_SOURCE_IS_CONTINUOUS, 380 380 }; 381 381 382 - static u32 notrace dmtimer_read_sched_clock(void) 382 + static u64 notrace dmtimer_read_sched_clock(void) 383 383 { 384 384 if (clksrc.reserved) 385 385 return __omap_dm_timer_read_counter(&clksrc, ··· 471 471 __omap_dm_timer_load_start(&clksrc, 472 472 OMAP_TIMER_CTRL_ST | OMAP_TIMER_CTRL_AR, 0, 473 473 OMAP_TIMER_NONPOSTED); 474 - setup_sched_clock(dmtimer_read_sched_clock, 32, clksrc.rate); 474 + sched_clock_register(dmtimer_read_sched_clock, 32, clksrc.rate); 475 475 476 476 if (clocksource_register_hz(&clocksource_gpt, clksrc.rate)) 477 477 pr_err("Could not register clocksource %s\n",
+2 -2
arch/arm/mach-pxa/time.c
··· 33 33 * calls to sched_clock() which should always be the case in practice. 34 34 */ 35 35 36 - static u32 notrace pxa_read_sched_clock(void) 36 + static u64 notrace pxa_read_sched_clock(void) 37 37 { 38 38 return readl_relaxed(OSCR); 39 39 } ··· 149 149 writel_relaxed(0, OIER); 150 150 writel_relaxed(OSSR_M0 | OSSR_M1 | OSSR_M2 | OSSR_M3, OSSR); 151 151 152 - setup_sched_clock(pxa_read_sched_clock, 32, clock_tick_rate); 152 + sched_clock_register(pxa_read_sched_clock, 32, clock_tick_rate); 153 153 154 154 ckevt_pxa_osmr0.cpumask = cpumask_of(0); 155 155
+2 -2
arch/arm/mach-sa1100/time.c
··· 20 20 #include <mach/hardware.h> 21 21 #include <mach/irqs.h> 22 22 23 - static u32 notrace sa1100_read_sched_clock(void) 23 + static u64 notrace sa1100_read_sched_clock(void) 24 24 { 25 25 return readl_relaxed(OSCR); 26 26 } ··· 122 122 writel_relaxed(0, OIER); 123 123 writel_relaxed(OSSR_M0 | OSSR_M1 | OSSR_M2 | OSSR_M3, OSSR); 124 124 125 - setup_sched_clock(sa1100_read_sched_clock, 32, 3686400); 125 + sched_clock_register(sa1100_read_sched_clock, 32, 3686400); 126 126 127 127 ckevt_sa1100_osmr0.cpumask = cpumask_of(0); 128 128
+2 -2
arch/arm/mach-u300/timer.c
··· 341 341 * stamp. (Inspired by OMAP implementation.) 342 342 */ 343 343 344 - static u32 notrace u300_read_sched_clock(void) 344 + static u64 notrace u300_read_sched_clock(void) 345 345 { 346 346 return readl(u300_timer_base + U300_TIMER_APP_GPT2CC); 347 347 } ··· 379 379 clk_prepare_enable(clk); 380 380 rate = clk_get_rate(clk); 381 381 382 - setup_sched_clock(u300_read_sched_clock, 32, rate); 382 + sched_clock_register(u300_read_sched_clock, 32, rate); 383 383 384 384 u300_delay_timer.read_current_timer = &u300_read_current_timer; 385 385 u300_delay_timer.freq = rate;
+2 -2
arch/arm/plat-iop/time.c
··· 54 54 /* 55 55 * IOP sched_clock() implementation via its clocksource. 56 56 */ 57 - static u32 notrace iop_read_sched_clock(void) 57 + static u64 notrace iop_read_sched_clock(void) 58 58 { 59 59 return 0xffffffffu - read_tcr1(); 60 60 } ··· 142 142 { 143 143 u32 timer_ctl; 144 144 145 - setup_sched_clock(iop_read_sched_clock, 32, tick_rate); 145 + sched_clock_register(iop_read_sched_clock, 32, tick_rate); 146 146 147 147 ticks_per_jiffy = DIV_ROUND_CLOSEST(tick_rate, HZ); 148 148 iop_tick_rate = tick_rate;
+2 -2
arch/arm/plat-omap/counter_32k.c
··· 38 38 */ 39 39 static void __iomem *sync32k_cnt_reg; 40 40 41 - static u32 notrace omap_32k_read_sched_clock(void) 41 + static u64 notrace omap_32k_read_sched_clock(void) 42 42 { 43 43 return sync32k_cnt_reg ? __raw_readl(sync32k_cnt_reg) : 0; 44 44 } ··· 115 115 return ret; 116 116 } 117 117 118 - setup_sched_clock(omap_32k_read_sched_clock, 32, 32768); 118 + sched_clock_register(omap_32k_read_sched_clock, 32, 32768); 119 119 register_persistent_clock(NULL, omap_read_persistent_clock); 120 120 pr_info("OMAP clocksource: 32k_counter at 32768 Hz\n"); 121 121
+2 -2
arch/arm/plat-orion/time.c
··· 60 60 * at least 7.5ns (133MHz TCLK). 61 61 */ 62 62 63 - static u32 notrace orion_read_sched_clock(void) 63 + static u64 notrace orion_read_sched_clock(void) 64 64 { 65 65 return ~readl(timer_base + TIMER0_VAL_OFF); 66 66 } ··· 201 201 /* 202 202 * Set scale and timer for sched_clock. 203 203 */ 204 - setup_sched_clock(orion_read_sched_clock, 32, tclk); 204 + sched_clock_register(orion_read_sched_clock, 32, tclk); 205 205 206 206 /* 207 207 * Setup free-running clocksource timer (interrupts
+2 -2
arch/arm/plat-versatile/sched-clock.c
··· 26 26 27 27 static void __iomem *ctr; 28 28 29 - static u32 notrace versatile_read_sched_clock(void) 29 + static u64 notrace versatile_read_sched_clock(void) 30 30 { 31 31 if (ctr) 32 32 return readl(ctr); ··· 37 37 void __init versatile_sched_clock_init(void __iomem *reg, unsigned long rate) 38 38 { 39 39 ctr = reg; 40 - setup_sched_clock(versatile_read_sched_clock, 32, rate); 40 + sched_clock_register(versatile_read_sched_clock, 32, rate); 41 41 }