leds: bugfixes for leds-gpio
authorDavid Brownell <dbrownell@users.sourceforge.net>
Wed, 31 Oct 2007 09:37:37 +0000 (10:37 +0100)
committerRichard Purdie <rpurdie@rpsys.net>
Mon, 5 Nov 2007 21:54:41 +0000 (21:54 +0000)
commit199fb21d520ac8c09de1f1288e667988815aa79a
tree2bed812af4e398e9795023bea7e86f02bdcf93d6
parentc11eef21aa119a41fa210b9693f2346997885bcf
leds: bugfixes for leds-gpio

Three bugfixes to the leds-gpio driver, plus minor whitespace tweaks:

 - Do the INIT_WORK() before registering each LED, so if its trigger
   becomes immediately active it can schedule work without oopsing..

 - Use normal registration, not platform_driver_probe(), so that
   devices appearing "late" (hotplug type) can still be bound.

 - Mark the driver remove code as "__devexit", preventing oopses
   when the underlying device is removed.

These issues came up when using this driver with some GPIO expanders
living on serial busses, which act unlike "normal" platform devices:
they can appear and vanish along with the serial bus driver.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
drivers/leds/leds-gpio.c