summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-08-24 11:34:33 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2013-08-24 11:34:33 -0700
commit8495e9c4a9616c9d19f23182d0536485902259db (patch)
treeeabc6c076c16877566868f2f23770f02e783faff
parent5befb98b30cce19bdf2221ea48c39f1fec5c4568 (diff)
parent168cf0eca45b86014b8c2a17fcb0673ab1af809b (diff)
downloadlinux-8495e9c4a9616c9d19f23182d0536485902259db.tar.gz
Merge tag 'acpi-3.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull ACPI fix from Rafael Wysocki: "I really hoped that it wouldn't be necessary to change anything in ACPI at this point, but it turns out that we need to revert one more ACPI video commit causing trouble. This reverts a change in the ACPI video driver that caused the ACPI backlight initialization to be carried out even if acpi_backlight=vendor is passed in the kernel command line which turns out to break things at least on one system" * tag 'acpi-3.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: Revert "ACPI / video: Always call acpi_video_init_brightness() on init"
-rw-r--r--drivers/acpi/video.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
index e1284b8dc6ee..3270d3c8ba4e 100644
--- a/drivers/acpi/video.c
+++ b/drivers/acpi/video.c
@@ -908,9 +908,6 @@ static void acpi_video_device_find_cap(struct acpi_video_device *device)
device->cap._DDC = 1;
}
- if (acpi_video_init_brightness(device))
- return;
-
if (acpi_video_backlight_support()) {
struct backlight_properties props;
struct pci_dev *pdev;
@@ -920,6 +917,9 @@ static void acpi_video_device_find_cap(struct acpi_video_device *device)
static int count = 0;
char *name;
+ result = acpi_video_init_brightness(device);
+ if (result)
+ return;
name = kasprintf(GFP_KERNEL, "acpi_video%d", count);
if (!name)
return;
@@ -979,11 +979,6 @@ static void acpi_video_device_find_cap(struct acpi_video_device *device)
if (result)
printk(KERN_ERR PREFIX "Create sysfs link\n");
- } else {
- /* Remove the brightness object. */
- kfree(device->brightness->levels);
- kfree(device->brightness);
- device->brightness = NULL;
}
}