summary refs log tree commit diff
diff options
context:
space:
mode:
authorJack Humbert <jack.humb@gmail.com>2017-04-13 14:07:48 -0400
committerGitHub <noreply@github.com>2017-04-13 14:07:48 -0400
commit41a46c7c8e4aa2470c245cbe09deb57c0720698e (patch)
tree8b07323439fc477f47833d7ee7564e26b323a3eb
parentd3301c0f8b0005738ab9aa2030d83739ffb5c4b6 (diff)
parentd68294615f9c67764c06a7524fb59c22c024a106 (diff)
Merge pull request #1224 from fredizzimo/fix_warnings
Fix all warnings and turn on warnings as errors
-rw-r--r--Makefile21
-rw-r--r--build_keyboard.mk10
-rw-r--r--keyboards/ergodox/keymaps/dvorak_programmer/keymap.c6
-rw-r--r--keyboards/ergodox/keymaps/ordinary/keymap.c2
-rw-r--r--keyboards/ergodox/keymaps/yoruian/keymap.c4
-rw-r--r--keyboards/ergodox/keymaps/yoruian/yoruian.h31
-rw-r--r--keyboards/frosty_flake/matrix.c4
-rw-r--r--keyboards/handwired/MS-sculpt-mobile/MS-sculpt-mobile.c1
-rw-r--r--keyboards/handwired/MS_sculpt_mobile/MS_sculpt_mobile.c1
-rw-r--r--keyboards/handwired/MS_sculpt_mobile/MS_sculpt_mobile.h (renamed from keyboards/handwired/MS-sculpt-mobile/MS-sculpt-mobile.h)0
-rw-r--r--keyboards/handwired/MS_sculpt_mobile/Makefile (renamed from keyboards/handwired/MS-sculpt-mobile/Makefile)0
-rw-r--r--keyboards/handwired/MS_sculpt_mobile/babblePaste.c (renamed from keyboards/handwired/MS-sculpt-mobile/babblePaste.c)7
-rw-r--r--keyboards/handwired/MS_sculpt_mobile/babblePaste.h (renamed from keyboards/handwired/MS-sculpt-mobile/babblePaste.h)2
-rw-r--r--keyboards/handwired/MS_sculpt_mobile/babblePaste.txt (renamed from keyboards/handwired/MS-sculpt-mobile/babblePaste.txt)0
-rw-r--r--keyboards/handwired/MS_sculpt_mobile/config.h (renamed from keyboards/handwired/MS-sculpt-mobile/config.h)0
-rw-r--r--keyboards/handwired/MS_sculpt_mobile/keymaps/default/Makefile (renamed from keyboards/handwired/MS-sculpt-mobile/keymaps/default/Makefile)0
-rw-r--r--keyboards/handwired/MS_sculpt_mobile/keymaps/default/config.h (renamed from keyboards/handwired/MS-sculpt-mobile/keymaps/default/config.h)2
-rw-r--r--keyboards/handwired/MS_sculpt_mobile/keymaps/default/keymap.c (renamed from keyboards/handwired/MS-sculpt-mobile/keymaps/default/keymap.c)2
-rw-r--r--keyboards/handwired/MS_sculpt_mobile/keymaps/default/readme.md (renamed from keyboards/handwired/MS-sculpt-mobile/keymaps/default/readme.md)0
-rw-r--r--keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/Makefile (renamed from keyboards/handwired/MS-sculpt-mobile/keymaps/milestogo/Makefile)0
-rw-r--r--keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/config.h (renamed from keyboards/handwired/MS-sculpt-mobile/keymaps/milestogo/config.h)2
-rw-r--r--keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/keymap.c (renamed from keyboards/handwired/MS-sculpt-mobile/keymaps/milestogo/keymap.c)4
-rw-r--r--keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/readme.md (renamed from keyboards/handwired/MS-sculpt-mobile/keymaps/milestogo/readme.md)0
-rw-r--r--keyboards/handwired/MS_sculpt_mobile/readme.md (renamed from keyboards/handwired/MS-sculpt-mobile/readme.md)0
-rw-r--r--keyboards/handwired/MS_sculpt_mobile/rules.mk (renamed from keyboards/handwired/MS-sculpt-mobile/rules.mk)0
-rw-r--r--keyboards/kitten_paw/keymaps/ickerwx/config.h2
-rw-r--r--keyboards/kitten_paw/keymaps/ickerwx/keymap.c2
-rw-r--r--keyboards/planck/keymaps/lucas/keymap.c6
-rw-r--r--keyboards/preonic/keymaps/CMD-Preonic/keymap.c10
-rw-r--r--quantum/keymap_common.c7
-rw-r--r--quantum/keymap_extras/keymap_german_ch.h4
-rw-r--r--quantum/process_keycode/process_printer.c22
-rw-r--r--quantum/process_keycode/process_printer.h2
-rw-r--r--quantum/process_keycode/process_printer_bb.c4
-rw-r--r--quantum/process_keycode/process_unicode.c1
-rw-r--r--quantum/process_keycode/process_unicode_common.c1
-rw-r--r--tmk_core/common/action.c2
-rw-r--r--tmk_core/common/avr/suspend.c1
-rw-r--r--tmk_core/common/mousekey.h13
-rw-r--r--tmk_core/rules.mk6
40 files changed, 112 insertions, 70 deletions
diff --git a/Makefile b/Makefile
index 9d9c9629d5..6a93692bf6 100644
--- a/Makefile
+++ b/Makefile
@@ -21,6 +21,8 @@ override SILENT := false
 
 ON_ERROR := error_occurred=1
 
