diff options
Diffstat (limited to 'arch/mips/kernel/csrc-gic.c')
-rw-r--r-- | arch/mips/kernel/csrc-gic.c | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/arch/mips/kernel/csrc-gic.c b/arch/mips/kernel/csrc-gic.c index 5dca24bce51b..e02620901117 100644 --- a/arch/mips/kernel/csrc-gic.c +++ b/arch/mips/kernel/csrc-gic.c | |||
@@ -5,23 +5,14 @@ | |||
5 | * | 5 | * |
6 | * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved. | 6 | * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved. |
7 | */ | 7 | */ |
8 | #include <linux/clocksource.h> | ||
9 | #include <linux/init.h> | 8 | #include <linux/init.h> |
9 | #include <linux/time.h> | ||
10 | 10 | ||
11 | #include <asm/time.h> | ||
12 | #include <asm/gic.h> | 11 | #include <asm/gic.h> |
13 | 12 | ||
14 | static cycle_t gic_hpt_read(struct clocksource *cs) | 13 | static cycle_t gic_hpt_read(struct clocksource *cs) |
15 | { | 14 | { |
16 | unsigned int hi, hi2, lo; | 15 | return gic_read_count(); |
17 | |||
18 | do { | ||
19 | GICREAD(GIC_REG(SHARED, GIC_SH_COUNTER_63_32), hi); | ||
20 | GICREAD(GIC_REG(SHARED, GIC_SH_COUNTER_31_00), lo); | ||
21 | GICREAD(GIC_REG(SHARED, GIC_SH_COUNTER_63_32), hi2); | ||
22 | } while (hi2 != hi); | ||
23 | |||
24 | return (((cycle_t) hi) << 32) + lo; | ||
25 | } | 16 | } |
26 | 17 | ||
27 | static struct clocksource gic_clocksource = { | 18 | static struct clocksource gic_clocksource = { |