diff options
author | Andres Salomon <dilinger@queued.net> | 2007-10-12 17:04:06 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@inhelltoy.tec.linutronix.de> | 2007-10-12 17:04:06 -0400 |
commit | 83d7384f8d4aa216b49cf9cb286ea743054b119f (patch) | |
tree | 9f56bf83bbbb0dc7056c3dd5e11b1d0ab0d4cefb /arch/x86/kernel/geode_32.c | |
parent | 5fa3a246ea2e1be2ffaa01343bc183c8c0bfa472 (diff) |
x86: Geode Multi-Function General Purpose Timers support
This adds support for Multi-Function General Purpose Timers. It detects the
available timers during southbridge init, and provides an API for allocating
and setting the timers. They're higher resolution than the standard PIT, so
the MFGPTs come in handy for quite a few things.
Note that we never clobber the timers that the BIOS might have opted to use;
we just check for unused timers.
Signed-off-by: Jordan Crouse <jordan.crouse@amd.com>
Signed-off-by: Andres Salomon <dilinger@debian.org>
Cc: Andi Kleen <ak@suse.de>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/kernel/geode_32.c')
-rw-r--r-- | arch/x86/kernel/geode_32.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/kernel/geode_32.c b/arch/x86/kernel/geode_32.c index 41e8aec4c61d..f12d8c5d9809 100644 --- a/arch/x86/kernel/geode_32.c +++ b/arch/x86/kernel/geode_32.c | |||
@@ -145,10 +145,14 @@ EXPORT_SYMBOL_GPL(geode_gpio_setup_event); | |||
145 | 145 | ||
146 | static int __init geode_southbridge_init(void) | 146 | static int __init geode_southbridge_init(void) |
147 | { | 147 | { |
148 | int timers; | ||
149 | |||
148 | if (!is_geode()) | 150 | if (!is_geode()) |
149 | return -ENODEV; | 151 | return -ENODEV; |
150 | 152 | ||
151 | init_lbars(); | 153 | init_lbars(); |
154 | timers = geode_mfgpt_detect(); | ||
155 | printk(KERN_INFO "geode: %d MFGPT timers available.\n", timers); | ||
152 | return 0; | 156 | return 0; |
153 | } | 157 | } |
154 | 158 | ||