cpufreq: Convert to new X86 CPU match macros

The new macro set has a consistent namespace and uses C99 initializers
instead of the grufty C89 ones.

Get rid the of most local macro wrappers for consistency. The ones which
make sense for readability are renamed to X86_MATCH*.

In the centrino driver this also removes the two extra duplicates of family
6 model 13 which have no value at all.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://lkml.kernel.org/r/87eetheu88.fsf@nanos.tec.linutronix.de
This commit is contained in:
Thomas Gleixner 2020-03-24 14:51:51 +01:00 committed by Borislav Petkov
parent e36cf2f768
commit b11d77fa30
15 changed files with 59 additions and 73 deletions

View File

@ -992,8 +992,8 @@ late_initcall(acpi_cpufreq_init);
module_exit(acpi_cpufreq_exit); module_exit(acpi_cpufreq_exit);
static const struct x86_cpu_id acpi_cpufreq_ids[] = { static const struct x86_cpu_id acpi_cpufreq_ids[] = {
X86_FEATURE_MATCH(X86_FEATURE_ACPI), X86_MATCH_FEATURE(X86_FEATURE_ACPI, NULL),
X86_FEATURE_MATCH(X86_FEATURE_HW_PSTATE), X86_MATCH_FEATURE(X86_FEATURE_HW_PSTATE, NULL),
{} {}
}; };
MODULE_DEVICE_TABLE(x86cpu, acpi_cpufreq_ids); MODULE_DEVICE_TABLE(x86cpu, acpi_cpufreq_ids);

View File

@ -145,7 +145,7 @@ static void __exit amd_freq_sensitivity_exit(void)
module_exit(amd_freq_sensitivity_exit); module_exit(amd_freq_sensitivity_exit);
static const struct x86_cpu_id amd_freq_sensitivity_ids[] = { static const struct x86_cpu_id amd_freq_sensitivity_ids[] = {
X86_FEATURE_MATCH(X86_FEATURE_PROC_FEEDBACK), X86_MATCH_FEATURE(X86_FEATURE_PROC_FEEDBACK, NULL),
{} {}
}; };
MODULE_DEVICE_TABLE(x86cpu, amd_freq_sensitivity_ids); MODULE_DEVICE_TABLE(x86cpu, amd_freq_sensitivity_ids);

View File

@ -385,7 +385,7 @@ static struct cpufreq_driver eps_driver = {
/* This driver will work only on Centaur C7 processors with /* This driver will work only on Centaur C7 processors with
* Enhanced SpeedStep/PowerSaver registers */ * Enhanced SpeedStep/PowerSaver registers */
static const struct x86_cpu_id eps_cpu_id[] = { static const struct x86_cpu_id eps_cpu_id[] = {
{ X86_VENDOR_CENTAUR, 6, X86_MODEL_ANY, X86_FEATURE_EST }, X86_MATCH_VENDOR_FAM_FEATURE(CENTAUR, 6, X86_FEATURE_EST, NULL),
{} {}
}; };
MODULE_DEVICE_TABLE(x86cpu, eps_cpu_id); MODULE_DEVICE_TABLE(x86cpu, eps_cpu_id);

View File

@ -198,7 +198,7 @@ static struct cpufreq_driver elanfreq_driver = {
}; };
static const struct x86_cpu_id elan_id[] = { static const struct x86_cpu_id elan_id[] = {
{ X86_VENDOR_AMD, 4, 10, }, X86_MATCH_VENDOR_FAM_MODEL(AMD, 4, 10, NULL),
{} {}
}; };
MODULE_DEVICE_TABLE(x86cpu, elan_id); MODULE_DEVICE_TABLE(x86cpu, elan_id);

View File

