[lkml]   [2006]   [Dec]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    Subject[PATCH] backlight: do not power off backlight when unregistering (try 3)
    ACPI drivers like ibm-acpi are moving to the backlight sysfs infrastructure.
    During ibm-acpi testing, I have noticed that backlight_device_unregister()
    sets the display brightness and power to zero.

    This causes the display to be dimmed on ibm-acpi module removal. It will
    affect all other ACPI drivers that are being converted to use the backlight
    class, as well. It also affects a number of framebuffer devices that are
    used on desktops and laptops which might also not want such behaviour.

    Since working around this behaviour requires undesireable hacks, Richard
    Purdie decided that we would be better off reverting the changes in the
    sysfs class, and adding the code to dim and power off the backlight device
    to the drivers that want it. This patch is my attempt to do so.

    Patch against latest linux-2.6.git. Changes untested, as I lack the
    required hardware. Still, they are trivial enough that, apart from typos,
    there is little chance of getting them wrong.

    Signed-off-by: Henrique de Moraes Holschuh <>
    Acked-by: Richard Purdie <>
    Acked-by: Pavel Machek <>

    diff --git a/drivers/video/backlight/backlight.c b/drivers/video/backlight/backlight.c
    index 27597c5..de5a6b3 100644
    --- a/drivers/video/backlight/backlight.c
    +++ b/drivers/video/backlight/backlight.c
    @@ -259,12 +259,6 @@ void backlight_device_unregister(struct

    - if (likely(bd->props && bd->props->update_status)) {
    - bd->props->brightness = 0;
    - bd->props->power = 0;
    - bd->props->update_status(bd);
    - }
    bd->props = NULL;

    diff --git a/drivers/video/backlight/corgi_bl.c b/drivers/video/backlight/corgi_bl.c
    index d07ecb5..61587ca 100644
    --- a/drivers/video/backlight/corgi_bl.c
    +++ b/drivers/video/backlight/corgi_bl.c
    @@ -135,6 +135,10 @@ static int corgibl_probe(struct platform

    static int corgibl_remove(struct platform_device *dev)
    + corgibl_data.power = 0;
    + corgibl_data.brightness = 0;
    + corgibl_send_intensity(corgi_backlight_device);

    printk("Corgi Backlight Driver Unloaded\n");
    diff --git a/drivers/video/backlight/hp680_bl.c b/drivers/video/backlight/hp680_bl.c
    index e399321..1c569fb 100644
    --- a/drivers/video/backlight/hp680_bl.c
    +++ b/drivers/video/backlight/hp680_bl.c
    @@ -117,6 +117,10 @@ static int __init hp680bl_probe(struct p

    static int hp680bl_remove(struct platform_device *dev)
    + hp680bl_data.brightness = 0;
    + hp680bl_data.power = 0;
    + hp680bl_send_intensity(hp680_backlight_device);

    return 0;
    diff --git a/drivers/video/backlight/locomolcd.c b/drivers/video/backlight/locomolcd.c
    index 628571c..2d79054 100644
    --- a/drivers/video/backlight/locomolcd.c
    +++ b/drivers/video/backlight/locomolcd.c
    @@ -200,6 +200,10 @@ static int locomolcd_remove(struct locom
    unsigned long flags;

    + locomobl_data.brightness = 0;
    + locomobl_data.power = 0;
    + locomolcd_set_intensity(locomolcd_bl_device);
    locomolcd_dev = NULL;
    "One disk to rule them all, One disk to find them. One disk to bring
    them all and in the darkness grind them. In the Land of Redmond
    where the shadows lie." -- The Silicon Valley Tarot
    Henrique Holschuh
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2006-12-03 15:27    [W:0.024 / U:51.836 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site