diff --git a/board/eukrea/cpu9260/led.c b/board/eukrea/cpu9260/led.c
index 8d865eb..434cffb 100644
--- a/board/eukrea/cpu9260/led.c
+++ b/board/eukrea/cpu9260/led.c
@@ -51,49 +51,49 @@
 	at91_set_pio_value(CONFIG_BLUE_LED, 1);
 }
 
-void red_LED_off(void)
+void red_led_off(void)
 {
 	at91_set_pio_value(CONFIG_RED_LED, 1);
 	saved_state[STATUS_LED_RED] = STATUS_LED_OFF;
 }
 
-void green_LED_off(void)
+void green_led_off(void)
 {
 	at91_set_pio_value(CONFIG_GREEN_LED, 1);
 	saved_state[STATUS_LED_GREEN] = STATUS_LED_OFF;
 }
 
-void yellow_LED_off(void)
+void yellow_led_off(void)
 {
 	at91_set_pio_value(CONFIG_YELLOW_LED, 1);
 	saved_state[STATUS_LED_YELLOW] = STATUS_LED_OFF;
 }
 
-void blue_LED_off(void)
+void blue_led_off(void)
 {
 	at91_set_pio_value(CONFIG_BLUE_LED, 1);
 	saved_state[STATUS_LED_BLUE] = STATUS_LED_OFF;
 }
 
-void red_LED_on(void)
+void red_led_on(void)
 {
 	at91_set_pio_value(CONFIG_RED_LED, 0);
 	saved_state[STATUS_LED_RED] = STATUS_LED_ON;
 }
 
-void green_LED_on(void)
+void green_led_on(void)
 {
 	at91_set_pio_value(CONFIG_GREEN_LED, 0);
 	saved_state[STATUS_LED_GREEN] = STATUS_LED_ON;
 }
 
-void yellow_LED_on(void)
+void yellow_led_on(void)
 {
 	at91_set_pio_value(CONFIG_YELLOW_LED, 0);
 	saved_state[STATUS_LED_YELLOW] = STATUS_LED_ON;
 }
 
-void blue_LED_on(void)
+void blue_led_on(void)
 {
 	at91_set_pio_value(CONFIG_BLUE_LED, 0);
 	saved_state[STATUS_LED_BLUE] = STATUS_LED_ON;
@@ -108,24 +108,24 @@
 {
 	if (STATUS_LED_BLUE == mask) {
 		if (STATUS_LED_ON == saved_state[STATUS_LED_BLUE])
-			blue_LED_off();
+			blue_led_off();
 		else
-			blue_LED_on();
+			blue_led_on();
 	} else if (STATUS_LED_RED == mask) {
 		if (STATUS_LED_ON == saved_state[STATUS_LED_RED])
-			red_LED_off();
+			red_led_off();
 		else
-			red_LED_on();
+			red_led_on();
 	} else if (STATUS_LED_GREEN == mask) {
 		if (STATUS_LED_ON == saved_state[STATUS_LED_GREEN])
-			green_LED_off();
+			green_led_off();
 		else
-			green_LED_on();
+			green_led_on();
 	} else if (STATUS_LED_YELLOW == mask) {
 		if (STATUS_LED_ON == saved_state[STATUS_LED_YELLOW])
-			yellow_LED_off();
+			yellow_led_off();
 		else
-			yellow_LED_on();
+			yellow_led_on();
 	}
 }
 
@@ -133,23 +133,23 @@
 {
 	if (STATUS_LED_BLUE == mask) {
 		if (STATUS_LED_ON == state)
-			blue_LED_on();
+			blue_led_on();
 		else
-			blue_LED_off();
+			blue_led_off();
 	} else if (STATUS_LED_RED == mask) {
 		if (STATUS_LED_ON == state)
-			red_LED_on();
+			red_led_on();
 		else
-			red_LED_off();
+			red_led_off();
 	} else if (STATUS_LED_GREEN == mask) {
 		if (STATUS_LED_ON == state)
-			green_LED_on();
+			green_led_on();
 		else
-			green_LED_off();
+			green_led_off();
 	} else if (STATUS_LED_YELLOW == mask) {
 		if (STATUS_LED_ON == state)
-			yellow_LED_on();
+			yellow_led_on();
 		else
-			yellow_LED_off();
+			yellow_led_off();
 	}
 }
