summaryrefslogtreecommitdiffstats
path: root/acpi-video-Don-t-register-acpi_video_resume-notifier.patch
diff options
context:
space:
mode:
Diffstat (limited to 'acpi-video-Don-t-register-acpi_video_resume-notifier.patch')
-rw-r--r--acpi-video-Don-t-register-acpi_video_resume-notifier.patch214
1 files changed, 0 insertions, 214 deletions
diff --git a/acpi-video-Don-t-register-acpi_video_resume-notifier.patch b/acpi-video-Don-t-register-acpi_video_resume-notifier.patch
deleted file mode 100644
index ac40462cd..000000000
--- a/acpi-video-Don-t-register-acpi_video_resume-notifier.patch
+++ /dev/null
@@ -1,214 +0,0 @@
-Bugzilla: 1012674
-Upstream-status: Queued for 3.16
-
-From 5d9b5801af7cbeaab060fa07576ca6cd7dc3be89 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Mon, 2 Jun 2014 17:41:03 +0200
-Subject: [PATCH 06/14] acpi-video: Don't register acpi_video_resume notifier
- without backlight devices
-
-If we're not going to be registering any backlight devices then
-acpi_video_resume is always nop, so don't register it in that case.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-
---
-
-Note to reviewers the changes to acpi_video_dev_register_backlight() only
-remove the "if (!acpi_video_verify_backlight_support()) {" which surrounded
-the entire body of the function, as that is checked earlier now.
----
- drivers/acpi/video.c | 139 +++++++++++++++++++++++++++------------------------
- 1 file changed, 74 insertions(+), 65 deletions(-)
-
-diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
-index f8bc5a755dda..a68313720c9c 100644
---- a/drivers/acpi/video.c
-+++ b/drivers/acpi/video.c
-@@ -150,6 +150,7 @@ struct acpi_video_enumerated_device {
-
- struct acpi_video_bus {
- struct acpi_device *device;
-+ bool backlight_registered;
- u8 dos_setting;
- struct acpi_video_enumerated_device *attached_array;
- u8 attached_count;
-@@ -1658,88 +1659,89 @@ acpi_video_bus_match(acpi_handle handle, u32 level, void *context,
-
- static void acpi_video_dev_register_backlight(struct acpi_video_device *device)
- {
-- if (acpi_video_verify_backlight_support()) {
-- struct backlight_properties props;
-- struct pci_dev *pdev;
-- acpi_handle acpi_parent;
-- struct device *parent = NULL;
-- int result;
-- static int count;
-- char *name;
--
-- result = acpi_video_init_brightness(device);
-- if (result)
-- return;
-- name = kasprintf(GFP_KERNEL, "acpi_video%d", count);
-- if (!name)
-- return;
-- count++;
-+ struct backlight_properties props;
-+ struct pci_dev *pdev;
-+ acpi_handle acpi_parent;
-+ struct device *parent = NULL;
-+ int result;
-+ static int count;
-+ char *name;
-
-- acpi_get_parent(device->dev->handle, &acpi_parent);
-+ result = acpi_video_init_brightness(device);
-+ if (result)
-+ return;
-+ name = kasprintf(GFP_KERNEL, "acpi_video%d", count);
-+ if (!name)
-+ return;
-+ count++;
-
-- pdev = acpi_get_pci_dev(acpi_parent);
-- if (pdev) {
-- parent = &pdev->dev;
-- pci_dev_put(pdev);
-- }
-+ acpi_get_parent(device->dev->handle, &acpi_parent);
-
-- memset(&props, 0, sizeof(struct backlight_properties));
-- props.type = BACKLIGHT_FIRMWARE;
-- props.max_brightness = device->brightness->count - 3;
-- device->backlight = backlight_device_register(name,
-- parent,
-- device,
-- &acpi_backlight_ops,
-- &props);
-- kfree(name);
-- if (IS_ERR(device->backlight))
-- return;
-+ pdev = acpi_get_pci_dev(acpi_parent);
-+ if (pdev) {
-+ parent = &pdev->dev;
-+ pci_dev_put(pdev);
-+ }
-
-- /*
-- * Save current brightness level in case we have to restore it
-- * before acpi_video_device_lcd_set_level() is called next time.
-- */
-- device->backlight->props.brightness =
-- acpi_video_get_brightness(device->backlight);
-+ memset(&props, 0, sizeof(struct backlight_properties));
-+ props.type = BACKLIGHT_FIRMWARE;
-+ props.max_brightness = device->brightness->count - 3;
-+ device->backlight = backlight_device_register(name,
-+ parent,
-+ device,
-+ &acpi_backlight_ops,
-+ &props);
-+ kfree(name);
-+ if (IS_ERR(device->backlight))
-+ return;
-
-- device->cooling_dev = thermal_cooling_device_register("LCD",
-- device->dev, &video_cooling_ops);
-- if (IS_ERR(device->cooling_dev)) {
-- /*
-- * Set cooling_dev to NULL so we don't crash trying to
-- * free it.
-- * Also, why the hell we are returning early and
-- * not attempt to register video output if cooling
-- * device registration failed?
-- * -- dtor
-- */
-- device->cooling_dev = NULL;
-- return;
-- }
-+ /*
-+ * Save current brightness level in case we have to restore it
-+ * before acpi_video_device_lcd_set_level() is called next time.
-+ */
-+ device->backlight->props.brightness =
-+ acpi_video_get_brightness(device->backlight);
-
-- dev_info(&device->dev->dev, "registered as cooling_device%d\n",
-- device->cooling_dev->id);
-- result = sysfs_create_link(&device->dev->dev.kobj,
-- &device->cooling_dev->device.kobj,
-- "thermal_cooling");
-- if (result)
-- printk(KERN_ERR PREFIX "Create sysfs link\n");
-- result = sysfs_create_link(&device->cooling_dev->device.kobj,
-- &device->dev->dev.kobj, "device");
-- if (result)
-- printk(KERN_ERR PREFIX "Create sysfs link\n");
-+ device->cooling_dev = thermal_cooling_device_register("LCD",
-+ device->dev, &video_cooling_ops);
-+ if (IS_ERR(device->cooling_dev)) {
-+ /*
-+ * Set cooling_dev to NULL so we don't crash trying to free it.
-+ * Also, why the hell we are returning early and not attempt to
-+ * register video output if cooling device registration failed?
-+ * -- dtor
-+ */
-+ device->cooling_dev = NULL;
-+ return;
- }
-+
-+ dev_info(&device->dev->dev, "registered as cooling_device%d\n",
-+ device->cooling_dev->id);
-+ result = sysfs_create_link(&device->dev->dev.kobj,
-+ &device->cooling_dev->device.kobj,
-+ "thermal_cooling");
-+ if (result)
-+ printk(KERN_ERR PREFIX "Create sysfs link\n");
-+ result = sysfs_create_link(&device->cooling_dev->device.kobj,
-+ &device->dev->dev.kobj, "device");
-+ if (result)
-+ printk(KERN_ERR PREFIX "Create sysfs link\n");
- }
-
- static int acpi_video_bus_register_backlight(struct acpi_video_bus *video)
- {
- struct acpi_video_device *dev;
-
-+ if (!acpi_video_verify_backlight_support())
-+ return 0;
-+
- mutex_lock(&video->device_list_lock);
- list_for_each_entry(dev, &video->video_device_list, entry)
- acpi_video_dev_register_backlight(dev);
- mutex_unlock(&video->device_list_lock);
-
-+ video->backlight_registered = true;
-+
- video->pm_nb.notifier_call = acpi_video_resume;
- video->pm_nb.priority = 0;
- return register_pm_notifier(&video->pm_nb);
-@@ -1767,13 +1769,20 @@ static void acpi_video_dev_unregister_backlight(struct acpi_video_device *device
- static int acpi_video_bus_unregister_backlight(struct acpi_video_bus *video)
- {
- struct acpi_video_device *dev;
-- int error = unregister_pm_notifier(&video->pm_nb);
-+ int error;
-+
-+ if (!video->backlight_registered)
-+ return 0;
-+
-+ error = unregister_pm_notifier(&video->pm_nb);
-
- mutex_lock(&video->device_list_lock);
- list_for_each_entry(dev, &video->video_device_list, entry)
- acpi_video_dev_unregister_backlight(dev);
- mutex_unlock(&video->device_list_lock);
-
-+ video->backlight_registered = false;
-+
- return error;
- }
-
---
-1.9.0
-