diff options
author | Jiang Liu <jiang.liu@huawei.com> | 2013-06-28 12:24:39 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-07-14 19:33:10 -0400 |
commit | 0db98202605c3d32e023d43c30b5bd878f520976 (patch) | |
tree | 7aec122f45db5c6b6c2f046ccf1eb9fa160fb616 /drivers/acpi/video.c | |
parent | 952c63e9512b63220886105cfc791507046fa39a (diff) |
ACPI: introduce helper function acpi_execute_simple_method()
Introduce helper function acpi_execute_simple_method() and use it in
a number of places to simplify code.
[rjw: Changelog]
Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/acpi/video.c')
-rw-r--r-- | drivers/acpi/video.c | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c index a84533e67b9d..b862c7f74941 100644 --- a/drivers/acpi/video.c +++ b/drivers/acpi/video.c | |||
@@ -353,14 +353,10 @@ static int | |||
353 | acpi_video_device_lcd_set_level(struct acpi_video_device *device, int level) | 353 | acpi_video_device_lcd_set_level(struct acpi_video_device *device, int level) |
354 | { | 354 | { |
355 | int status; | 355 | int status; |
356 | union acpi_object arg0 = { ACPI_TYPE_INTEGER }; | ||
357 | struct acpi_object_list args = { 1, &arg0 }; | ||
358 | int state; | 356 | int state; |
359 | 357 | ||
360 | arg0.integer.value = level; | 358 | status = acpi_execute_simple_method(device->dev->handle, |
361 | 359 | "_BCM", level); | |
362 | status = acpi_evaluate_object(device->dev->handle, "_BCM", | ||
363 | &args, NULL); | ||
364 | if (ACPI_FAILURE(status)) { | 360 | if (ACPI_FAILURE(status)) { |
365 | ACPI_ERROR((AE_INFO, "Evaluating _BCM failed")); | 361 | ACPI_ERROR((AE_INFO, "Evaluating _BCM failed")); |
366 | return -EIO; | 362 | return -EIO; |
@@ -628,18 +624,15 @@ static int | |||
628 | acpi_video_bus_DOS(struct acpi_video_bus *video, int bios_flag, int lcd_flag) | 624 | acpi_video_bus_DOS(struct acpi_video_bus *video, int bios_flag, int lcd_flag) |
629 | { | 625 | { |
630 | acpi_status status; | 626 | acpi_status status; |
631 | union acpi_object arg0 = { ACPI_TYPE_INTEGER }; | ||
632 | struct acpi_object_list args = { 1, &arg0 }; | ||
633 | 627 | ||
634 | if (!video->cap._DOS) | 628 | if (!video->cap._DOS) |
635 | return 0; | 629 | return 0; |
636 | 630 | ||
637 | if (bios_flag < 0 || bios_flag > 3 || lcd_flag < 0 || lcd_flag > 1) | 631 | if (bios_flag < 0 || bios_flag > 3 || lcd_flag < 0 || lcd_flag > 1) |
638 | return -EINVAL; | 632 | return -EINVAL; |
639 | arg0.integer.value = (lcd_flag << 2) | bios_flag; | 633 | video->dos_setting = (lcd_flag << 2) | bios_flag; |
640 | video->dos_setting = arg0.integer.value; | 634 | status = acpi_execute_simple_method(video->device->handle, "_DOS", |
641 | status = acpi_evaluate_object(video->device->handle, "_DOS", | 635 | (lcd_flag << 2) | bios_flag); |
642 | &args, NULL); | ||
643 | if (ACPI_FAILURE(status)) | 636 | if (ACPI_FAILURE(status)) |
644 | return -EIO; | 637 | return -EIO; |
645 | 638 | ||