@ -1908,51 +1908,51 @@ static const struct pstate_funcs knl_funcs = {
.get_val = core_get_val, .get_val = core_get_val,
}; };
#define ICPU(model, policy) \ #define X86_MATCH(model, policy) \
{ X86_VENDOR_INTEL, 6, model, X86_FEATURE_APERFMPERF,\ X86_MATCH_VENDOR_FAM_MODEL_FEATURE(INTEL, 6, INTEL_FAM6_##model, \
(unsigned long)&policy } X86_FEATURE_APERFMPERF, &policy)
static const struct x86_cpu_id intel_pstate_cpu_ids[] = { static const struct x86_cpu_id intel_pstate_cpu_ids[] = {
ICPU(INTEL_FAM6_SANDYBRIDGE, core_funcs), X86_MATCH(SANDYBRIDGE, core_funcs),
ICPU(INTEL_FAM6_SANDYBRIDGE_X, core_funcs), X86_MATCH(SANDYBRIDGE_X, core_funcs),
ICPU(INTEL_FAM6_ATOM_SILVERMONT, silvermont_funcs), X86_MATCH(ATOM_SILVERMONT, silvermont_funcs),
ICPU(INTEL_FAM6_IVYBRIDGE, core_funcs), X86_MATCH(IVYBRIDGE, core_funcs),
ICPU(INTEL_FAM6_HASWELL, core_funcs), X86_MATCH(HASWELL, core_funcs),
ICPU(INTEL_FAM6_BROADWELL, core_funcs), X86_MATCH(BROADWELL, core_funcs),
ICPU(INTEL_FAM6_IVYBRIDGE_X, core_funcs), X86_MATCH(IVYBRIDGE_X, core_funcs),
ICPU(INTEL_FAM6_HASWELL_X, core_funcs), X86_MATCH(HASWELL_X, core_funcs),
ICPU(INTEL_FAM6_HASWELL_L, core_funcs), X86_MATCH(HASWELL_L, core_funcs),
ICPU(INTEL_FAM6_HASWELL_G, core_funcs), X86_MATCH(HASWELL_G, core_funcs),
ICPU(INTEL_FAM6_BROADWELL_G, core_funcs), X86_MATCH(BROADWELL_G, core_funcs),
ICPU(INTEL_FAM6_ATOM_AIRMONT, airmont_funcs), X86_MATCH(ATOM_AIRMONT, airmont_funcs),
ICPU(INTEL_FAM6_SKYLAKE_L, core_funcs), X86_MATCH(SKYLAKE_L, core_funcs),
ICPU(INTEL_FAM6_BROADWELL_X, core_funcs), X86_MATCH(BROADWELL_X, core_funcs),
ICPU(INTEL_FAM6_SKYLAKE, core_funcs), X86_MATCH(SKYLAKE, core_funcs),
ICPU(INTEL_FAM6_BROADWELL_D, core_funcs), X86_MATCH(BROADWELL_D, core_funcs),
ICPU(INTEL_FAM6_XEON_PHI_KNL, knl_funcs), X86_MATCH(XEON_PHI_KNL, knl_funcs),
ICPU(INTEL_FAM6_XEON_PHI_KNM, knl_funcs), X86_MATCH(XEON_PHI_KNM, knl_funcs),
ICPU(INTEL_FAM6_ATOM_GOLDMONT, core_funcs), X86_MATCH(ATOM_GOLDMONT, core_funcs),
ICPU(INTEL_FAM6_ATOM_GOLDMONT_PLUS, core_funcs), X86_MATCH(ATOM_GOLDMONT_PLUS, core_funcs),
ICPU(INTEL_FAM6_SKYLAKE_X, core_funcs), X86_MATCH(SKYLAKE_X, core_funcs),
{} {}
}; };
MODULE_DEVICE_TABLE(x86cpu, intel_pstate_cpu_ids); MODULE_DEVICE_TABLE(x86cpu, intel_pstate_cpu_ids);
static const struct x86_cpu_id intel_pstate_cpu_oob_ids[] __initconst = { static const struct x86_cpu_id intel_pstate_cpu_oob_ids[] __initconst = {
ICPU(INTEL_FAM6_BROADWELL_D, core_funcs), X86_MATCH(BROADWELL_D, core_funcs),
ICPU(INTEL_FAM6_BROADWELL_X, core_funcs), X86_MATCH(BROADWELL_X, core_funcs),
ICPU(INTEL_FAM6_SKYLAKE_X, core_funcs), X86_MATCH(SKYLAKE_X, core_funcs),
{} {}
}; };
static const struct x86_cpu_id intel_pstate_cpu_ee_disable_ids[] = { static const struct x86_cpu_id intel_pstate_cpu_ee_disable_ids[] = {
ICPU(INTEL_FAM6_KABYLAKE, core_funcs), X86_MATCH(KABYLAKE, core_funcs),
{} {}
}; };
static const struct x86_cpu_id intel_pstate_hwp_boost_ids[] = { static const struct x86_cpu_id intel_pstate_hwp_boost_ids[] = {
ICPU(INTEL_FAM6_SKYLAKE_X, core_funcs), X86_MATCH(SKYLAKE_X, core_funcs),
ICPU(INTEL_FAM6_SKYLAKE, core_funcs), X86_MATCH(SKYLAKE, core_funcs),
{} {}
}; };
@ -2725,13 +2725,14 @@ static inline void intel_pstate_request_control_from_smm(void) {}
#define INTEL_PSTATE_HWP_BROADWELL 0x01 #define INTEL_PSTATE_HWP_BROADWELL 0x01
#define ICPU_HWP(model, hwp_mode) \ #define X86_MATCH_HWP(model, hwp_mode) \
{ X86_VENDOR_INTEL, 6, model, X86_FEATURE_HWP, hwp_mode } X86_MATCH_VENDOR_FAM_MODEL_FEATURE(INTEL, 6, INTEL_FAM6_##model, \
X86_FEATURE_APERFMPERF, hwp_mode)
static const struct x86_cpu_id hwp_support_ids[] __initconst = { static const struct x86_cpu_id hwp_support_ids[] __initconst = {
ICPU_HWP(INTEL_FAM6_BROADWELL_X, INTEL_PSTATE_HWP_BROADWELL), X86_MATCH_HWP(BROADWELL_X, INTEL_PSTATE_HWP_BROADWELL),
ICPU_HWP(INTEL_FAM6_BROADWELL_D, INTEL_PSTATE_HWP_BROADWELL), X86_MATCH_HWP(BROADWELL_D, INTEL_PSTATE_HWP_BROADWELL),
ICPU_HWP(X86_MODEL_ANY, 0), X86_MATCH_HWP(ANY, 0),
{} {}
}; };

View File

@ -910,7 +910,7 @@ static struct cpufreq_driver longhaul_driver = {
}; };
static const struct x86_cpu_id longhaul_id[] = { static const struct x86_cpu_id longhaul_id[] = {
{ X86_VENDOR_CENTAUR, 6 }, X86_MATCH_VENDOR_FAM(CENTAUR, 6, NULL),
{} {}
}; };
MODULE_DEVICE_TABLE(x86cpu, longhaul_id); MODULE_DEVICE_TABLE(x86cpu, longhaul_id);

View File

@ -281,8 +281,7 @@ static struct cpufreq_driver longrun_driver = {
}; };
static const struct x86_cpu_id longrun_ids[] = { static const struct x86_cpu_id longrun_ids[] = {
{ X86_VENDOR_TRANSMETA, X86_FAMILY_ANY, X86_MODEL_ANY, X86_MATCH_VENDOR_FEATURE(TRANSMETA, X86_FEATURE_LONGRUN, NULL),
X86_FEATURE_LONGRUN },
{} {}
}; };
MODULE_DEVICE_TABLE(x86cpu, longrun_ids); MODULE_DEVICE_TABLE(x86cpu, longrun_ids);

View File

@ -231,7 +231,7 @@ static struct cpufreq_driver p4clockmod_driver = {
}; };
static const struct x86_cpu_id cpufreq_p4_id[] = { static const struct x86_cpu_id cpufreq_p4_id[] = {
{ X86_VENDOR_INTEL, X86_FAMILY_ANY, X86_MODEL_ANY, X86_FEATURE_ACC }, X86_MATCH_VENDOR_FEATURE(INTEL, X86_FEATURE_ACC, NULL),
{} {}
}; };

View File

@ -258,8 +258,8 @@ static struct cpufreq_driver powernow_k6_driver = {
}; };
static const struct x86_cpu_id powernow_k6_ids[] = { static const struct x86_cpu_id powernow_k6_ids[] = {
{ X86_VENDOR_AMD, 5, 12 }, X86_MATCH_VENDOR_FAM_MODEL(AMD, 5, 12, NULL),
{ X86_VENDOR_AMD, 5, 13 }, X86_MATCH_VENDOR_FAM_MODEL(AMD, 5, 13, NULL),
{} {}
}; };
MODULE_DEVICE_TABLE(x86cpu, powernow_k6_ids); MODULE_DEVICE_TABLE(x86cpu, powernow_k6_ids);

View File

@ -109,7 +109,7 @@ static int check_fsb(unsigned int fsbspeed)
} }
static const struct x86_cpu_id powernow_k7_cpuids[] = { static const struct x86_cpu_id powernow_k7_cpuids[] = {
{ X86_VENDOR_AMD, 6, }, X86_MATCH_VENDOR_FAM(AMD, 6, NULL),
{} {}
}; };
MODULE_DEVICE_TABLE(x86cpu, powernow_k7_cpuids); MODULE_DEVICE_TABLE(x86cpu, powernow_k7_cpuids);

View File

