Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
csrc-r4k.c
Go to the documentation of this file.
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 #include <linux/clocksource.h>
9 #include <linux/init.h>
10 
11 #include <asm/time.h>
12 
13 static cycle_t c0_hpt_read(struct clocksource *cs)
14 {
15  return read_c0_count();
16 }
17 
18 static struct clocksource clocksource_mips = {
19  .name = "MIPS",
20  .read = c0_hpt_read,
21  .mask = CLOCKSOURCE_MASK(32),
23 };
24 
26 {
28  return -ENXIO;
29 
30  /* Calculate a somewhat reasonable rating value */
31  clocksource_mips.rating = 200 + mips_hpt_frequency / 10000000;
32 
33  clocksource_register_hz(&clocksource_mips, mips_hpt_frequency);
34 
35  return 0;
36 }