+BREAK_ON_ERRORS = no
+
 STARTING_MAKEFILE := $(firstword $(MAKEFILE_LIST))
 ROOT_MAKEFILE := $(lastword $(MAKEFILE_LIST))
 ROOT_DIR := $(dir $(ROOT_MAKEFILE))
@@ -462,20 +464,25 @@ endef
 
 include $(ROOT_DIR)/message.mk
 
+ifeq ($(strip $(BREAK_ON_ERRORS)), yes)
+HANDLE_ERROR = exit 1
+else
+HANDLE_ERROR = echo $$error_occurred > $(ERROR_FILE)
+endif
+
 # The empty line is important here, as it will force a new shell to be created for each command
 # Otherwise the command line will become too long with a lot of keyboards and keymaps
 define RUN_COMMAND
 +error_occurred=0;\
 $(COMMAND_$(SILENT_MODE)_$(COMMAND))\
-if [ $$error_occurred -gt 0 ]; then echo $$error_occurred > $(ERROR_FILE); fi;
+if [ $$error_occurred -gt 0 ]; then $(HANDLE_ERROR); fi;
 
 
 endef
 define RUN_TEST
 +error_occurred=0;\
 $($(TEST)_COMMAND)\
-if [ $$error_occurred -gt 0 ]; then echo $$error_occurred > $(ERROR_FILE); fi;
-
+if [ $$error_occurred -gt 0 ]; then $(HANDLE_ERROR); fi;
 endef
 
 # Allow specifying just the subproject, in the keyboard directory, which will compile all keymaps
@@ -527,14 +534,22 @@ test: test-all
 .PHONY: test-clean
 test-clean: test-all-clean
 
+ifdef SKIP_VERSION
+SKIP_GIT := yes
+endif
+
 # Generate the version.h file
 ifndef SKIP_GIT
     GIT_VERSION := $(shell git describe --abbrev=6 --dirty --always --tags 2>/dev/null || date +"%Y-%m-%d-%H:%M:%S")
 else
     GIT_VERSION := NA
 endif
+ifndef SKIP_VERSION
 BUILD_DATE := $(shell date +"%Y-%m-%d-%H:%M:%S")
 $(shell echo '#define QMK_VERSION "$(GIT_VERSION)"' > $(ROOT_DIR)/quantum/version.h)
 $(shell echo '#define QMK_BUILDDATE "$(BUILD_DATE)"' >> $(ROOT_DIR)/quantum/version.h)
+else
+BUILD_DATE := NA
+endif
 
 include $(ROOT_DIR)/testlist.mk
diff --git a/build_keyboard.mk b/build_keyboard.mk
index 9da8277db9..9fa8c31263 100644
--- a/build_keyboard.mk
+++ b/build_keyboard.mk
@@ -176,22 +176,26 @@ endif
 
 ifeq ($(strip $(UCIS_ENABLE)), yes)
     OPT_DEFS += -DUCIS_ENABLE
-    SRC += $(QUANTUM_DIR)/process_keycode/process_unicode_common.c
+    UNICODE_COMMON = yes
     SRC += $(QUANTUM_DIR)/process_keycode/process_ucis.c
 endif
 
 ifeq ($(strip $(UNICODEMAP_ENABLE)), yes)
     OPT_DEFS += -DUNICODEMAP_ENABLE
-    SRC += $(QUANTUM_DIR)/process_keycode/process_unicode_common.c
+    UNICODE_COMMON = yes
     SRC += $(QUANTUM_DIR)/process_keycode/process_unicodemap.c
 endif
 
 ifeq ($(strip $(UNICODE_ENABLE)), yes)
     OPT_DEFS += -DUNICODE_ENABLE
-    SRC += $(QUANTUM_DIR)/process_keycode/process_unicode_common.c
+    UNICODE_COMMON = yes
     SRC += $(QUANTUM_DIR)/process_keycode/process_unicode.c
 endif
 
+ifeq ($(strip $(UNICODE_COMMON)), yes)
+    SRC += $(QUANTUM_DIR)/process_keycode/process_unicode_common.c
+endif
+
 ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
     OPT_DEFS += -DRGBLIGHT_ENABLE
     SRC += $(QUANTUM_DIR)/light_ws2812.c
diff --git a/keyboards/ergodox/keymaps/dvorak_programmer/keymap.c b/keyboards/ergodox/keymaps/dvorak_programmer/keymap.c
index ae4fd444d1..d299d02c34 100644
--- a/keyboards/ergodox/keymaps/dvorak_programmer/keymap.c
+++ b/keyboards/ergodox/keymaps/dvorak_programmer/keymap.c
@@ -311,12 +311,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
         break;        
         case SWITCH_NDS:
              if (record->event.pressed) {
-                return MACRO( D(LSFT), T(F11), U(LSFT), W(500), D(LALT), T(TAB), U(LALT), END); 
+                return MACRO( D(LSFT), T(F11), U(LSFT), W(255), D(LALT), T(TAB), U(LALT), END);
             }                                
         break;        
         case OPEN_CLOSE_PAREN:
             if (record->event.pressed) {
-                return MACRO( D(LSFT), T(LPRN), T(RPRN), U(LSFT), T(LEFT), END);
+                return MACRO( D(LSFT), T(9), T(0), U(LSFT), T(LEFT), END);
             }
         break;
         case OPEN_CLOSE_BRACKET:
