From 13cfbe51357bf3275b14046e0031ea2b7fdaf8ce Mon Sep 17 00:00:00 2001 From: Bernhard Nortmann Date: Fri, 21 Aug 2015 15:13:21 +0200 Subject: 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 [trini: Add dummy __led_init to pca9551_led.c] Signed-off-by: Tom Rini --- drivers/misc/pca9551_led.c | 6 +++++- drivers/misc/status_led.c | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'drivers/misc') diff --git a/drivers/misc/pca9551_led.c b/drivers/misc/pca9551_led.c index d4034f6..4da0319 100644 --- a/drivers/misc/pca9551_led.c +++ b/drivers/misc/pca9551_led.c @@ -116,8 +116,12 @@ static int pca9551_led_set_blink_rate(int idx, struct pca9551_blink_rate rate) } /* - * Functions referenced by cmd_led.c + * Functions referenced by cmd_led.c or status_led.c */ +void __led_init(led_id_t id, int state) +{ +} + void __led_set(led_id_t mask, int state) { if (state == STATUS_LED_OFF) diff --git a/drivers/misc/status_led.c b/drivers/misc/status_led.c index 9869d98..31e8831 100644 --- a/drivers/misc/status_led.c +++ b/drivers/misc/status_led.c @@ -73,7 +73,7 @@ led_dev_t led_dev[] = { static int status_led_init_done = 0; -static void status_led_init (void) +void status_led_init(void) { led_dev_t *ld; int i; -- cgit v1.1