diff options
| author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2010-02-25 22:41:00 -0500 | 
|---|---|---|
| committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2010-02-25 22:41:00 -0500 | 
| commit | 874f2f997dbe041a6c6e509dae8656ed9022d65d (patch) | |
| tree | 61898165882041ef7f9beaf2ef6663a1a4d3c29a /drivers/acpi/processor_pdc.c | |
| parent | 071c06cb570d38efe23a124e885f2f3e643a9206 (diff) | |
| parent | 6ebdc661b608671e9ca572af8bb42d58108cc008 (diff) | |
Merge commit 'origin/master' into next
Manual merge of:
	drivers/char/hvc_console.c
	drivers/char/hvc_console.h
Diffstat (limited to 'drivers/acpi/processor_pdc.c')
| -rw-r--r-- | drivers/acpi/processor_pdc.c | 14 | 
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/acpi/processor_pdc.c b/drivers/acpi/processor_pdc.c index 7247819dbd80..e306ba9aa34e 100644 --- a/drivers/acpi/processor_pdc.c +++ b/drivers/acpi/processor_pdc.c  | |||
| @@ -125,6 +125,8 @@ acpi_processor_eval_pdc(acpi_handle handle, struct acpi_object_list *pdc_in) | |||
| 125 | return status; | 125 | return status; | 
| 126 | } | 126 | } | 
| 127 | 127 | ||
| 128 | static int early_pdc_done; | ||
| 129 | |||
| 128 | void acpi_processor_set_pdc(acpi_handle handle) | 130 | void acpi_processor_set_pdc(acpi_handle handle) | 
| 129 | { | 131 | { | 
| 130 | struct acpi_object_list *obj_list; | 132 | struct acpi_object_list *obj_list; | 
| @@ -132,6 +134,9 @@ void acpi_processor_set_pdc(acpi_handle handle) | |||
| 132 | if (arch_has_acpi_pdc() == false) | 134 | if (arch_has_acpi_pdc() == false) | 
| 133 | return; | 135 | return; | 
| 134 | 136 | ||
| 137 | if (early_pdc_done) | ||
| 138 | return; | ||
| 139 | |||
| 135 | obj_list = acpi_processor_alloc_pdc(); | 140 | obj_list = acpi_processor_alloc_pdc(); | 
| 136 | if (!obj_list) | 141 | if (!obj_list) | 
| 137 | return; | 142 | return; | 
| @@ -151,6 +156,13 @@ static int set_early_pdc_optin(const struct dmi_system_id *id) | |||
| 151 | return 0; | 156 | return 0; | 
| 152 | } | 157 | } | 
| 153 | 158 | ||
| 159 | static int param_early_pdc_optin(char *s) | ||
| 160 | { | ||
| 161 | early_pdc_optin = 1; | ||
| 162 | return 1; | ||
| 163 | } | ||
| 164 | __setup("acpi_early_pdc_eval", param_early_pdc_optin); | ||
| 165 | |||
| 154 | static struct dmi_system_id __cpuinitdata early_pdc_optin_table[] = { | 166 | static struct dmi_system_id __cpuinitdata early_pdc_optin_table[] = { | 
| 155 | { | 167 | { | 
| 156 | set_early_pdc_optin, "HP Envy", { | 168 | set_early_pdc_optin, "HP Envy", { | 
| @@ -192,4 +204,6 @@ void __init acpi_early_processor_set_pdc(void) | |||
| 192 | acpi_walk_namespace(ACPI_TYPE_PROCESSOR, ACPI_ROOT_OBJECT, | 204 | acpi_walk_namespace(ACPI_TYPE_PROCESSOR, ACPI_ROOT_OBJECT, | 
| 193 | ACPI_UINT32_MAX, | 205 | ACPI_UINT32_MAX, | 
| 194 | early_init_pdc, NULL, NULL, NULL); | 206 | early_init_pdc, NULL, NULL, NULL); | 
| 207 | |||
| 208 | early_pdc_done = 1; | ||
| 195 | } | 209 | } | 
