ACPI / processor: Build idle_boot_override on x86 and ia64

idle_boot_override depends on x86 and ia64 now and it is not clear
whether or not it will be used on ARM or ARM64, so put the DMI
blacklist setting it in processor_core.c into a #if block so that
it is built for CONFIG_X86 or CONFIG_IA64 only to allow
processor_core.c to be compiled for ARM64.

Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org>
[rjw: Subject and changelog]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Hanjun Guo 2014-02-19 00:23:54 +08:00 committed by Rafael J. Wysocki
parent 52056925f4
commit 2c4fa0033a
1 changed files with 28 additions and 19 deletions

View File

@ -19,24 +19,6 @@
#define _COMPONENT ACPI_PROCESSOR_COMPONENT
ACPI_MODULE_NAME("processor_core");
static int __init set_no_mwait(const struct dmi_system_id *id)
{
printk(KERN_NOTICE PREFIX "%s detected - "
"disabling mwait for CPU C-states\n", id->ident);
boot_option_idle_override = IDLE_NOMWAIT;
return 0;
}
static struct dmi_system_id processor_idle_dmi_table[] __initdata = {
{
set_no_mwait, "Extensa 5220", {
DMI_MATCH(DMI_BIOS_VENDOR, "Phoenix Technologies LTD"),
DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
DMI_MATCH(DMI_PRODUCT_VERSION, "0100"),
DMI_MATCH(DMI_BOARD_NAME, "Columbia") }, NULL},
{},
};
static int map_lapic_id(struct acpi_subtable_header *entry,
u32 acpi_id, int *apic_id)
{
@ -379,13 +361,40 @@ early_init_pdc(acpi_handle handle, u32 lvl, void *context, void **rv)
return AE_OK;
}
void __init acpi_early_processor_set_pdc(void)
#if defined(CONFIG_X86) || defined(CONFIG_IA64)
static int __init set_no_mwait(const struct dmi_system_id *id)
{
pr_notice(PREFIX "%s detected - disabling mwait for CPU C-states\n",
id->ident);
boot_option_idle_override = IDLE_NOMWAIT;
return 0;
}
static struct dmi_system_id processor_idle_dmi_table[] __initdata = {
{
set_no_mwait, "Extensa 5220", {
DMI_MATCH(DMI_BIOS_VENDOR, "Phoenix Technologies LTD"),
DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
DMI_MATCH(DMI_PRODUCT_VERSION, "0100"),
DMI_MATCH(DMI_BOARD_NAME, "Columbia") }, NULL},
{},
};
static void __init processor_dmi_check(void)
{
/*
* Check whether the system is DMI table. If yes, OSPM
* should not use mwait for CPU-states.
*/
dmi_check_system(processor_idle_dmi_table);
}
#else
static inline void processor_dmi_check(void) {}
#endif
void __init acpi_early_processor_set_pdc(void)
{
processor_dmi_check();
acpi_walk_namespace(ACPI_TYPE_PROCESSOR, ACPI_ROOT_OBJECT,
ACPI_UINT32_MAX,