[CPUFREQ] use an enum for speedstep processor identification
authorRusty Russell <rusty@rustcorp.com.au>
Tue, 17 Nov 2009 22:39:53 +0000 (14:39 -0800)
committerDave Jones <davej@redhat.com>
Tue, 24 Nov 2009 18:33:34 +0000 (13:33 -0500)
The "unsigned int processor" everywhere confused Rusty, leading to
breakage when he passed in smp_processor_id().

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Acked-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dave Jones <davej@redhat.com>
arch/x86/kernel/cpu/cpufreq/speedstep-ich.c
arch/x86/kernel/cpu/cpufreq/speedstep-lib.c
arch/x86/kernel/cpu/cpufreq/speedstep-lib.h
arch/x86/kernel/cpu/cpufreq/speedstep-smi.c

index 3ae5a7a..2ce8e0b 100644 (file)
@@ -39,7 +39,7 @@ static struct pci_dev *speedstep_chipset_dev;
 
 /* speedstep_processor
  */
-static unsigned int speedstep_processor;
+static enum speedstep_processor speedstep_processor;
 
 static u32 pmbase;
 
index f4c290b..ad0083a 100644 (file)
@@ -34,7 +34,7 @@ static int relaxed_check;
  *                   GET PROCESSOR CORE SPEED IN KHZ                 *
  *********************************************************************/
 
-static unsigned int pentium3_get_frequency(unsigned int processor)
+static unsigned int pentium3_get_frequency(enum speedstep_processor processor)
 {
        /* See table 14 of p3_ds.pdf and table 22 of 29834003.pdf */
        struct {
@@ -227,7 +227,7 @@ static unsigned int pentium4_get_frequency(void)
 
 
 /* Warning: may get called from smp_call_function_single. */
-unsigned int speedstep_get_frequency(unsigned int processor)
+unsigned int speedstep_get_frequency(enum speedstep_processor processor)
 {
        switch (processor) {
        case SPEEDSTEP_CPU_PCORE:
@@ -380,7 +380,7 @@ EXPORT_SYMBOL_GPL(speedstep_detect_processor);
  *                     DETECT SPEEDSTEP SPEEDS                       *
  *********************************************************************/
 
-unsigned int speedstep_get_freqs(unsigned int processor,
+unsigned int speedstep_get_freqs(enum speedstep_processor processor,
                                  unsigned int *low_speed,
                                  unsigned int *high_speed,
                                  unsigned int *transition_latency,
index 2b6c04e..70d9cea 100644 (file)
 
 
 /* processors */
-
-#define SPEEDSTEP_CPU_PIII_C_EARLY     0x00000001  /* Coppermine core */
-#define SPEEDSTEP_CPU_PIII_C           0x00000002  /* Coppermine core */
-#define SPEEDSTEP_CPU_PIII_T           0x00000003  /* Tualatin core */
-#define SPEEDSTEP_CPU_P4M              0x00000004  /* P4-M  */
-
+enum speedstep_processor {
+       SPEEDSTEP_CPU_PIII_C_EARLY = 0x00000001,  /* Coppermine core */
+       SPEEDSTEP_CPU_PIII_C       = 0x00000002,  /* Coppermine core */
+       SPEEDSTEP_CPU_PIII_T       = 0x00000003,  /* Tualatin core */
+       SPEEDSTEP_CPU_P4M          = 0x00000004,  /* P4-M  */
 /* the following processors are not speedstep-capable and are not auto-detected
  * in speedstep_detect_processor(). However, their speed can be detected using
  * the speedstep_get_frequency() call. */
-#define SPEEDSTEP_CPU_PM               0xFFFFFF03  /* Pentium M  */
-#define SPEEDSTEP_CPU_P4D              0xFFFFFF04  /* desktop P4  */
-#define SPEEDSTEP_CPU_PCORE            0xFFFFFF05  /* Core */
+       SPEEDSTEP_CPU_PM           = 0xFFFFFF03,  /* Pentium M  */
+       SPEEDSTEP_CPU_P4D          = 0xFFFFFF04,  /* desktop P4  */
+       SPEEDSTEP_CPU_PCORE        = 0xFFFFFF05,  /* Core */
+};
 
 /* speedstep states -- only two of them */
 
 
 
 /* detect a speedstep-capable processor */
-extern unsigned int speedstep_detect_processor (void);
+extern enum speedstep_processor speedstep_detect_processor(void);
 
 /* detect the current speed (in khz) of the processor */
-extern unsigned int speedstep_get_frequency(unsigned int processor);
+extern unsigned int speedstep_get_frequency(enum speedstep_processor processor);
 
 
 /* detect the low and high speeds of the processor. The callback
@@ -42,7 +42,7 @@ extern unsigned int speedstep_get_frequency(unsigned int processor);
  * SPEEDSTEP_LOW; the second argument is zero so that no
  * cpufreq_notify_transition calls are initiated.
  */
-extern unsigned int speedstep_get_freqs(unsigned int processor,
+extern unsigned int speedstep_get_freqs(enum speedstep_processor processor,
        unsigned int *low_speed,
        unsigned int *high_speed,
        unsigned int *transition_latency,
index befea08..04d73c1 100644 (file)
@@ -35,7 +35,7 @@ static int smi_cmd;
 static unsigned int smi_sig;
 
 /* info about the processor */
-static unsigned int speedstep_processor;
+static enum speedstep_processor speedstep_processor;
 
 /*
  * There are only two frequency states for each processor. Values