Commit 418521de authored by Len Brown's avatar Len Brown

Merge branch 'bugzilla-14954' into release

parents be6066f3 2205cbe8
...@@ -144,6 +144,29 @@ void acpi_processor_set_pdc(acpi_handle handle) ...@@ -144,6 +144,29 @@ void acpi_processor_set_pdc(acpi_handle handle)
} }
EXPORT_SYMBOL_GPL(acpi_processor_set_pdc); EXPORT_SYMBOL_GPL(acpi_processor_set_pdc);
static int early_pdc_optin;
static int set_early_pdc_optin(const struct dmi_system_id *id)
{
early_pdc_optin = 1;
return 0;
}
static struct dmi_system_id __cpuinitdata early_pdc_optin_table[] = {
{
set_early_pdc_optin, "HP Envy", {
DMI_MATCH(DMI_BIOS_VENDOR, "Hewlett-Packard"),
DMI_MATCH(DMI_PRODUCT_NAME, "HP Envy") }, NULL},
{
set_early_pdc_optin, "HP Pavilion dv6", {
DMI_MATCH(DMI_BIOS_VENDOR, "Hewlett-Packard"),
DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion dv6") }, NULL},
{
set_early_pdc_optin, "HP Pavilion dv7", {
DMI_MATCH(DMI_BIOS_VENDOR, "Hewlett-Packard"),
DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion dv7") }, NULL},
{},
};
static acpi_status static acpi_status
early_init_pdc(acpi_handle handle, u32 lvl, void *context, void **rv) early_init_pdc(acpi_handle handle, u32 lvl, void *context, void **rv)
{ {
...@@ -159,6 +182,13 @@ void __init acpi_early_processor_set_pdc(void) ...@@ -159,6 +182,13 @@ void __init acpi_early_processor_set_pdc(void)
*/ */
dmi_check_system(processor_idle_dmi_table); dmi_check_system(processor_idle_dmi_table);
/*
* Allow systems to opt-in to early _PDC evaluation.
*/
dmi_check_system(early_pdc_optin_table);
if (!early_pdc_optin)
return;
acpi_walk_namespace(ACPI_TYPE_PROCESSOR, ACPI_ROOT_OBJECT, acpi_walk_namespace(ACPI_TYPE_PROCESSOR, ACPI_ROOT_OBJECT,
ACPI_UINT32_MAX, ACPI_UINT32_MAX,
early_init_pdc, NULL, NULL, NULL); early_init_pdc, NULL, NULL, NULL);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment