diff options
author | Alexey Starikovskiy <astarikovskiy@suse.de> | 2007-09-03 08:29:58 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2007-09-05 14:24:28 -0400 |
commit | 4500ca8e221e72cc38e7c239b9b1a041031ee450 (patch) | |
tree | 1e44b5134b6b715f30a9240d57a463049bedf28d | |
parent | 40ffbfad6bb79a99cc7627bdaca0ee22dec526f6 (diff) |
ACPI: video: Don't call absent methods
Signed-off-by: Ryan May <rmay@ou.edu>
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>
-rw-r--r-- | drivers/acpi/video.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c index 3c9bb85a6a93..83aa41c5c59f 100644 --- a/drivers/acpi/video.c +++ b/drivers/acpi/video.c | |||
@@ -409,14 +409,16 @@ acpi_video_device_lcd_query_levels(struct acpi_video_device *device, | |||
409 | static int | 409 | static int |
410 | acpi_video_device_lcd_set_level(struct acpi_video_device *device, int level) | 410 | acpi_video_device_lcd_set_level(struct acpi_video_device *device, int level) |
411 | { | 411 | { |
412 | int status; | 412 | int status = AE_OK; |
413 | union acpi_object arg0 = { ACPI_TYPE_INTEGER }; | 413 | union acpi_object arg0 = { ACPI_TYPE_INTEGER }; |
414 | struct acpi_object_list args = { 1, &arg0 }; | 414 | struct acpi_object_list args = { 1, &arg0 }; |
415 | 415 | ||
416 | 416 | ||
417 | arg0.integer.value = level; | 417 | arg0.integer.value = level; |
418 | status = acpi_evaluate_object(device->dev->handle, "_BCM", &args, NULL); | 418 | if (device->cap._BCM) |
419 | 419 | status = acpi_evaluate_object(device->dev->handle, "_BCM", | |
420 | &args, NULL); | ||
421 | device->brightness->curr = level; | ||
420 | printk(KERN_DEBUG "set_level status: %x\n", status); | 422 | printk(KERN_DEBUG "set_level status: %x\n", status); |
421 | return status; | 423 | return status; |
422 | } | 424 | } |
@@ -425,11 +427,11 @@ static int | |||
425 | acpi_video_device_lcd_get_level_current(struct acpi_video_device *device, | 427 | acpi_video_device_lcd_get_level_current(struct acpi_video_device *device, |
426 | unsigned long *level) | 428 | unsigned long *level) |
427 | { | 429 | { |
428 | int status; | 430 | if (device->cap._BQC) |
429 | 431 | return acpi_evaluate_integer(device->dev->handle, "_BQC", NULL, | |
430 | status = acpi_evaluate_integer(device->dev->handle, "_BQC", NULL, level); | 432 | level); |
431 | 433 | *level = device->brightness->curr; | |
432 | return status; | 434 | return AE_OK; |
433 | } | 435 | } |
434 | 436 | ||
435 | static int | 437 | static int |