[U-Boot] [PATCH] common: board_f: cosmetic use __weak for leds

Jeroen Hofstee jeroen at myspectrum.nl
Mon Jun 23 23:20:19 CEST 2014


First of all this looks a lot better, but it also
prevents a gcc warning (W=1), that the weak function
has no previous prototype.

cc: Simon Glass <sjg at chromium.org>
Signed-off-by: Jeroen Hofstee <jeroen at myspectrum.nl>

---
This likely causes some merge issues, but is so uggly it
deserves it.
---
 common/board_f.c     | 29 ++++++++++-------------------
 include/status_led.h | 22 +++++++++++-----------
 2 files changed, 21 insertions(+), 30 deletions(-)

diff --git a/common/board_f.c b/common/board_f.c
index 4ea4cb2..bdab38e 100644
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -37,6 +37,7 @@
 #include <os.h>
 #include <post.h>
 #include <spi.h>
+#include <status_led.h>
 #include <trace.h>
 #include <watchdog.h>
 #include <asm/errno.h>
@@ -78,25 +79,15 @@ DECLARE_GLOBAL_DATA_PTR;
  ************************************************************************
  * May be supplied by boards if desired
  */
-inline void __coloured_LED_init(void) {}
-void coloured_LED_init(void)
-	__attribute__((weak, alias("__coloured_LED_init")));
-inline void __red_led_on(void) {}
-void red_led_on(void) __attribute__((weak, alias("__red_led_on")));
-inline void __red_led_off(void) {}
-void red_led_off(void) __attribute__((weak, alias("__red_led_off")));
-inline void __green_led_on(void) {}
-void green_led_on(void) __attribute__((weak, alias("__green_led_on")));
-inline void __green_led_off(void) {}
-void green_led_off(void) __attribute__((weak, alias("__green_led_off")));
-inline void __yellow_led_on(void) {}
-void yellow_led_on(void) __attribute__((weak, alias("__yellow_led_on")));
-inline void __yellow_led_off(void) {}
-void yellow_led_off(void) __attribute__((weak, alias("__yellow_led_off")));
-inline void __blue_led_on(void) {}
-void blue_led_on(void) __attribute__((weak, alias("__blue_led_on")));
-inline void __blue_led_off(void) {}
-void blue_led_off(void) __attribute__((weak, alias("__blue_led_off")));
+__weak void coloured_LED_init(void) {}
+__weak void red_led_on(void) {}
+__weak void red_led_off(void) {}
+__weak void green_led_on(void) {}
+__weak void green_led_off(void) {}
+__weak void yellow_led_on(void) {}
+__weak void yellow_led_off(void) {}
+__weak void blue_led_on(void) {}
+__weak void blue_led_off(void) {}
 
 /*
  * Why is gd allocated a register? Prior to reloc it might be better to
diff --git a/include/status_led.h b/include/status_led.h
index ecff60d..848708a 100644
--- a/include/status_led.h
+++ b/include/status_led.h
@@ -294,19 +294,21 @@ extern void __led_set (led_id_t mask, int state);
 # include <asm/status_led.h>
 #endif
 
+#endif	/* CONFIG_STATUS_LED	*/
+
 /*
  * Coloured LEDs API
  */
 #ifndef	__ASSEMBLY__
-extern void	coloured_LED_init (void);
-extern void	red_led_on(void);
-extern void	red_led_off(void);
-extern void	green_led_on(void);
-extern void	green_led_off(void);
-extern void	yellow_led_on(void);
-extern void	yellow_led_off(void);
-extern void	blue_led_on(void);
-extern void	blue_led_off(void);
+void coloured_LED_init(void);
+void red_led_on(void);
+void red_led_off(void);
+void green_led_on(void);
+void green_led_off(void);
+void yellow_led_on(void);
+void yellow_led_off(void);
+void blue_led_on(void);
+void blue_led_off(void);
 #else
 	.extern LED_init
 	.extern red_led_on
@@ -319,6 +321,4 @@ extern void	blue_led_off(void);
 	.extern blue_led_off
 #endif
 
-#endif	/* CONFIG_STATUS_LED	*/
-
 #endif	/* _STATUS_LED_H_	*/
-- 
1.8.3.2



More information about the U-Boot mailing list