diff options
author | Steve French <sfrench@us.ibm.com> | 2006-02-01 15:16:53 -0500 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2006-02-01 15:16:53 -0500 |
commit | e6da74e1f20ea7822e52a9e4fbd3d25bd907e471 (patch) | |
tree | d9b3bc7e654fb788d1cf3a1759b1b3c74cc56a04 /drivers/char/hangcheck-timer.c | |
parent | 1877c9ea66a29563987f22d0a86c66f438a87ce2 (diff) | |
parent | 3c3b809e256c417847f1a96b2f9d9f66c7fcb02c (diff) |
Merge with /pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Signed-off-by: Steve French <sfrench@us.ibm.com>
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 */ |