@@ -326,7 +326,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
         break;        
         case OPEN_CLOSE_CURLY:
             if (record->event.pressed) {
-                return MACRO( D(LSFT), T(LCBR), T(RCBR), U(LSFT), T(LEFT), END);
+                return MACRO( D(LSFT), T(LBRC), T(RBRC), U(LSFT), T(LEFT), END);
             }
         break;                
         case OPEN_CLOSE_SINGLE_QUOTE:
diff --git a/keyboards/ergodox/keymaps/ordinary/keymap.c b/keyboards/ergodox/keymaps/ordinary/keymap.c
index 1dfdf7e624..ac84df5701 100644
--- a/keyboards/ergodox/keymaps/ordinary/keymap.c
+++ b/keyboards/ergodox/keymaps/ordinary/keymap.c
@@ -392,7 +392,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 
         case NotEq:
         if (record->event.pressed) {
-            return MACRO( I(10), D(LSFT), T(EXLM), U(LSFT), T(EQL), END  ); // !=
+            return MACRO( I(10), D(LSFT), T(1), U(LSFT), T(EQL), END  ); // !=
         }
         break;
 
diff --git a/keyboards/ergodox/keymaps/yoruian/keymap.c b/keyboards/ergodox/keymaps/yoruian/keymap.c
index d3635ddf3f..41dfda3c6d 100644
--- a/keyboards/ergodox/keymaps/yoruian/keymap.c
+++ b/keyboards/ergodox/keymaps/yoruian/keymap.c
@@ -17,7 +17,7 @@
 #include "yoruian.h"
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = KEYMAP\
+[0] = KEYMAP_YORUIAN\
 (9,  7,    5,    3,    1,    GRV,  MINS, EQL,  LBRC, 0,    2,    4,    6,    8,
  ES, RBRC, Y,    O,    R,    BSLS, P3,   P3,   J,    V,    D,    F,    W,    Q,
  LC, U,    I,    A,    N,    SCLN,             M,    H,    T,    S,    C,    RC,
@@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
                              BSPC, RALT, P2,   TAB,
                                    NO,   NO,
                        E,    LSFT, NO,   NO,   ENT,  SPC),
