Skip to content

Commit

Permalink
[CPUFREQ] use an enum for speedstep processor identification
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Rusty Russell authored and Dave Jones committed Nov 24, 2009
1 parent bbe237a commit 1cce76c
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 17 deletions.
2 changes: 1 addition & 1 deletion arch/x86/kernel/cpu/cpufreq/speedstep-ich.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down
6 changes: 3 additions & 3 deletions arch/x86/kernel/cpu/cpufreq/speedstep-lib.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -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,
Expand Down
24 changes: 12 additions & 12 deletions arch/x86/kernel/cpu/cpufreq/speedstep-lib.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,18 @@


/* 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 */

Expand All @@ -31,18 +31,18 @@


/* 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
* set_state"'s first argument is either SPEEDSTEP_HIGH or
* 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,
Expand Down
2 changes: 1 addition & 1 deletion arch/x86/kernel/cpu/cpufreq/speedstep-smi.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 1cce76c

Please sign in to comment.