summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--avr/cmd_boot.c1
-rw-r--r--avr/cmd_gpio.c2
-rw-r--r--avr/env.c1
-rw-r--r--avr/gpio.c1
-rw-r--r--include/errnum.h25
-rw-r--r--mk/avr.rules.mk2
6 files changed, 19 insertions, 13 deletions
diff --git a/avr/cmd_boot.c b/avr/cmd_boot.c
index fb533c7..bba510f 100644
--- a/avr/cmd_boot.c
+++ b/avr/cmd_boot.c
@@ -379,6 +379,7 @@ command_ret_t do_console(cmd_tbl_t *cmdtp UNUSED, uint_fast8_t flag UNUSED, int
case 2:
my_puts_P(PSTR("\n"
"------------------------------------------------\n"));
+ /* FALL TROUGH */
case 1:
state = 0;
switch (toupper(ch)) {
diff --git a/avr/cmd_gpio.c b/avr/cmd_gpio.c
index 549654f..32bd53a 100644
--- a/avr/cmd_gpio.c
+++ b/avr/cmd_gpio.c
@@ -247,6 +247,7 @@ command_ret_t do_gpio(cmd_tbl_t *cmdtp UNUSED, uint_fast8_t flag UNUSED, int arg
switch (toupper(argv[optind][0])) {
case 'H':
level = 1;
+ /* FALL TROUGH */
case 'L':
mode = OUTPUT;
break;
@@ -263,6 +264,7 @@ command_ret_t do_gpio(cmd_tbl_t *cmdtp UNUSED, uint_fast8_t flag UNUSED, int arg
switch (*endp) {
case 'M':
value *= 1000;
+ /* FALL TROUGH */
case 'K':
value *= 1000;
endp++;
diff --git a/avr/env.c b/avr/env.c
index 671d1c4..900f689 100644
--- a/avr/env.c
+++ b/avr/env.c
@@ -63,6 +63,7 @@ char env_get_char(uint_fast16_t index)
switch (env_valid) {
case 2:
off += CONFIG_ENV_SIZE;
+ /* FALL TROUGH */
case 1:
ret = (char) eeprom_read_byte((const uint8_t *)off + index +
offsetof(env_t, data));
diff --git a/avr/gpio.c b/avr/gpio.c
index 73e9c39..6f73cee 100644
--- a/avr/gpio.c
+++ b/avr/gpio.c
@@ -148,6 +148,7 @@ int gpio_config(int pin, gpiomode_t mode)
break;
case OUTPUT:
gpio_timer_off(pinlist[pin].timer);
+ /* FALL TROUGH */
case OUTPUT_TIMER:
ATOMIC_BLOCK(ATOMIC_FORCEON) {
p->ddr |= bit;
diff --git a/include/errnum.h b/include/errnum.h
index 628c432..5faa65c 100644
--- a/include/errnum.h
+++ b/include/errnum.h
@@ -11,18 +11,19 @@
typedef enum {
ESUCCESS = 0,
- ENOMEM = 101,
- EINTR,
- EBUSTO,
- EUNEXPARG,
- EATRANGE,
- EATALRDY,
- EATNOT,
- EATOPEN,
- EATOTHER,
- ERUNNING,
- EINVAL,
- EEOF,
+ // Unknown error
+ ENOMEM = 101, // Not enough memory
+ EINTR, // Interrupt
+ EBUSTO, // Bus timeout
+ EUNEXPARG, // Unexpected argument
+ EATRANGE, // Invalid disk number
+ EATALRDY, // Disk already attached
+ EATNOT, // Disk not attached
+ EATOPEN, // Error opening file
+ EATOTHER, // File already attached to other drive
+ ERUNNING, // CPU is running
+ EINVAL, // Invalid argument
+ EEOF, // Unexpected EOF
} ERRNUM;
diff --git a/mk/avr.rules.mk b/mk/avr.rules.mk
index 66fab58..97d9fdf 100644
--- a/mk/avr.rules.mk
+++ b/mk/avr.rules.mk
@@ -33,7 +33,7 @@ OBJ = $(SRC:.c=.o) $(ASRC:.S=.o)
TGT_CFLAGS += -mmcu=$(MCU) $(OPT) $(CSTD) -g
TGT_CFLAGS += $(ARCH_FLAGS)
-TGT_CFLAGS += -Wextra -Wshadow -Wimplicit-function-declaration
+TGT_CFLAGS += -Wextra -Wshadow -Wimplicit-function-declaration -Wimplicit-fallthrough=1
TGT_CFLAGS += -Wredundant-decls -Wstrict-prototypes
TGT_CFLAGS += -fshort-enums -funsigned-bitfields
TGT_CFLAGS += -fno-common -ffunction-sections -fdata-sections