Cleanup HPET related boot options in x86-64 and deprecate 'nohpet'.

Signed-off-by: Venkatesh Pallipadi <[EMAIL PROTECTED]>

Index: linux-2.6.21-rc-mm/arch/x86_64/kernel/hpet.c
===================================================================
--- linux-2.6.21-rc-mm.orig/arch/x86_64/kernel/hpet.c
+++ linux-2.6.21-rc-mm/arch/x86_64/kernel/hpet.c
@@ -19,6 +19,7 @@
 #include <asm/idle.h>
 
 int nohpet __initdata;
+static int nohpetforce __initdata;
 
 unsigned long hpet_address;
 unsigned long hpet_period;     /* fsecs / HPET clock */
@@ -217,6 +218,19 @@ static int __init nohpet_setup(char *s)
 
 __setup("nohpet", nohpet_setup);
 
+static int __init hpet_setup(char *str)
+{
+       if (str) {
+               if (!strncmp("disable", str, 7))
+                       nohpet = 1;
+               if (!strncmp("noforce", str, 7))
+                       nohpetforce = 1;
+       }
+       return 1;
+}
+
+__setup("hpet=", hpet_setup);
+
 /* Clocksource */
 #define HPET_MASK      0xFFFFFFFF
 #define HPET_SHIFT     22
@@ -722,7 +736,7 @@ static int __init init_hpet_generic_time
        if (nohpet)
                return -ENODEV;
 
-       if (!hpet_address) {
+       if (!hpet_address && !nohpetforce) {
                hpet_address = force_hpet_address;
        } else {
                hpet_timer_stop();
Index: linux-2.6.21-rc-mm/Documentation/kernel-parameters.txt
===================================================================
--- linux-2.6.21-rc-mm.orig/Documentation/kernel-parameters.txt
+++ linux-2.6.21-rc-mm/Documentation/kernel-parameters.txt
@@ -371,8 +371,12 @@ and is between 256 and 4096 characters. 
                        over the 8254 in addition to over the IO-APIC. The
                        kernel tries to set a sensible default.
 
-       hpet=           [IA-32,HPET] option to disable HPET and use PIT.
-                       Format: disable
+       hpet=           [IA-32/X86_64,HPET] option to disable HPET and use PIT.
+                       Format: disable|noforce
+                       disable - disables HPET timer detection and usage
+                       noforce - disables HPET timer detection and usage when
+                                 it is not explicitly enabled in BIOS. i.e,
+                                 HPET is not enabled based on quirks.
 
        cm206=          [HW,CD]
                        Format: { auto | [<io>,][<irq>] }
Index: linux-2.6.21-rc-mm/Documentation/feature-removal-schedule.txt
===================================================================
--- linux-2.6.21-rc-mm.orig/Documentation/feature-removal-schedule.txt
+++ linux-2.6.21-rc-mm/Documentation/feature-removal-schedule.txt
@@ -316,3 +316,12 @@ Why:       Unmaintained for years, superceded 
 Who:   Jeff Garzik <[EMAIL PROTECTED]>
 
 ---------------------------
+
+What:  X86-64 "nohpet" boot option
+When:  May 2007
+Why:   nohpet is not documented boot option in x86-64. There is a documented
+       boot option in i386 for similar purpose (hpet=), which is now in
+       x86-64 as well.
+Who:   Venkatesh Pallipadi <[EMAIL PROTECTED]>
+
+---------------------------
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to