backlight: atmel-pwm-bl: fix gpio polarity in remove
authorJohan Hovold <jhovold@gmail.com>
Tue, 12 Nov 2013 23:09:39 +0000 (15:09 -0800)
committerBen Hutchings <ben@decadent.org.uk>
Fri, 3 Jan 2014 04:33:21 +0000 (04:33 +0000)
commit ad5066d4c2b1d696749f8d7816357c23b648c4d3 upstream.

Make sure to honour gpio polarity also at remove so that the backlight is
actually disabled on boards with active-low enable pin.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Acked-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/video/backlight/atmel-pwm-bl.c

index 4d2bbd8..dab3a0c 100644 (file)
@@ -211,7 +211,8 @@ static int __exit atmel_pwm_bl_remove(struct platform_device *pdev)
        struct atmel_pwm_bl *pwmbl = platform_get_drvdata(pdev);
 
        if (pwmbl->gpio_on != -1) {
-               gpio_set_value(pwmbl->gpio_on, 0);
+               gpio_set_value(pwmbl->gpio_on,
+                                       0 ^ pwmbl->pdata->on_active_low);
                gpio_free(pwmbl->gpio_on);
        }
        pwm_channel_disable(&pwmbl->pwmc);