-[1] = KEYMAP\
+[1] = KEYMAP_YORUIAN\
 (TR, TR,   TR,   TR,   TR,   TR,   TR,   TR,   TR,   F5,   F6,   F7,   F8,   F9,
  TR, TR,   TR,   TR,   TR,   TR,   TR,   TR,   TR,   F1,   F2,   F3,   F4,   FT,
  TR, TR,   TR,   TR,   TR,   TR,               PAUS, LEFT, DOWN, UP,   RGHT, FE,
diff --git a/keyboards/ergodox/keymaps/yoruian/yoruian.h b/keyboards/ergodox/keymaps/yoruian/yoruian.h
index 1adcb7fd3f..b3b13073c5 100644
--- a/keyboards/ergodox/keymaps/yoruian/yoruian.h
+++ b/keyboards/ergodox/keymaps/yoruian/yoruian.h
@@ -18,9 +18,7 @@
 #include "debug.h"
 #include "action_layer.h"
 
-#undef KEYMAP
-#define KEYMAP\
-(									\
+#define KEYMAP_YORUIAN(									\
  /* Spacial positions. */						\
  k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D,	\
  k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D,	\
@@ -30,24 +28,15 @@
                           k55, k56, k57, k58,                           \
                                k54, k59,                                \
                      k53, k52, k51, k5C, k5B, k5A)                      \
-									\
- /* Matrix positions. */						\
- {									\
-   { KC_##k00, KC_##k10, KC_##k20, KC_##k30, KC_##k40, KC_NO    },	\
-   { KC_##k01, KC_##k11, KC_##k21, KC_##k31, KC_##k41, KC_##k51 },      \
-   { KC_##k02, KC_##k12, KC_##k22, KC_##k32, KC_##k42, KC_##k52 },      \
-   { KC_##k03, KC_##k13, KC_##k23, KC_##k33, KC_##k43, KC_##k53 },      \
-   { KC_##k04, KC_##k14, KC_##k24, KC_##k34, KC_##k44, KC_##k54 },      \
-   { KC_##k05, KC_##k15, KC_##k25, KC_##k35, KC_NO,    KC_##k55 },      \
-   { KC_##k06, KC_##k16, KC_NO,    KC_##k36, KC_NO,    KC_##k56 },      \
-   { KC_##k07, KC_##k17, KC_NO,    KC_##k37, KC_NO,    KC_##k57 },      \
-   { KC_##k08, KC_##k18, KC_##k28, KC_##k38, KC_NO,    KC_##k58 },      \
-   { KC_##k09, KC_##k19, KC_##k29, KC_##k39, KC_##k49, KC_##k59 },      \
-   { KC_##k0A, KC_##k1A, KC_##k2A, KC_##k3A, KC_##k4A, KC_##k5A },      \
-   { KC_##k0B, KC_##k1B, KC_##k2B, KC_##k3B, KC_##k4B, KC_##k5B },      \
-   { KC_##k0C, KC_##k1C, KC_##k2C, KC_##k3C, KC_##k4C, KC_##k5C },      \
-   { KC_##k0D, KC_##k1D, KC_##k2D, KC_##k3D, KC_##k4D, KC_NO    }       \
- }
+ KEYMAP( \
+ KC_##k00, KC_##k01, KC_##k02, KC_##k03, KC_##k04, KC_##k05, KC_##k06, KC_##k07, KC_##k08, KC_##k09, KC_##k0A, KC_##k0B, KC_##k0C, KC_##k0D,	\
+ KC_##k10, KC_##k11, KC_##k12, KC_##k13, KC_##k14, KC_##k15, KC_##k16, KC_##k17, KC_##k18, KC_##k19, KC_##k1A, KC_##k1B, KC_##k1C, KC_##k1D,	\
+ KC_##k20, KC_##k21, KC_##k22, KC_##k23, KC_##k24, KC_##k25,           KC_##k28, KC_##k29, KC_##k2A, KC_##k2B, KC_##k2C, KC_##k2D,	\
+ KC_##k30, KC_##k31, KC_##k32, KC_##k33, KC_##k34, KC_##k35, KC_##k36, KC_##k37, KC_##k38, KC_##k39, KC_##k3A, KC_##k3B, KC_##k3C, KC_##k3D,	\
+ KC_##k40, KC_##k41, KC_##k42, KC_##k43, KC_##k44,                     KC_##k49, KC_##k4A, KC_##k4B, KC_##k4C, KC_##k4D,	\
+                          KC_##k55, KC_##k56, KC_##k57, KC_##k58,                           \
+                               KC_##k54, KC_##k59,                                \
+                     KC_##k53, KC_##k52, KC_##k51, KC_##k5C, KC_##k5B, KC_##k5A)
 
 #define KC_ES  KC_ESC
 #define KC_LC  KC_LCTL
diff --git a/keyboards/frosty_flake/matrix.c b/keyboards/frosty_flake/matrix.c
index 05dffdb643..cde7f63b95 100644
--- a/keyboards/frosty_flake/matrix.c
+++ b/keyboards/frosty_flake/matrix.c
@@ -115,6 +115,7 @@ inline matrix_row_t matrix_get_row(uint8_t row) {
 }
 
 void matrix_print(void) {
+#ifndef NO_PRINT
     print("\nr\\c ABCDEFGHIJKLMNOPQR\n");
     for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
         matrix_row_t matrix_row = matrix_get_row(row);
@@ -125,6 +126,7 @@ void matrix_print(void) {
         }
         print("\n");
     }
+#endif
 }
 
 uint8_t matrix_key_count(void) {
@@ -132,4 +134,4 @@ uint8_t matrix_key_count(void) {
     for (uint8_t row = 0; row < MATRIX_ROWS; row++)
         count += bitpop32(matrix[row]);
     return count;
-}
\ No newline at end of file
+}
diff --git a/keyboards/handwired/MS-sculpt-mobile/MS-sculpt-mobile.c b/keyboards/handwired/MS-sculpt-mobile/MS-sculpt-mobile.c
deleted file mode 100644
index 4c735a6c29..0000000000
--- a/keyboards/handwired/MS-sculpt-mobile/MS-sculpt-mobile.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "MS-sculpt-mobile.h"
diff --git a/keyboards/handwired/MS_sculpt_mobile/MS_sculpt_mobile.c b/keyboards/handwired/MS_sculpt_mobile/MS_sculpt_mobile.c
new file mode 100644
index 0000000000..64982fb62d
--- /dev/null
+++ b/keyboards/handwired/MS_sculpt_mobile/MS_sculpt_mobile.c
@@ -0,0 +1 @@
+#include "MS_sculpt_mobile.h"
diff --git a/keyboards/handwired/MS-sculpt-mobile/MS-sculpt-mobile.h b/keyboards/handwired/MS_sculpt_mobile/MS_sculpt_mobile.h
index 1583dea6e8..1583dea6e8 100644
--- a/keyboards/handwired/MS-sculpt-mobile/MS-sculpt-mobile.h
+++ b/keyboards/handwired/MS_sculpt_mobile/MS_sculpt_mobile.h
diff --git a/keyboards/handwired/MS-sculpt-mobile/Makefile b/keyboards/handwired/MS_sculpt_mobile/Makefile
index bd09e5885d..bd09e5885d 100644
--- a/keyboards/handwired/MS-sculpt-mobile/Makefile
+++ b/keyboards/handwired/MS_sculpt_mobile/Makefile
diff --git a/keyboards/handwired/MS-sculpt-mobile/babblePaste.c b/keyboards/handwired/MS_sculpt_mobile/babblePaste.c
index 3a9b86997d..22394cc7d2 100644
--- a/keyboards/handwired/MS-sculpt-mobile/babblePaste.c
+++ b/keyboards/handwired/MS_sculpt_mobile/babblePaste.c
@@ -7,7 +7,8 @@ Huge thanks to https://en.wikipedia.org/wiki/Table_of_keyboard_shortcuts
 and https://github.com/qmk/qmk_firmware/blob/master/keyboards/planck/keymaps/jeebak/keymap.c 
 */
 
-#include "babblePaste.h"
+#include "../MS_sculpt_mobile/babblePaste.h"
+
 #include "action_macro.h"
 
 #ifdef USE_BABLPASTE
@@ -27,7 +28,7 @@ macro_t* switch_babble_mode( uint8_t id) {
 // And else statements have problems, see https://gcc.gnu.org/onlinedocs/gcc-3.0.1/cpp_3.html#SEC15
 #define BABLM(ent, macro...) \
 	if ( ent == shortcut ) \
-		 {  action_macro_play( MACRO(macro)); return MACRO_NONE; }   
+		 {  action_macro_play( MACRO(macro)); return MACRO_NONE; }
 
 
 /* this function runs the appropriate babblepaste macro, given
@@ -456,4 +457,4 @@ const  macro_t *babblePaste (keyrecord_t *record,  uint8_t shortcut) {
 }
 
 
-#endif
\ No newline at end of file
+#endif
diff --git a/keyboards/handwired/MS-sculpt-mobile/babblePaste.h b/keyboards/handwired/MS_sculpt_mobile/babblePaste.h
index 3067c854de..cedd7d92ba 100644
--- a/keyboards/handwired/MS-sculpt-mobile/babblePaste.h
+++ b/keyboards/handwired/MS_sculpt_mobile/babblePaste.h
@@ -9,9 +9,9 @@ and jeebak & algernon's keymap
 */
 #ifndef _babblePaste_h_included__
 #define _babblePaste_h_included__
+#include "../MS_sculpt_mobile/config.h"
 #include "action_layer.h"
 #include "quantum_keycodes.h"
-#include "config.h"
 
 #ifdef USE_BABLPASTE
 
diff --git a/keyboards/handwired/MS-sculpt-mobile/babblePaste.txt b/keyboards/handwired/MS_sculpt_mobile/babblePaste.txt
index cf75e153e8..cf75e153e8 100644
--- a/keyboards/handwired/MS-sculpt-mobile/babblePaste.txt
+++ b/keyboards/handwired/MS_sculpt_mobile/babblePaste.txt
diff --git a/keyboards/handwired/MS-sculpt-mobile/config.h b/keyboards/handwired/MS_sculpt_mobile/config.h
index f89514278d..f89514278d 100644
--- a/keyboards/handwired/MS-sculpt-mobile/config.h
+++ b/keyboards/handwired/MS_sculpt_mobile/config.h
diff --git a/keyboards/handwired/MS-sculpt-mobile/keymaps/default/Makefile b/keyboards/handwired/MS_sculpt_mobile/keymaps/default/Makefile
index 8b829218b2..8b829218b2 100644
--- a/keyboards/handwired/MS-sculpt-mobile/keymaps/default/Makefile
+++ b/keyboards/handwired/MS_sculpt_mobile/keymaps/default/Makefile
diff --git a/keyboards/handwired/MS-sculpt-mobile/keymaps/default/config.h b/keyboards/handwired/MS_sculpt_mobile/keymaps/default/config.h
index 8893d122e0..4f3a425b7e 100644
--- a/keyboards/handwired/MS-sculpt-mobile/keymaps/default/config.h
+++ b/keyboards/handwired/MS_sculpt_mobile/keymaps/default/config.h
@@ -1,7 +1,7 @@
 #ifndef CONFIG_USER_H
 #define CONFIG_USER_H
 
-#include "../../config.h"
+#include "../../../MS_sculpt_mobile/config.h"
 
 // place overrides here
 
diff --git a/keyboards/handwired/MS-sculpt-mobile/keymaps/default/keymap.c b/keyboards/handwired/MS_sculpt_mobile/keymaps/default/keymap.c
index ab09dcdd1c..a8802c99a4 100644
--- a/keyboards/handwired/MS-sculpt-mobile/keymaps/default/keymap.c
+++ b/keyboards/handwired/MS_sculpt_mobile/keymaps/default/keymap.c
@@ -1,4 +1,4 @@
-#include "MS-sculpt-mobile.h"
+#include "../../MS_sculpt_mobile.h"
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 /* 
diff --git a/keyboards/handwired/MS-sculpt-mobile/keymaps/default/readme.md b/keyboards/handwired/MS_sculpt_mobile/keymaps/default/readme.md
index e67ddc6fec..e67ddc6fec 100644
--- a/keyboards/handwired/MS-sculpt-mobile/keymaps/default/readme.md
+++ b/keyboards/handwired/MS_sculpt_mobile/keymaps/default/readme.md
diff --git a/keyboards/handwired/MS-sculpt-mobile/keymaps/milestogo/Makefile b/keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/Makefile
index 1209ad7814..1209ad7814 100644
--- a/keyboards/handwired/MS-sculpt-mobile/keymaps/milestogo/Makefile
+++ b/keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/Makefile
diff --git a/keyboards/handwired/MS-sculpt-mobile/keymaps/milestogo/config.h b/keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/config.h
index 8cf4202cda..5c04f647c3 100644
--- a/keyboards/handwired/MS-sculpt-mobile/keymaps/milestogo/config.h
+++ b/keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/config.h
@@ -1,7 +1,7 @@
 #ifndef CONFIG_USER_H
 #define CONFIG_USER_H
 
-#include "../../config.h"
+#include "../../../MS_sculpt_mobile/config.h"
 
 #define USE_BABLPASTE
 
diff --git a/keyboards/handwired/MS-sculpt-mobile/keymaps/milestogo/keymap.c b/keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/keymap.c
index 395a9fb470..c9a8ccdb69 100644
--- a/keyboards/handwired/MS-sculpt-mobile/keymaps/milestogo/keymap.c
+++ b/keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/keymap.c
@@ -1,7 +1,7 @@
-#include "MS-sculpt-mobile.h"
+#include "../../../MS_sculpt_mobile/babblePaste.h"
+#include "../../MS_sculpt_mobile.h"
 #include "action_layer.h"
 #include "action_util.h"
-#include "babblePaste.h"
 
 #ifdef AUDIO_ENABLE
   #include "audio.h"
diff --git a/keyboards/handwired/MS-sculpt-mobile/keymaps/milestogo/readme.md b/keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/readme.md
index 96ee0e77a5..96ee0e77a5 100644
--- a/keyboards/handwired/MS-sculpt-mobile/keymaps/milestogo/readme.md
+++ b/keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/readme.md
diff --git a/keyboards/handwired/MS-sculpt-mobile/readme.md b/keyboards/handwired/MS_sculpt_mobile/readme.md
index d435b449fb..d435b449fb 100644
--- a/keyboards/handwired/MS-sculpt-mobile/readme.md
+++ b/keyboards/handwired/MS_sculpt_mobile/readme.md
diff --git a/keyboards/handwired/MS-sculpt-mobile/rules.mk b/keyboards/handwired/MS_sculpt_mobile/rules.mk
index 680389c846..680389c846 100644
--- a/keyboards/handwired/MS-sculpt-mobile/rules.mk
+++ b/keyboards/handwired/MS_sculpt_mobile/rules.mk
diff --git a/keyboards/kitten_paw/keymaps/ickerwx/config.h b/keyboards/kitten_paw/keymaps/ickerwx/config.h
index 04a2d253c7..142aba8909 100644
--- a/keyboards/kitten_paw/keymaps/ickerwx/config.h
+++ b/keyboards/kitten_paw/keymaps/ickerwx/config.h
@@ -22,7 +22,7 @@
 #undef MOUSEKEY_WHEEL_MAX_SPEED
 #define MOUSEKEY_WHEEL_MAX_SPEED 3
 #undef MOUSEKEY_WHEEL_TIME_TO_MAX
-#define MOUSEKEY_WHEEL_TIME_TO_MAX 1000
+#define MOUSEKEY_WHEEL_TIME_TO_MAX 255
 #undef ONESHOT_TIMEOUT
 #define ONESHOT_TIMEOUT 500
 #undef TAPPING_TOGGLE
diff --git a/keyboards/kitten_paw/keymaps/ickerwx/keymap.c b/keyboards/kitten_paw/keymaps/ickerwx/keymap.c
index 9a00c80dc8..9dffbb272c 100644
--- a/keyboards/kitten_paw/keymaps/ickerwx/keymap.c
+++ b/keyboards/kitten_paw/keymaps/ickerwx/keymap.c
@@ -64,7 +64,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
          _______,S(NUBS),_______,_______,_______,_______,_______,_______,_______,KC_NUBS,S(NUBS),S(MINS),        _______,           _______,          _______,_______,_______,_______, \
          _______,_______,_______,                        _______,                        _______,_______,_______,_______,   _______,_______,_______,  _______,_______),
     /* Layer 3: media layer */
-  [MEDIA] = KEYMAP(\ 
+  [MEDIA] = KEYMAP(\
           KC_PWR,KC_SLEP,KC_WAKE,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,           XXXXXXX,XXXXXXX,XXXXXXX,                                   \
          XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,   KC_MPRV,KC_MPLY,KC_MNXT,  XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, \
          XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,   KC_VOLD,KC_MUTE,KC_VOLU,  XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, \
diff --git a/keyboards/planck/keymaps/lucas/keymap.c b/keyboards/planck/keymaps/lucas/keymap.c
index 2208780b18..491cd1d07d 100644
--- a/keyboards/planck/keymaps/lucas/keymap.c
+++ b/keyboards/planck/keymaps/lucas/keymap.c
@@ -153,12 +153,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
     case 1: // M(1)
         if (record->event.pressed) {
             unregister_code(KC_LSFT);
-            register_code(DE_MORE);
+            register_code(DE_LESS);
         } else {
-            unregister_code(DE_MORE);
+            unregister_code(DE_LESS);
         }
         break;    
   }
   return MACRO_NONE;
 
-};          
\ No newline at end of file
+};          
diff --git a/keyboards/preonic/keymaps/CMD-Preonic/keymap.c b/keyboards/preonic/keymaps/CMD-Preonic/keymap.c
index 5d217e2615..a500a36494 100644
--- a/keyboards/preonic/keymaps/CMD-Preonic/keymap.c
+++ b/keyboards/preonic/keymaps/CMD-Preonic/keymap.c
@@ -212,10 +212,10 @@ const uint16_t PROGMEM fn_actions[] = {
 
 #ifdef AUDIO_ENABLE
 float start_up[][2] = {
-  {440.0*pow(2.0,(14)/12.0), 20},
-  {440.0*pow(2.0,(26)/12.0), 8},
-  {440.0*pow(2.0,(18)/12.0), 20},
-  {440.0*pow(2.0,(26)/12.0), 8}
+   MUSICAL_NOTE(_B5, 20),
+   MUSICAL_NOTE(_B6, 8),
+   MUSICAL_NOTE(_DS6, 20),
+   MUSICAL_NOTE(_B6, 8),
 };
 
 float tone_qwerty[][2]     = SONG(QWERTY_SOUND);
@@ -323,7 +323,7 @@ void matrix_init_user(void) {
 
 #ifdef AUDIO_ENABLE
 
-void play_goodbye_tone()
+void play_goodbye_tone(void)
 {
   PLAY_NOTE_ARRAY(goodbye, false, 0);
   _delay_ms(150);
diff --git a/quantum/keymap_common.c b/quantum/keymap_common.c
index 6cf4f031ff..9dafc8b516 100644
--- a/quantum/keymap_common.c
+++ b/quantum/keymap_common.c
@@ -179,5 +179,12 @@ uint16_t keymap_key_to_keycode(uint8_t layer, keypos_t key)
 __attribute__ ((weak))
 uint16_t keymap_function_id_to_action( uint16_t function_id )
 {
+    // The compiler sees the empty (weak) fn_actions and generates a warning
+    // This function should not be called in that case, so the warning is too strict
+    // If this function is called however, the keymap should have overridden fn_actions, and then the compile
+    // is comparing against the wrong array
+    #pragma GCC diagnostic push
+    #pragma GCC diagnostic ignored "-Warray-bounds"
 	return pgm_read_word(&fn_actions[function_id]);
+    #pragma GCC diagnostic pop
 }
diff --git a/quantum/keymap_extras/keymap_german_ch.h b/quantum/keymap_extras/keymap_german_ch.h
index 8332e00af3..67350d6602 100644
--- a/quantum/keymap_extras/keymap_german_ch.h
+++ b/quantum/keymap_extras/keymap_german_ch.h
@@ -33,6 +33,10 @@
 #define CH_E KC_E
 #define CH_F KC_F
 #define CH_G KC_G
+#ifdef CH_H
+// The ChibiOS ch.h file defines this...
+#undef CH_H
+#endif
 #define CH_H KC_H
 #define CH_I KC_I
 #define CH_J KC_J
diff --git a/quantum/process_keycode/process_printer.c b/quantum/process_keycode/process_printer.c
index 807f7a0b91..613af70183 100644
--- a/quantum/process_keycode/process_printer.c
+++ b/quantum/process_keycode/process_printer.c
@@ -20,12 +20,12 @@
 bool printing_enabled = false;
 uint8_t character_shift = 0;
 
-void enabled_printing() {
+void enable_printing(void) {
 	printing_enabled = true;
 	serial_init();
 }
 
-void disable_printing() {
+void disable_printing(void) {
 	printing_enabled = false;
 }
 
@@ -41,9 +41,14 @@ void print_char(char c) {
 	USB_Init();
 }
 
-void print_box_string(uint8_t text[]) {
-	uint8_t len = strlen(text);
-	uint8_t out[len * 3 + 8];
+void print_string(char c[]) {
+	for(uint8_t i = 0; i < strlen(c); i++)
+		print_char(c[i]);
+}
+
+void print_box_string(const char text[]) {
+	size_t len = strlen(text);
+	char out[len * 3 + 8];
 	out[0] = 0xDA;
 	for (uint8_t i = 0; i < len; i++) {
 		out[i+1] = 0xC4;
@@ -69,14 +74,9 @@ void print_box_string(uint8_t text[]) {
 	print_string(out); 
 }
 
-void print_string(char c[]) {
-	for(uint8_t i = 0; i < strlen(c); i++)
-		print_char(c[i]);
-}
-
 bool process_printer(uint16_t keycode, keyrecord_t *record) {
 	if (keycode == PRINT_ON) {
-		enabled_printing();
+		enable_printing();
 		return false;
 	}
 	if (keycode == PRINT_OFF) {
diff --git a/quantum/process_keycode/process_printer.h b/quantum/process_keycode/process_printer.h
index aa494ac8a7..71d3a4b56a 100644
--- a/quantum/process_keycode/process_printer.h
+++ b/quantum/process_keycode/process_printer.h
@@ -21,4 +21,6 @@
 
 #include "protocol/serial.h"
 
+bool process_printer(uint16_t keycode, keyrecord_t *record);
+
 #endif
diff --git a/quantum/process_keycode/process_printer_bb.c b/quantum/process_keycode/process_printer_bb.c
index 55d3b552b2..3a00f169d8 100644
--- a/quantum/process_keycode/process_printer_bb.c
+++ b/quantum/process_keycode/process_printer_bb.c
@@ -46,7 +46,7 @@ void serial_output(void) {
 }
 
 
-void enabled_printing() {
+void enable_printing() {
 	printing_enabled = true;
 	serial_output();
 	serial_high();
@@ -82,7 +82,7 @@ void print_string(char c[]) {
 
 bool process_printer(uint16_t keycode, keyrecord_t *record) {
 	if (keycode == PRINT_ON) {
-		enabled_printing();
+		enable_printing();
 		return false;
 	}
 	if (keycode == PRINT_OFF) {
diff --git a/quantum/process_keycode/process_unicode.c b/quantum/process_keycode/process_unicode.c
index 678a15234d..fd008eca12 100644
--- a/quantum/process_keycode/process_unicode.c
+++ b/quantum/process_keycode/process_unicode.c
@@ -15,6 +15,7 @@
  */
 #include "process_unicode.h"
 #include "action_util.h"
+#include "eeprom.h"
 
 static uint8_t first_flag = 0;
 
diff --git a/quantum/process_keycode/process_unicode_common.c b/quantum/process_keycode/process_unicode_common.c
index 1dbdec3e71..84b5d673dd 100644
--- a/quantum/process_keycode/process_unicode_common.c
+++ b/quantum/process_keycode/process_unicode_common.c
@@ -15,6 +15,7 @@
  */
 
 #include "process_unicode_common.h"
+#include "eeprom.h"
 
 static uint8_t input_mode;
 uint8_t mods;
diff --git a/tmk_core/common/action.c b/tmk_core/common/action.c
index 94de36918d..4ba1cc251a 100644
--- a/tmk_core/common/action.c
+++ b/tmk_core/common/action.c
@@ -140,7 +140,6 @@ void process_record(keyrecord_t *record)
 
 void process_action(keyrecord_t *record, action_t action)
 {
-    bool do_release_oneshot = false;
     keyevent_t event = record->event;
 #ifndef NO_ACTION_TAPPING
     uint8_t tap_count = record->tap.count;
@@ -152,6 +151,7 @@ void process_action(keyrecord_t *record, action_t action)
     }
 
 #ifndef NO_ACTION_ONESHOT
+    bool do_release_oneshot = false;
     // notice we only clear the one shot layer if the pressed key is not a modifier.
     if (is_oneshot_layer_active() && event.pressed && !IS_MOD(action.key.code)) {
         clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
diff --git a/tmk_core/common/avr/suspend.c b/tmk_core/common/avr/suspend.c
index 0c81e83612..1c7618ff51 100644
--- a/tmk_core/common/avr/suspend.c
+++ b/tmk_core/common/avr/suspend.c
@@ -9,6 +9,7 @@
 #include "suspend.h"
 #include "timer.h"
 #include "led.h"
+#include "host.h"
 
 #ifdef PROTOCOL_LUFA
 	#include "lufa.h"
diff --git a/tmk_core/common/mousekey.h b/tmk_core/common/mousekey.h
index 6eede06b44..9338d0af77 100644
--- a/tmk_core/common/mousekey.h
+++ b/tmk_core/common/mousekey.h
@@ -23,8 +23,17 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
 /* max value on report descriptor */
-#define MOUSEKEY_MOVE_MAX       127
-#define MOUSEKEY_WHEEL_MAX      127
+#ifndef MOUSEKEY_MOVE_MAX
+    #define MOUSEKEY_MOVE_MAX       127
+#elif MOUSEKEY_MOVE_MAX > 127
+    #error MOUSEKEY_MOVE_MAX needs to be smaller than 127
+#endif
+
+#ifndef MOUSEKEY_WHEEL_MAX
+    #define MOUSEKEY_WHEEL_MAX      127
+#elif MOUSEKEY_WHEEL_MAX > 127
+    #error MOUSEKEY_WHEEL_MAX needs to be smaller than 127
+#endif
 
 #ifndef MOUSEKEY_MOVE_DELTA
 #define MOUSEKEY_MOVE_DELTA     5
diff --git a/tmk_core/rules.mk b/tmk_core/rules.mk
index e4c8aecb2c..b7cb0a559a 100644
--- a/tmk_core/rules.mk
+++ b/tmk_core/rules.mk
@@ -92,6 +92,9 @@ endif
 endif
 CFLAGS += -Wall
 CFLAGS += -Wstrict-prototypes
+ifneq ($(strip $(ALLOW_WARNINGS)), yes)
+    CFLAGS += -Werror
+endif
 #CFLAGS += -mshort-calls
 #CFLAGS += -fno-unit-at-a-time
 #CFLAGS += -Wundef
@@ -115,6 +118,9 @@ CPPFLAGS += -O$(OPT)
 CPPFLAGS += -w
 CPPFLAGS += -Wall
 CPPFLAGS += -Wundef
+ifneq ($(strip $(ALLOW_WARNINGS)), yes)
+    CPPFLAGS += -Werror
+endif
 #CPPFLAGS += -mshort-calls
 #CPPFLAGS += -fno-unit-at-a-time
 #CPPFLAGS += -Wstrict-prototypes