linux-uconsole/drivers/leds
Anton Vorontsov 78164a9748 leds-gpio: fix default state handling on OF platforms
commit 0493a4ff10 upstream.

The driver wrongly sets default state for LEDs that don't specify
default-state property.

Currently the driver handles default state this way:

memset(&led, 0, sizeof(led));
for_each_child_of_node(np, child) {
	state = of_get_property(child, "default-state", NULL);
	if (state) {
		if (!strcmp(state, "keep"))
			led.default_state = LEDS_GPIO_DEFSTATE_KEEP;
		...
	}
	ret = create_gpio_led(&led, ...);
}

Which means that all LEDs that do not specify default-state will inherit
the last value of the default-state property, which is wrong.

This patch fixes the issue by moving LED's template initialization into
the loop body.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-04-01 15:58:53 -07:00
..
Kconfig leds: Fix indentation in LEDS_LP3944 Kconfig entry 2009-09-07 14:38:04 +01:00
led-class.c leds: allow led-drivers to use a variable range of brightness values 2009-04-06 16:06:25 +01:00
led-core.c leds: Cleanup various whitespace and code style issues 2008-04-24 23:37:42 +01:00
led-triggers.c leds: Prevent multiple LED triggers with the same name 2009-04-06 16:06:26 +01:00
leds-alix2.c leds: alix-leds2 fixed for Award BIOS 2009-06-23 20:20:34 +01:00
leds-ams-delta.c leds: Add suspend/resume to the core class 2009-01-08 17:55:03 +00:00
leds-atmel-pwm.c leds: fix unsigned value overflow in atmel pwm driver 2008-07-23 09:49:56 +01:00
leds-bd2802.c leds: add the sysfs interface into the leds-bd2802 driver for changing wave pattern and led current. 2009-06-23 20:19:10 +01:00
leds-clevo-mail.c Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds 2009-09-26 10:50:47 -07:00
leds-cobalt-qube.c leds: Fix LED names 2009-09-07 14:37:27 +01:00
leds-cobalt-raq.c leds: Fix LED names 2009-09-07 14:37:27 +01:00
leds-da903x.c leds: da903x: (da9030 only) led brightness reversed. 2008-10-30 22:14:10 +08:00
leds-dac124s085.c spi: prefix modalias with "spi:" 2009-09-23 07:39:43 -07:00
leds-fsg.c leds: Add suspend/resume to the core class 2009-01-08 17:55:03 +00:00
leds-gpio.c leds-gpio: fix default state handling on OF platforms 2010-04-01 15:58:53 -07:00
leds-h1940.c [ARM] S3C24XX: GPIO: Move gpio functions out of <mach/hardware.h> 2009-05-18 16:25:40 +01:00
leds-hp6xx.c leds: Add suspend/resume to the core class 2009-01-08 17:55:03 +00:00
leds-locomo.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
leds-lp3944.c leds: LED driver for National Semiconductor LP3944 Funlight Chip 2009-06-23 20:21:38 +01:00
leds-net48xx.c leds: Add suspend/resume to the core class 2009-01-08 17:55:03 +00:00
leds-pca955x.c leds: leds-pca955x - Mark pca955x_led_set() static 2008-10-20 22:57:56 +01:00
leds-pca9532.c leds: leds-pca9532 - Drop unused module parameters 2009-10-04 22:53:43 +02:00
leds-pwm.c leds: simple driver for pwm driven LEDs 2009-04-06 16:06:26 +01:00
leds-rb532.c leds: Add rb532 LED driver for the User LED 2009-04-06 16:06:26 +01:00
leds-s3c24xx.c [ARM] S3C24XX: GPIO: Move gpio functions out of <mach/hardware.h> 2009-05-18 16:25:40 +01:00
leds-sunfire.c leds: Add driver for Sunfire UltraSPARC server LEDs. 2008-08-31 20:26:48 -07:00
leds-wm831x-status.c leds: Add WM831x status LED driver 2009-09-07 14:33:33 +01:00
leds-wm8350.c leds: Add suspend/resume to the core class 2009-01-08 17:55:03 +00:00
leds-wrap.c leds: Add suspend/resume to the core class 2009-01-08 17:55:03 +00:00
leds.h leds: allow led-drivers to use a variable range of brightness values 2009-04-06 16:06:25 +01:00
ledtrig-backlight.c leds: Add backlight LED trigger 2008-10-20 22:34:12 +01:00
ledtrig-default-on.c leds: allow led-drivers to use a variable range of brightness values 2009-04-06 16:06:25 +01:00
ledtrig-gpio.c leds: fix coding style in worker thread code for ledtrig-gpio. 2009-09-07 14:33:33 +01:00
ledtrig-heartbeat.c leds: allow led-drivers to use a variable range of brightness values 2009-04-06 16:06:25 +01:00
ledtrig-ide-disk.c leds: allow led-drivers to use a variable range of brightness values 2009-04-06 16:06:25 +01:00
ledtrig-timer.c leds: allow led-drivers to use a variable range of brightness values 2009-04-06 16:06:25 +01:00
Makefile leds: Add WM831x status LED driver 2009-09-07 14:33:33 +01:00