diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-08-24 14:34:33 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-08-24 14:34:33 -0400 |
commit | 8495e9c4a9616c9d19f23182d0536485902259db (patch) | |
tree | eabc6c076c16877566868f2f23770f02e783faff | |
parent | 5befb98b30cce19bdf2221ea48c39f1fec5c4568 (diff) | |
parent | 168cf0eca45b86014b8c2a17fcb0673ab1af809b (diff) |
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.c | 11 |
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) | |||
908 | device->cap._DDC = 1; | 908 | device->cap._DDC = 1; |
909 | } | 909 | } |
910 | 910 | ||
911 | if (acpi_video_init_brightness(device)) | ||
912 | return; | ||
913 | |||
914 | if (acpi_video_backlight_support()) { | 911 | if (acpi_video_backlight_support()) { |
915 | struct backlight_properties props; | 912 | struct backlight_properties props; |
916 | struct pci_dev *pdev; | 913 | struct pci_dev *pdev; |
@@ -920,6 +917,9 @@ static void acpi_video_device_find_cap(struct acpi_video_device *device) | |||
920 | static int count = 0; | 917 | static int count = 0; |
921 | char *name; | 918 | char *name; |
922 | 919 | ||
920 | result = acpi_video_init_brightness(device); | ||
921 | if (result) | ||
922 | return; | ||
923 | name = kasprintf(GFP_KERNEL, "acpi_video%d", count); | 923 | name = kasprintf(GFP_KERNEL, "acpi_video%d", count); |
924 | if (!name) | 924 | if (!name) |
925 | return; | 925 | return; |
@@ -979,11 +979,6 @@ static void acpi_video_device_find_cap(struct acpi_video_device *device) | |||
979 | if (result) | 979 | if (result) |
980 | printk(KERN_ERR PREFIX "Create sysfs link\n"); | 980 | printk(KERN_ERR PREFIX "Create sysfs link\n"); |
981 | 981 | ||
982 | } else { | ||
983 | /* Remove the brightness object. */ | ||
984 | kfree(device->brightness->levels); | ||
985 | kfree(device->brightness); | ||
986 | device->brightness = NULL; | ||
987 | } | 982 | } |
988 | } | 983 | } |
989 | 984 | ||