diff options
author | Jan Glauber <jan.glauber@de.ibm.com> | 2006-02-01 06:06:34 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-02-01 11:53:24 -0500 |
commit | 3633b0475eb269dcb85923b23b321505f06b9488 (patch) | |
tree | 48e4f85a5f02ba4c56ebc7acbf963372f5f5f573 /drivers/char/hangcheck-timer.c | |
parent | 32f65f274602b43e8f48314e9769f254da1d8323 (diff) |
[PATCH] s390: hangcheck timer support
Remove useless s390 define from hangcheck-timer, remove wrong definition of a
TOD second and other s390 ifdefs. Use monotonic_clock instead.
Add hangcheck-timer option, copied from drivers/char/Kconfig. This is ugly
but unless we have a big Kconfig cleanup we cannot include
drivers/char/Kconfig...
Signed-off-by: Jan Glauber <jan.glauber@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/char/hangcheck-timer.c')
-rw-r--r-- | drivers/char/hangcheck-timer.c | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/drivers/char/hangcheck-timer.c b/drivers/char/hangcheck-timer.c index 40a67c86420c..ac626418b329 100644 --- a/drivers/char/hangcheck-timer.c +++ b/drivers/char/hangcheck-timer.c | |||
@@ -117,12 +117,9 @@ __setup("hcheck_reboot", hangcheck_parse_reboot); | |||
117 | __setup("hcheck_dump_tasks", hangcheck_parse_dump_tasks); | 117 | __setup("hcheck_dump_tasks", hangcheck_parse_dump_tasks); |
118 | #endif /* not MODULE */ | 118 | #endif /* not MODULE */ |
119 | 119 | ||
120 | #if defined(CONFIG_X86) | 120 | #if defined(CONFIG_X86) || defined(CONFIG_S390) |
121 | # define HAVE_MONOTONIC | 121 | # define HAVE_MONOTONIC |
122 | # define TIMER_FREQ 1000000000ULL | 122 | # define TIMER_FREQ 1000000000ULL |
123 | #elif defined(CONFIG_S390) | ||
124 | /* FA240000 is 1 Second in the IBM time universe (Page 4-38 Principles of Op for zSeries */ | ||
125 | # define TIMER_FREQ 0xFA240000ULL | ||
126 | #elif defined(CONFIG_IA64) | 123 | #elif defined(CONFIG_IA64) |
127 | # define TIMER_FREQ ((unsigned long long)local_cpu_data->itc_freq) | 124 | # define TIMER_FREQ ((unsigned long long)local_cpu_data->itc_freq) |
128 | #elif defined(CONFIG_PPC64) | 125 | #elif defined(CONFIG_PPC64) |
@@ -134,12 +131,7 @@ extern unsigned long long monotonic_clock(void); | |||
134 | #else | 131 | #else |
135 | static inline unsigned long long monotonic_clock(void) | 132 | static inline unsigned long long monotonic_clock(void) |
136 | { | 133 | { |
137 | # ifdef __s390__ | ||
138 | /* returns the TOD. see 4-38 Principles of Op of zSeries */ | ||
139 | return get_clock(); | ||
140 | # else | ||
141 | return get_cycles(); | 134 | return get_cycles(); |
142 | # endif /* __s390__ */ | ||
143 | } | 135 | } |
144 | #endif /* HAVE_MONOTONIC */ | 136 | #endif /* HAVE_MONOTONIC */ |
145 | 137 | ||
@@ -188,8 +180,6 @@ static int __init hangcheck_init(void) | |||
188 | VERSION_STR, hangcheck_tick, hangcheck_margin); | 180 | VERSION_STR, hangcheck_tick, hangcheck_margin); |
189 | #if defined (HAVE_MONOTONIC) | 181 | #if defined (HAVE_MONOTONIC) |
190 | printk("Hangcheck: Using monotonic_clock().\n"); | 182 | printk("Hangcheck: Using monotonic_clock().\n"); |
191 | #elif defined(__s390__) | ||
192 | printk("Hangcheck: Using TOD.\n"); | ||
193 | #else | 183 | #else |
194 | printk("Hangcheck: Using get_cycles().\n"); | 184 | printk("Hangcheck: Using get_cycles().\n"); |
195 | #endif /* HAVE_MONOTONIC */ | 185 | #endif /* HAVE_MONOTONIC */ |