Commit | Line | Data |
---|---|---|
940f6b48 RB |
1 | /* |
2 | * This file is subject to the terms and conditions of the GNU General Public | |
3 | * License. See the file "COPYING" in the main directory of this archive | |
4 | * for more details. | |
5 | * | |
6 | * Copyright (C) 2007 by Ralf Baechle | |
7 | */ | |
8 | ||
9 | static cycle_t c0_hpt_read(void) | |
10 | { | |
11 | return read_c0_count(); | |
12 | } | |
13 | ||
14 | static struct clocksource clocksource_mips = { | |
15 | .name = "MIPS", | |
16 | .read = c0_hpt_read, | |
17 | .mask = CLOCKSOURCE_MASK(32), | |
18 | .flags = CLOCK_SOURCE_IS_CONTINUOUS, | |
19 | }; | |
20 | ||
21 | static void __init init_mips_clocksource(void) | |
22 | { | |
23 | /* Calclate a somewhat reasonable rating value */ | |
24 | clocksource_mips.rating = 200 + mips_hpt_frequency / 10000000; | |
25 | ||
26 | clocksource_set_clock(&clocksource_mips, mips_hpt_frequency); | |
27 | ||
28 | clocksource_register(&clocksource_mips); | |
29 | } |