@ -452,7 +452,7 @@ static int core_voltage_post_transition(struct powernow_k8_data *data,
static const struct x86_cpu_id powernow_k8_ids[] = { static const struct x86_cpu_id powernow_k8_ids[] = {
/* IO based frequency switching */ /* IO based frequency switching */
{ X86_VENDOR_AMD, 0xf }, X86_MATCH_VENDOR_FAM(AMD, 0xf, NULL),
{} {}
}; };
MODULE_DEVICE_TABLE(x86cpu, powernow_k8_ids); MODULE_DEVICE_TABLE(x86cpu, powernow_k8_ids);

View File

@ -95,7 +95,7 @@ static struct cpufreq_driver sc520_freq_driver = {
}; };
static const struct x86_cpu_id sc520_ids[] = { static const struct x86_cpu_id sc520_ids[] = {
{ X86_VENDOR_AMD, 4, 9 }, X86_MATCH_VENDOR_FAM_MODEL(AMD, 4, 9, NULL),
{} {}
}; };
MODULE_DEVICE_TABLE(x86cpu, sc520_ids); MODULE_DEVICE_TABLE(x86cpu, sc520_ids);

View File

@ -520,18 +520,12 @@ static struct cpufreq_driver centrino_driver = {
* or ASCII model IDs. * or ASCII model IDs.
*/ */
static const struct x86_cpu_id centrino_ids[] = { static const struct x86_cpu_id centrino_ids[] = {
{ X86_VENDOR_INTEL, 6, 9, X86_FEATURE_EST }, X86_MATCH_VENDOR_FAM_MODEL_FEATURE(INTEL, 6, 9, X86_FEATURE_EST, NULL),
{ X86_VENDOR_INTEL, 6, 13, X86_FEATURE_EST }, X86_MATCH_VENDOR_FAM_MODEL_FEATURE(INTEL, 6, 13, X86_FEATURE_EST, NULL),
{ X86_VENDOR_INTEL, 6, 13, X86_FEATURE_EST }, X86_MATCH_VENDOR_FAM_MODEL_FEATURE(INTEL, 15, 3, X86_FEATURE_EST, NULL),
{ X86_VENDOR_INTEL, 6, 13, X86_FEATURE_EST }, X86_MATCH_VENDOR_FAM_MODEL_FEATURE(INTEL, 15, 4, X86_FEATURE_EST, NULL),
{ X86_VENDOR_INTEL, 15, 3, X86_FEATURE_EST },
{ X86_VENDOR_INTEL, 15, 4, X86_FEATURE_EST },
{} {}
}; };
#if 0
/* Autoload or not? Do not for now. */
MODULE_DEVICE_TABLE(x86cpu, centrino_ids);
#endif
/** /**
* centrino_init - initializes the Enhanced SpeedStep CPUFreq driver * centrino_init - initializes the Enhanced SpeedStep CPUFreq driver

View File

@ -319,15 +319,11 @@ static struct cpufreq_driver speedstep_driver = {
}; };
static const struct x86_cpu_id ss_smi_ids[] = { static const struct x86_cpu_id ss_smi_ids[] = {
{ X86_VENDOR_INTEL, 6, 0xb, }, X86_MATCH_VENDOR_FAM_MODEL(INTEL, 6, 0x8, 0),
{ X86_VENDOR_INTEL, 6, 0x8, }, X86_MATCH_VENDOR_FAM_MODEL(INTEL, 6, 0xb, 0),
{ X86_VENDOR_INTEL, 15, 2 }, X86_MATCH_VENDOR_FAM_MODEL(INTEL, 15, 0x2, 0),
{} {}
}; };
#if 0
/* Autoload or not? Do not for now. */
MODULE_DEVICE_TABLE(x86cpu, ss_smi_ids);
#endif
/** /**
* speedstep_init - initializes the SpeedStep CPUFreq driver * speedstep_init - initializes the SpeedStep CPUFreq driver

View File

@ -299,15 +299,11 @@ static struct cpufreq_driver speedstep_driver = {
}; };
static const struct x86_cpu_id ss_smi_ids[] = { static const struct x86_cpu_id ss_smi_ids[] = {
{ X86_VENDOR_INTEL, 6, 0xb, }, X86_MATCH_VENDOR_FAM_MODEL(INTEL, 6, 0x8, 0),
{ X86_VENDOR_INTEL, 6, 0x8, }, X86_MATCH_VENDOR_FAM_MODEL(INTEL, 6, 0xb, 0),
{ X86_VENDOR_INTEL, 15, 2 }, X86_MATCH_VENDOR_FAM_MODEL(INTEL, 15, 0x2, 0),
{} {}
}; };
#if 0
/* Not auto loaded currently */
MODULE_DEVICE_TABLE(x86cpu, ss_smi_ids);
#endif
/** /**
* speedstep_init - initializes the SpeedStep CPUFreq driver * speedstep_init - initializes the SpeedStep CPUFreq driver