diff options
author | Borislav Petkov <bp@suse.de> | 2015-04-03 09:19:53 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2015-04-15 17:02:24 -0400 |
commit | 64df1fdfccc054a4e5480c6bc965b67d3c83c3ae (patch) | |
tree | 3501943d155ed9b2e5a350e45e32635da0ba9a70 | |
parent | 6a82ba6d4fda21e5f9fda0f4126add3b88522f02 (diff) |
cpufreq: intel_pstate: Fix an annoying !CONFIG_SMP warning
I keep seeing
drivers/cpufreq/intel_pstate.c: In function ‘intel_pstate_init’:
drivers/cpufreq/intel_pstate.c:1187:26: warning: initialization from incompatible pointer type
struct cpuinfo_x86 *c = &boot_cpu_data;
when doing randconfig builds.
This is caused by the fact that when !CONFIG_SMP, asm/processor.h
defines cpu_info to boot_cpu_data and the local variable
struct cpu_defaults *cpu_info
overshadows it leading to this unfortunate assignment in the
preprocessed source:
struct cpu_defaults *boot_cpu_data;
struct cpuinfo_x86 *c = &boot_cpu_data;
Rename the local variable and use static_cpu_has_safe() which alleviates
the need for defining a local cpuinfo_x86 pointer.
Signed-off-by: Borislav Petkov <bp@suse.de>
Acked-by: Kristen Carlson Accardi <kristen@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r-- | drivers/cpufreq/intel_pstate.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c index 858a4515af9e..6414661ac1c4 100644 --- a/drivers/cpufreq/intel_pstate.c +++ b/drivers/cpufreq/intel_pstate.c | |||
@@ -31,6 +31,7 @@ | |||
31 | #include <asm/div64.h> | 31 | #include <asm/div64.h> |
32 | #include <asm/msr.h> | 32 | #include <asm/msr.h> |
33 | #include <asm/cpu_device_id.h> | 33 | #include <asm/cpu_device_id.h> |
34 | #include <asm/cpufeature.h> | ||
34 | 35 | ||
35 | #define BYT_RATIOS 0x66a | 36 | #define BYT_RATIOS 0x66a |
36 | #define BYT_VIDS 0x66b | 37 | #define BYT_VIDS 0x66b |
@@ -1200,8 +1201,7 @@ static int __init intel_pstate_init(void) | |||
1200 | { | 1201 | { |
1201 | int cpu, rc = 0; | 1202 | int cpu, rc = 0; |
1202 | const struct x86_cpu_id *id; | 1203 | const struct x86_cpu_id *id; |
1203 | struct cpu_defaults *cpu_info; | 1204 | struct cpu_defaults *cpu_def; |
1204 | struct cpuinfo_x86 *c = &boot_cpu_data; | ||
1205 | 1205 | ||
1206 | if (no_load) | 1206 | if (no_load) |
1207 | return -ENODEV; | 1207 | return -ENODEV; |
@@ -1217,10 +1217,10 @@ static int __init intel_pstate_init(void) | |||
1217 | if (intel_pstate_platform_pwr_mgmt_exists()) | 1217 | if (intel_pstate_platform_pwr_mgmt_exists()) |
1218 | return -ENODEV; | 1218 | return -ENODEV; |
1219 | 1219 | ||
1220 | cpu_info = (struct cpu_defaults *)id->driver_data; | 1220 | cpu_def = (struct cpu_defaults *)id->driver_data; |
1221 | 1221 | ||
1222 | copy_pid_params(&cpu_info->pid_policy); | 1222 | copy_pid_params(&cpu_def->pid_policy); |
1223 | copy_cpu_funcs(&cpu_info->funcs); | 1223 | copy_cpu_funcs(&cpu_def->funcs); |
1224 | 1224 | ||
1225 | if (intel_pstate_msrs_not_valid()) | 1225 | if (intel_pstate_msrs_not_valid()) |
1226 | return -ENODEV; | 1226 | return -ENODEV; |
@@ -1231,7 +1231,7 @@ static int __init intel_pstate_init(void) | |||
1231 | if (!all_cpu_data) | 1231 | if (!all_cpu_data) |
1232 | return -ENOMEM; | 1232 | return -ENOMEM; |
1233 | 1233 | ||
1234 | if (cpu_has(c,X86_FEATURE_HWP) && !no_hwp) | 1234 | if (static_cpu_has_safe(X86_FEATURE_HWP) && !no_hwp) |
1235 | intel_pstate_hwp_enable(); | 1235 | intel_pstate_hwp_enable(); |
1236 | 1236 | ||
1237 | if (!hwp_active && hwp_only) | 1237 | if (!hwp_active && hwp_only) |