Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 17 Nov 2009 17:16:57 +0000 (09:16 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 17 Nov 2009 17:16:57 +0000 (09:16 -0800)
* 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds:
  leds-gpio: fix possible crash on OF device unbinding
  backlight: Fix backlight limiting on spitz/corgi devices
  backlight: lcd - Fix wrong sizeof

drivers/leds/leds-gpio.c
drivers/video/backlight/corgi_lcd.c
drivers/video/backlight/lcd.c

index 7467980b8cf975dd92758c13d57d189322b2a6f2..e5225d28f39245cbff44373f38947e3839847a6f 100644 (file)
@@ -78,6 +78,8 @@ static int __devinit create_gpio_led(const struct gpio_led *template,
 {
        int ret, state;
 
+       led_dat->gpio = -1;
+
        /* skip leds that aren't available */
        if (!gpio_is_valid(template->gpio)) {
                printk(KERN_INFO "Skipping unavailable LED gpio %d (%s)\n",
index 2211a852af9cfbfa01bb0af08fd88d492456afdb..96774949cd30ba3964ea1340e47a3524f841c08b 100644 (file)
@@ -433,8 +433,9 @@ static int corgi_bl_update_status(struct backlight_device *bd)
 
        if (corgibl_flags & CORGIBL_SUSPENDED)
                intensity = 0;
-       if (corgibl_flags & CORGIBL_BATTLOW)
-               intensity &= lcd->limit_mask;
+
+       if ((corgibl_flags & CORGIBL_BATTLOW) && intensity > lcd->limit_mask)
+               intensity = lcd->limit_mask;
 
        return corgi_bl_set_intensity(lcd, intensity);
 }
index b6449470106cd47e8db704edfd074c53dde8ec4b..a482dd7b0311bcd5eacdd1ca8cfaf49d5ff0eac8 100644 (file)
@@ -56,7 +56,7 @@ static int fb_notifier_callback(struct notifier_block *self,
 
 static int lcd_register_fb(struct lcd_device *ld)
 {
-       memset(&ld->fb_notif, 0, sizeof(&ld->fb_notif));
+       memset(&ld->fb_notif, 0, sizeof(ld->fb_notif));
        ld->fb_notif.notifier_call = fb_notifier_callback;
        return fb_register_client(&ld->fb_notif);
 }