lkml.org 
[lkml]   [2013]   [Jul]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    SubjectRe: [PATCH 2/3] ACPI / video: Always call acpi_video_init_brightness() on init
    From
    Date
    From: Matthew Garrett <matthew.garrett@nebula.com>

    We have to call acpi_video_init_brightness() even if we're not going
    to initialise the backlight - Thinkpads seem to use this as the
    trigger for enabling ACPI notifications rather than handling it in
    firmware.

    [rjw: Drop the brightness object created by
    acpi_video_init_brightness() if we are not going to use it.]
    Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Tested-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
    ---
    drivers/acpi/video.c | 11 ++++++++---
    1 file changed, 8 insertions(+), 3 deletions(-)

    Index: linux-pm/drivers/acpi/video.c
    ===================================================================
    --- linux-pm.orig/drivers/acpi/video.c
    +++ linux-pm/drivers/acpi/video.c
    @@ -884,6 +884,9 @@ static void acpi_video_device_find_cap(s
    if (acpi_has_method(device->dev->handle, "_DDC"))
    device->cap._DDC = 1;

    + if (acpi_video_init_brightness(device))
    + return;
    +
    if (acpi_video_backlight_support()) {
    struct backlight_properties props;
    struct pci_dev *pdev;
    @@ -893,9 +896,6 @@ static void acpi_video_device_find_cap(s
    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;
    @@ -955,6 +955,11 @@ static void acpi_video_device_find_cap(s
    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;
    }
    }

    --
    Igor Gnatenko
    Fedora release 19 (Schrödinger’s Cat)
    Linux 3.9.9-302.fc19.x86_64

    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2013-07-18 08:21    [W:2.684 / U:0.096 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site