aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/video.c
diff options
context:
space:
mode:
authorJiang Liu <jiang.liu@huawei.com>2013-06-28 12:24:39 -0400
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-07-14 19:33:10 -0400
commit0db98202605c3d32e023d43c30b5bd878f520976 (patch)
tree7aec122f45db5c6b6c2f046ccf1eb9fa160fb616 /drivers/acpi/video.c
parent952c63e9512b63220886105cfc791507046fa39a (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.c17
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
353acpi_video_device_lcd_set_level(struct acpi_video_device *device, int level) 353acpi_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
628acpi_video_bus_DOS(struct acpi_video_bus *video, int bios_flag, int lcd_flag) 624acpi_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