allow LED initialization without STATUS_LED_BOOT
authorBernhard Nortmann <bernhard.nortmann@web.de>
Fri, 21 Aug 2015 13:13:21 +0000 (15:13 +0200)
committerTom Rini <trini@konsulko.com>
Sat, 24 Oct 2015 17:50:02 +0000 (13:50 -0400)
commit13cfbe51357bf3275b14046e0031ea2b7fdaf8ce
tree6b2432f23b0ad1f8941b56157a3d9a6d693f9542
parentd375ebbcb655ce8f9012cf93db347d3ced66eaac
allow LED initialization without STATUS_LED_BOOT

For current U-Boot to initialize status LEDs via status_led_init(), it
is required to have both CONFIG_STATUS_LED and STATUS_LED_BOOT defined.
This may be a particular concern with GPIO LEDs, where __led_init() is
required to correctly set up the GPIO (gpio_request and
gpio_direction_output). Without STATUS_LED_BOOT the initialization isn't
called, which could leave the user with a non-functional "led" command -
due to the fact that the LED routines in gpio_led.c use gpio_set_value()
just fine, but the GPIO never got set up properly in the first place.

I think having CONFIG_STATUS_LED is sufficient to justify a
corresponding call to status_led_init(), even with no STATUS_LED_BOOT
defined. To do so, common/board_r.c needs call that routine, so it now
is exposed via status_led.h.

Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
[trini: Add dummy __led_init to pca9551_led.c]
Signed-off-by: Tom Rini <trini@konsulko.com>
common/board_r.c
drivers/misc/pca9551_led.c
drivers/misc/status_led.c
include/status_led.h