diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-10-27 20:10:20 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-10-27 20:10:20 -0400 |
commit | 8e32e47dbb98fd24e4c541753427a576e6ab5bb3 (patch) | |
tree | ae9e3eb57380171a25af431dea1e4665ef9c7abf /drivers/platform/x86/wmi.c | |
parent | 959f58544b7f20c92d5eb43d1232c96c15c01bfb (diff) | |
parent | 7744da5e90a2782ff0d48628c2cb120efcd300f3 (diff) |
Merge branch 'acpi-cleanup'
* acpi-cleanup: (34 commits)
ACPI / proc: Remove alarm proc file
ACPI: Remove CONFIG_ACPI_PROCFS_POWER and cm_sbsc.c
ACPI / SBS: Remove SBS's proc directory
ACPI / Battery: Remove battery's proc directory
ACP / fan: trivial style cleanup
ACPI / processor: remove superfluous pr == NULL checks
ACPI / mm: use NUMA_NO_NODE
toshiba_acpi: convert acpi_evaluate_object() to acpi_evaluate_integer()
intel-smartconnect: convert acpi_evaluate_object() to acpi_evaluate_integer()
intel-rst: convert acpi_evaluate_object() to acpi_evaluate_integer()
fujitsu-laptop: convert acpi_evaluate_object() to acpi_evaluate_integer()
i2c-hid: convert acpi_evaluate_object() to acpi_evaluate_integer()
ACPI: dock: convert acpi_evaluate_object() to acpi_evaluate_integer()
acpi_processor: convert acpi_evaluate_object() to acpi_evaluate_integer()
pnpacpi: convert acpi_get_handle() to acpi_has_method()
wmi: convert acpi_get_handle() to acpi_has_method()
toshiba_acpi: convert acpi_get_handle() to acpi_has_method()
sony-laptop: convert acpi_get_handle() to acpi_has_method()
intel_menlow: convert acpi_get_handle() to acpi_has_method()
fujitsu-laptop: convert acpi_get_handle() to acpi_has_method()
...
Diffstat (limited to 'drivers/platform/x86/wmi.c')
-rw-r--r-- | drivers/platform/x86/wmi.c | 30 |
1 files changed, 8 insertions, 22 deletions
diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/x86/wmi.c index 601ea9512242..62e8c221d01e 100644 --- a/drivers/platform/x86/wmi.c +++ b/drivers/platform/x86/wmi.c | |||
@@ -252,8 +252,6 @@ static acpi_status wmi_method_enable(struct wmi_block *wblock, int enable) | |||
252 | { | 252 | { |
253 | struct guid_block *block = NULL; | 253 | struct guid_block *block = NULL; |
254 | char method[5]; | 254 | char method[5]; |
255 | struct acpi_object_list input; | ||
256 | union acpi_object params[1]; | ||
257 | acpi_status status; | 255 | acpi_status status; |
258 | acpi_handle handle; | 256 | acpi_handle handle; |
259 | 257 | ||
@@ -263,13 +261,9 @@ static acpi_status wmi_method_enable(struct wmi_block *wblock, int enable) | |||
263 | if (!block) | 261 | if (!block) |
264 | return AE_NOT_EXIST; | 262 | return AE_NOT_EXIST; |
265 | 263 | ||
266 | input.count = 1; | ||
267 | input.pointer = params; | ||
268 | params[0].type = ACPI_TYPE_INTEGER; | ||
269 | params[0].integer.value = enable; | ||
270 | 264 | ||
271 | snprintf(method, 5, "WE%02X", block->notify_id); | 265 | snprintf(method, 5, "WE%02X", block->notify_id); |
272 | status = acpi_evaluate_object(handle, method, &input, NULL); | 266 | status = acpi_execute_simple_method(handle, method, enable); |
273 | 267 | ||
274 | if (status != AE_OK && status != AE_NOT_FOUND) | 268 | if (status != AE_OK && status != AE_NOT_FOUND) |
275 | return status; | 269 | return status; |
@@ -353,10 +347,10 @@ struct acpi_buffer *out) | |||
353 | { | 347 | { |
354 | struct guid_block *block = NULL; | 348 | struct guid_block *block = NULL; |
355 | struct wmi_block *wblock = NULL; | 349 | struct wmi_block *wblock = NULL; |
356 | acpi_handle handle, wc_handle; | 350 | acpi_handle handle; |
357 | acpi_status status, wc_status = AE_ERROR; | 351 | acpi_status status, wc_status = AE_ERROR; |
358 | struct acpi_object_list input, wc_input; | 352 | struct acpi_object_list input; |
359 | union acpi_object wc_params[1], wq_params[1]; | 353 | union acpi_object wq_params[1]; |
360 | char method[5]; | 354 | char method[5]; |
361 | char wc_method[5] = "WC"; | 355 | char wc_method[5] = "WC"; |
362 | 356 | ||
@@ -386,11 +380,6 @@ struct acpi_buffer *out) | |||
386 | * enable collection. | 380 | * enable collection. |
387 | */ | 381 | */ |
388 | if (block->flags & ACPI_WMI_EXPENSIVE) { | 382 | if (block->flags & ACPI_WMI_EXPENSIVE) { |
389 | wc_input.count = 1; | ||
390 | wc_input.pointer = wc_params; | ||
391 | wc_params[0].type = ACPI_TYPE_INTEGER; | ||
392 | wc_params[0].integer.value = 1; | ||
393 | |||
394 | strncat(wc_method, block->object_id, 2); | 383 | strncat(wc_method, block->object_id, 2); |
395 | 384 | ||
396 | /* | 385 | /* |
@@ -398,10 +387,9 @@ struct acpi_buffer *out) | |||
398 | * expensive, but have no corresponding WCxx method. So we | 387 | * expensive, but have no corresponding WCxx method. So we |
399 | * should not fail if this happens. | 388 | * should not fail if this happens. |
400 | */ | 389 | */ |
401 | wc_status = acpi_get_handle(handle, wc_method, &wc_handle); | 390 | if (acpi_has_method(handle, wc_method)) |
402 | if (ACPI_SUCCESS(wc_status)) | 391 | wc_status = acpi_execute_simple_method(handle, |
403 | wc_status = acpi_evaluate_object(handle, wc_method, | 392 | wc_method, 1); |
404 | &wc_input, NULL); | ||
405 | } | 393 | } |
406 | 394 | ||
407 | strcpy(method, "WQ"); | 395 | strcpy(method, "WQ"); |
@@ -414,9 +402,7 @@ struct acpi_buffer *out) | |||
414 | * the WQxx method failed - we should disable collection anyway. | 402 | * the WQxx method failed - we should disable collection anyway. |
415 | */ | 403 | */ |
416 | if ((block->flags & ACPI_WMI_EXPENSIVE) && ACPI_SUCCESS(wc_status)) { | 404 | if ((block->flags & ACPI_WMI_EXPENSIVE) && ACPI_SUCCESS(wc_status)) { |
417 | wc_params[0].integer.value = 0; | 405 | status = acpi_execute_simple_method(handle, wc_method, 0); |
418 | status = acpi_evaluate_object(handle, | ||
419 | wc_method, &wc_input, NULL); | ||
420 | } | 406 | } |
421 | 407 | ||
422 | return status; | 408 | return status; |