2005-03-08 03:29:48

by Christoph Lameter

[permalink] [raw]
Subject: Support HPET with a single timer for system time

This patch removes the check for the existence of multiple HPET timers.
It allows the use of HPET with only a single timer for system time if
HPET_EMULATE_RTC is not set.

Signed-off-by: Christoph Lameter <[email protected]>
Signed-off-by: Shai Fultheim <[email protected]>

Index: linux-2.6.10/arch/i386/kernel/time_hpet.c
===================================================================
--- linux-2.6.10.orig/arch/i386/kernel/time_hpet.c 2005-02-28 13:04:28.000000000 -0800
+++ linux-2.6.10/arch/i386/kernel/time_hpet.c 2005-03-01 12:11:18.702195056 -0800
@@ -121,11 +121,16 @@ int __init hpet_enable(void)
id = hpet_readl(HPET_ID);

/*
- * We are checking for value '1' or more in number field.
- * So, we are OK with HPET_EMULATE_RTC part too, where we need
- * to have atleast 2 timers.
+ * We are checking for value '1' or more in number field if
+ * CONFIG_HPET_EMULATE_RTC is set because we will need an
+ * additional timer for RTC emulation.
+ * However, we can do with one timer otherwise using the
+ * the single HPET timer for system time.
*/
- if (!(id & HPET_ID_NUMBER) ||
+ if (
+#ifdef CONFIG_HPET_EMULATE_RTC
+ !(id & HPET_ID_NUMBER) ||
+#endif
!(id & HPET_ID_LEGSUP))
return -1;