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

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull timer fix from Thomas Gleixner:
"Just a simple revert of a new sched_clock implementation which turned
out to be buggy"

* 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
Revert "clocksource/drivers/tcb_clksrc: Use 32 bit tcb as sched_clock"

+1 -15
+1 -15
drivers/clocksource/tcb_clksrc.c
··· 10 10 #include <linux/io.h> 11 11 #include <linux/platform_device.h> 12 12 #include <linux/atmel_tc.h> 13 - #include <linux/sched_clock.h> 14 13 15 14 16 15 /* ··· 56 57 return (upper << 16) | lower; 57 58 } 58 59 59 - static u32 tc_get_cv32(void) 60 - { 61 - return __raw_readl(tcaddr + ATMEL_TC_REG(0, CV)); 62 - } 63 - 64 60 static u64 tc_get_cycles32(struct clocksource *cs) 65 61 { 66 - return tc_get_cv32(); 62 + return __raw_readl(tcaddr + ATMEL_TC_REG(0, CV)); 67 63 } 68 64 69 65 static struct clocksource clksrc = { ··· 68 74 .mask = CLOCKSOURCE_MASK(32), 69 75 .flags = CLOCK_SOURCE_IS_CONTINUOUS, 70 76 }; 71 - 72 - static u64 notrace tc_read_sched_clock(void) 73 - { 74 - return tc_get_cv32(); 75 - } 76 77 77 78 #ifdef CONFIG_GENERIC_CLOCKEVENTS 78 79 ··· 339 350 clksrc.read = tc_get_cycles32; 340 351 /* setup ony channel 0 */ 341 352 tcb_setup_single_chan(tc, best_divisor_idx); 342 - 343 - /* register sched_clock on chips with single 32 bit counter */ 344 - sched_clock_register(tc_read_sched_clock, 32, divided_rate); 345 353 } else { 346 354 /* tclib will give us three clocks no matter what the 347 355 * underlying platform supports.