diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
commit | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (patch) | |
tree | 0bba044c4ce775e45a88a51686b5d9f90697ea9d /include/asm-mips/time.h |
Linux-2.6.12-rc2v2.6.12-rc2
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.
Let it rip!
Diffstat (limited to 'include/asm-mips/time.h')
-rw-r--r-- | include/asm-mips/time.h | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/include/asm-mips/time.h b/include/asm-mips/time.h new file mode 100644 index 000000000000..e22a20665871 --- /dev/null +++ b/include/asm-mips/time.h | |||
@@ -0,0 +1,96 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2001, 2002, MontaVista Software Inc. | ||
3 | * Author: Jun Sun, jsun@mvista.com or jsun@junsun.net | ||
4 | * Copyright (c) 2003 Maciej W. Rozycki | ||
5 | * | ||
6 | * include/asm-mips/time.h | ||
7 | * header file for the new style time.c file and time services. | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify it | ||
10 | * under the terms of the GNU General Public License as published by the | ||
11 | * Free Software Foundation; either version 2 of the License, or (at your | ||
12 | * option) any later version. | ||
13 | * | ||
14 | * Please refer to Documentation/mips/time.README. | ||
15 | */ | ||
16 | #ifndef _ASM_TIME_H | ||
17 | #define _ASM_TIME_H | ||
18 | |||
19 | #include <linux/interrupt.h> | ||
20 | #include <linux/linkage.h> | ||
21 | #include <linux/ptrace.h> | ||
22 | #include <linux/rtc.h> | ||
23 | |||
24 | /* | ||
25 | * RTC ops. By default, they point to no-RTC functions. | ||
26 | * rtc_get_time - mktime(year, mon, day, hour, min, sec) in seconds. | ||
27 | * rtc_set_time - reverse the above translation and set time to RTC. | ||
28 | * rtc_set_mmss - similar to rtc_set_time, but only min and sec need | ||
29 | * to be set. Used by RTC sync-up. | ||
30 | */ | ||
31 | extern unsigned long (*rtc_get_time)(void); | ||
32 | extern int (*rtc_set_time)(unsigned long); | ||
33 | extern int (*rtc_set_mmss)(unsigned long); | ||
34 | |||
35 | /* | ||
36 | * Timer interrupt functions. | ||
37 | * mips_timer_state is needed for high precision timer calibration. | ||
38 | * mips_timer_ack may be NULL if the interrupt is self-recoverable. | ||
39 | */ | ||
40 | extern int (*mips_timer_state)(void); | ||
41 | extern void (*mips_timer_ack)(void); | ||
42 | |||
43 | /* | ||
44 | * High precision timer functions. | ||
45 | * If mips_hpt_read is NULL, an R4k-compatible timer setup is attempted. | ||
46 | */ | ||
47 | extern unsigned int (*mips_hpt_read)(void); | ||
48 | extern void (*mips_hpt_init)(unsigned int); | ||
49 | |||
50 | /* | ||
51 | * to_tm() converts system time back to (year, mon, day, hour, min, sec). | ||
52 | * It is intended to help implement rtc_set_time() functions. | ||
53 | * Copied from PPC implementation. | ||
54 | */ | ||
55 | extern void to_tm(unsigned long tim, struct rtc_time *tm); | ||
56 | |||
57 | /* | ||
58 | * do_gettimeoffset(). By default, this func pointer points to | ||
59 | * do_null_gettimeoffset(), which leads to the same resolution as HZ. | ||
60 | * Higher resolution versions are available, which give ~1us resolution. | ||
61 | */ | ||
62 | extern unsigned long (*do_gettimeoffset)(void); | ||
63 | |||
64 | /* | ||
65 | * high-level timer interrupt routines. | ||
66 | */ | ||
67 | extern irqreturn_t timer_interrupt(int irq, void *dev_id, struct pt_regs *regs); | ||
68 | |||
69 | /* | ||
70 | * the corresponding low-level timer interrupt routine. | ||
71 | */ | ||
72 | extern asmlinkage void ll_timer_interrupt(int irq, struct pt_regs *regs); | ||
73 | |||
74 | /* | ||
75 | * profiling and process accouting is done separately in local_timer_interrupt | ||
76 | */ | ||
77 | extern void local_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs); | ||
78 | extern asmlinkage void ll_local_timer_interrupt(int irq, struct pt_regs *regs); | ||
79 | |||
80 | /* | ||
81 | * board specific routines required by time_init(). | ||
82 | * board_time_init is defaulted to NULL and can remain so. | ||
83 | * board_timer_setup must be setup properly in machine setup routine. | ||
84 | */ | ||
85 | struct irqaction; | ||
86 | extern void (*board_time_init)(void); | ||
87 | extern void (*board_timer_setup)(struct irqaction *irq); | ||
88 | |||
89 | /* | ||
90 | * mips_hpt_frequency - must be set if you intend to use an R4k-compatible | ||
91 | * counter as a timer interrupt source; otherwise it can be set up | ||
92 | * automagically with an aid of mips_timer_state. | ||
93 | */ | ||
94 | extern unsigned int mips_hpt_frequency; | ||
95 | |||
96 | #endif /* _ASM_TIME_H */ | ||