From da2d2f947d5c30aebea17f414fb22ad50fe5410b Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 16 Jul 2023 23:42:56 +1000 Subject: [PATCH] quantum: remove direct `quantum.h` includes (#21507) --- keyboards/boardsource/lulu/lulu.c | 2 +- .../input_club/k_type/k_type-rgbdriver.c | 3 +- .../k_type/keymaps/default/keymap.c | 3 ++ keyboards/system76/launch_1/rgb_matrix_kb.inc | 1 + keyboards/system76/system76_ec.c | 6 +++ platforms/avr/drivers/audio_pwm_hardware.c | 8 +--- .../chibios/drivers/audio_dac_additive.c | 5 ++- platforms/chibios/drivers/audio_dac_basic.c | 3 +- .../chibios/drivers/audio_pwm_hardware.c | 3 +- .../chibios/drivers/audio_pwm_software.c | 3 +- quantum/audio/audio.c | 3 ++ quantum/audio/audio.h | 9 ++--- quantum/audio/muse.c | 2 + quantum/audio/muse.h | 3 +- quantum/audio/voices.c | 2 + quantum/bootmagic/bootmagic_lite.c | 7 +++- quantum/dynamic_keymap.c | 12 +++--- quantum/encoder.c | 5 +++ quantum/encoder.h | 4 +- .../tests/encoder_tests_split_role.cpp | 1 + quantum/keyboard.c | 34 +++++++++++++++- quantum/keyboard.h | 2 + quantum/keymap_common.c | 7 +++- quantum/led_matrix/led_matrix.c | 5 +++ quantum/led_matrix/led_matrix.h | 2 +- quantum/matrix.c | 3 +- quantum/matrix_common.c | 2 +- quantum/midi/qmk_midi.c | 1 + .../pointing_device_auto_mouse.c | 3 ++ .../pointing_device_auto_mouse.h | 11 ++++-- quantum/process_keycode/process_audio.c | 4 +- quantum/process_keycode/process_audio.h | 3 -- quantum/process_keycode/process_clicky.c | 4 +- .../process_keycode/process_key_override.c | 4 ++ quantum/repeat_key.c | 1 + quantum/repeat_key.h | 5 ++- quantum/rgb_matrix/rgb_matrix.c | 5 +++ quantum/rgb_matrix/rgb_matrix.h | 2 +- quantum/rgb_matrix/rgb_matrix_drivers.c | 1 + quantum/split_common/split_util.c | 2 +- quantum/split_common/split_util.h | 1 - quantum/split_common/transactions.c | 39 ++++++++++++++++++- quantum/split_common/transactions.h | 4 +- quantum/split_common/transport.h | 4 +- quantum/unicode/unicode.c | 2 + quantum/unicode/unicode.h | 3 +- quantum/via.c | 26 ++++++++++++- quantum/via.h | 1 + tmk_core/protocol/arm_atsam/main_arm_atsam.c | 1 + tmk_core/protocol/arm_atsam/md_rgb_matrix.c | 1 + tmk_core/protocol/arm_atsam/spi_master.h | 2 + 51 files changed, 208 insertions(+), 62 deletions(-) diff --git a/keyboards/boardsource/lulu/lulu.c b/keyboards/boardsource/lulu/lulu.c index be6d565a32..8d011268c4 100644 --- a/keyboards/boardsource/lulu/lulu.c +++ b/keyboards/boardsource/lulu/lulu.c @@ -1,6 +1,6 @@ // Copyright 2022 Cole Smith // SPDX-License-Identifier: GPL-2.0-or-later -#include "encoder.h" +#include "quantum.h" #ifdef ENCODER_ENABLE bool encoder_update_kb(uint8_t index, bool clockwise) { diff --git a/keyboards/input_club/k_type/k_type-rgbdriver.c b/keyboards/input_club/k_type/k_type-rgbdriver.c index e663c224c4..6529f98201 100644 --- a/keyboards/input_club/k_type/k_type-rgbdriver.c +++ b/keyboards/input_club/k_type/k_type-rgbdriver.c @@ -19,8 +19,7 @@ #include "rgb_matrix.h" #include "i2c_master.h" #include "is31fl3733-dual.h" - - +#include "gpio.h" static void init(void) { i2c_init(&I2CD1, I2C1_SCL_PIN, I2C1_SDA_PIN); diff --git a/keyboards/input_club/k_type/keymaps/default/keymap.c b/keyboards/input_club/k_type/keymaps/default/keymap.c index 790bd93290..452791b13a 100644 --- a/keyboards/input_club/k_type/keymaps/default/keymap.c +++ b/keyboards/input_club/k_type/keymaps/default/keymap.c @@ -1,3 +1,6 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { diff --git a/keyboards/system76/launch_1/rgb_matrix_kb.inc b/keyboards/system76/launch_1/rgb_matrix_kb.inc index 02de10ed50..f29183dde0 100644 --- a/keyboards/system76/launch_1/rgb_matrix_kb.inc +++ b/keyboards/system76/launch_1/rgb_matrix_kb.inc @@ -22,6 +22,7 @@ RGB_MATRIX_EFFECT(unlocked) #ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS #include "dynamic_keymap.h" +#include "action_layer.h" static bool active_keys_initialized = false; static uint8_t active_keys_table[RGB_MATRIX_LED_COUNT] = {0}; diff --git a/keyboards/system76/system76_ec.c b/keyboards/system76/system76_ec.c index 6301659072..1b7955e19b 100644 --- a/keyboards/system76/system76_ec.c +++ b/keyboards/system76/system76_ec.c @@ -22,6 +22,12 @@ #include "raw_hid.h" #include "rgb_matrix.h" #include "version.h" +#include "keyboard.h" +#include "eeprom.h" +#include "matrix.h" +#include "action_layer.h" +#include "bootloader.h" +#include "wait.h" enum Command { CMD_PROBE = 1, // Probe for System76 EC protocol diff --git a/platforms/avr/drivers/audio_pwm_hardware.c b/platforms/avr/drivers/audio_pwm_hardware.c index 2fc448ea58..6799cf2fdd 100644 --- a/platforms/avr/drivers/audio_pwm_hardware.c +++ b/platforms/avr/drivers/audio_pwm_hardware.c @@ -15,13 +15,9 @@ * along with this program. If not, see . */ -#if defined(__AVR__) -# include -# include -# include -#endif - #include "audio.h" +#include "gpio.h" +#include extern bool playing_note; extern bool playing_melody; diff --git a/platforms/chibios/drivers/audio_dac_additive.c b/platforms/chibios/drivers/audio_dac_additive.c index d29147ca3b..9a5fe4c336 100644 --- a/platforms/chibios/drivers/audio_dac_additive.c +++ b/platforms/chibios/drivers/audio_dac_additive.c @@ -16,8 +16,9 @@ */ #include "audio.h" -#include -#include +#include "gpio.h" +#include +#include "util.h" // Need to disable GCC's "tautological-compare" warning for this file, as it causes issues when running `KEEP_INTERMEDIATES=yes`. Corresponding pop at the end of the file. #pragma GCC diagnostic push diff --git a/platforms/chibios/drivers/audio_dac_basic.c b/platforms/chibios/drivers/audio_dac_basic.c index 4ea23a2158..9a3f3fea1f 100644 --- a/platforms/chibios/drivers/audio_dac_basic.c +++ b/platforms/chibios/drivers/audio_dac_basic.c @@ -16,8 +16,7 @@ */ #include "audio.h" -#include "ch.h" -#include "hal.h" +#include "gpio.h" // Need to disable GCC's "tautological-compare" warning for this file, as it causes issues when running `KEEP_INTERMEDIATES=yes`. Corresponding pop at the end of the file. #pragma GCC diagnostic push diff --git a/platforms/chibios/drivers/audio_pwm_hardware.c b/platforms/chibios/drivers/audio_pwm_hardware.c index 54dac46605..40d891326f 100644 --- a/platforms/chibios/drivers/audio_pwm_hardware.c +++ b/platforms/chibios/drivers/audio_pwm_hardware.c @@ -12,8 +12,7 @@ // function. #include "audio.h" -#include "ch.h" -#include "hal.h" +#include "gpio.h" #if !defined(AUDIO_PIN) # error "Audio feature enabled, but no pin selected - see docs/feature_audio under the ARM PWM settings" diff --git a/platforms/chibios/drivers/audio_pwm_software.c b/platforms/chibios/drivers/audio_pwm_software.c index e01f86ea52..663a9eca16 100644 --- a/platforms/chibios/drivers/audio_pwm_software.c +++ b/platforms/chibios/drivers/audio_pwm_software.c @@ -25,8 +25,7 @@ this driver uses the chibios-PWM system to produce a square-wave on any given ou */ #include "audio.h" -#include "ch.h" -#include "hal.h" +#include "gpio.h" #if !defined(AUDIO_PIN) # error "Audio feature enabled, but no pin selected - see docs/feature_audio under the ARM PWM settings" diff --git a/quantum/audio/audio.c b/quantum/audio/audio.c index 0300483a93..b9b21066cb 100644 --- a/quantum/audio/audio.c +++ b/quantum/audio/audio.c @@ -583,3 +583,6 @@ uint16_t audio_duration_to_ms(uint16_t duration_bpm) { uint16_t audio_ms_to_duration(uint16_t duration_ms) { return ((uint32_t)duration_ms * 2 * note_tempo) / 1875; } + +__attribute__((weak)) void audio_on_user(void) {} +__attribute__((weak)) void audio_off_user(void) {} diff --git a/quantum/audio/audio.h b/quantum/audio/audio.h index 75016a1100..a4a908b43c 100644 --- a/quantum/audio/audio.h +++ b/quantum/audio/audio.h @@ -21,12 +21,6 @@ #include "musical_notes.h" #include "song_list.h" #include "voices.h" -#include "quantum.h" -#include - -#if defined(__AVR__) -# include -#endif #if defined(AUDIO_DRIVER_PWM) # include "audio_pwm.h" @@ -280,3 +274,6 @@ bool audio_update_state(void); #define increase_tempo(t) audio_increase_tempo(t) #define decrease_tempo(t) audio_decrease_tempo(t) // vibrato functions are not used in any keyboards + +void audio_on_user(void); +void audio_off_user(void); diff --git a/quantum/audio/muse.c b/quantum/audio/muse.c index 01b95671fd..4c23cd7348 100644 --- a/quantum/audio/muse.c +++ b/quantum/audio/muse.c @@ -1,5 +1,7 @@ #include "muse.h" +#include + enum { MUSE_OFF, MUSE_ON, MUSE_C_1_2, MUSE_C1, MUSE_C2, MUSE_C4, MUSE_C8, MUSE_C3, MUSE_C6, MUSE_B1, MUSE_B2, MUSE_B3, MUSE_B4, MUSE_B5, MUSE_B6, MUSE_B7, MUSE_B8, MUSE_B9, MUSE_B10, MUSE_B11, MUSE_B12, MUSE_B13, MUSE_B14, MUSE_B15, MUSE_B16, MUSE_B17, MUSE_B18, MUSE_B19, MUSE_B20, MUSE_B21, MUSE_B22, MUSE_B23, MUSE_B24, MUSE_B25, MUSE_B26, MUSE_B27, MUSE_B28, MUSE_B29, MUSE_B30, MUSE_B31 }; bool number_of_ones_to_bool[16] = {1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1}; diff --git a/quantum/audio/muse.h b/quantum/audio/muse.h index ad2f96e43a..7b289cac6c 100644 --- a/quantum/audio/muse.h +++ b/quantum/audio/muse.h @@ -1,6 +1,5 @@ #pragma once -#include "quantum.h" -#include "process_audio.h" +#include uint8_t muse_clock_pulse(void); diff --git a/quantum/audio/voices.c b/quantum/audio/voices.c index 01f257f4d4..4f511c93ba 100644 --- a/quantum/audio/voices.c +++ b/quantum/audio/voices.c @@ -16,7 +16,9 @@ */ #include "voices.h" #include "audio.h" +#include "timer.h" #include +#include uint8_t note_timbre = TIMBRE_DEFAULT; bool glissando = false; diff --git a/quantum/bootmagic/bootmagic_lite.c b/quantum/bootmagic/bootmagic_lite.c index f63c71fc6b..efce6bfd12 100644 --- a/quantum/bootmagic/bootmagic_lite.c +++ b/quantum/bootmagic/bootmagic_lite.c @@ -13,7 +13,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -#include "quantum.h" +#include "bootmagic.h" +#include "matrix.h" +#include "keyboard.h" +#include "wait.h" +#include "eeconfig.h" +#include "bootloader.h" /** \brief Reset eeprom * diff --git a/quantum/dynamic_keymap.c b/quantum/dynamic_keymap.c index 2030c82a1b..4c95128337 100644 --- a/quantum/dynamic_keymap.c +++ b/quantum/dynamic_keymap.c @@ -14,14 +14,16 @@ * along with this program. If not, see . */ -#include "keymap_introspection.h" // to get keymaps[][][] -#include "eeprom.h" -#include "progmem.h" // to read default from flash -#include "quantum.h" // for send_string() #include "dynamic_keymap.h" +#include "keymap_introspection.h" +#include "action.h" +#include "eeprom.h" +#include "progmem.h" +#include "send_string.h" +#include "keycodes.h" #ifdef VIA_ENABLE -# include "via.h" // for VIA_EEPROM_CONFIG_END +# include "via.h" # define DYNAMIC_KEYMAP_EEPROM_START (VIA_EEPROM_CONFIG_END) #else # define DYNAMIC_KEYMAP_EEPROM_START (EECONFIG_SIZE) diff --git a/quantum/encoder.c b/quantum/encoder.c index 1046fe6cc3..7ab194ed52 100644 --- a/quantum/encoder.c +++ b/quantum/encoder.c @@ -16,6 +16,11 @@ */ #include "encoder.h" +#include "keyboard.h" +#include "action.h" +#include "keycodes.h" +#include "wait.h" + #ifdef SPLIT_KEYBOARD # include "split_util.h" #endif diff --git a/quantum/encoder.h b/quantum/encoder.h index 7644853b30..1cbac98cb5 100644 --- a/quantum/encoder.h +++ b/quantum/encoder.h @@ -17,7 +17,9 @@ #pragma once -#include "quantum.h" +#include +#include +#include "gpio.h" #include "util.h" void encoder_init(void); diff --git a/quantum/encoder/tests/encoder_tests_split_role.cpp b/quantum/encoder/tests/encoder_tests_split_role.cpp index 02264067f4..0ab7bfc2a7 100644 --- a/quantum/encoder/tests/encoder_tests_split_role.cpp +++ b/quantum/encoder/tests/encoder_tests_split_role.cpp @@ -22,6 +22,7 @@ extern "C" { #include "encoder.h" +#include "keyboard.h" #include "encoder/tests/mock_split.h" } diff --git a/quantum/keyboard.c b/quantum/keyboard.c index 5115709748..c2ca15d52d 100644 --- a/quantum/keyboard.c +++ b/quantum/keyboard.c @@ -16,8 +16,8 @@ along with this program. If not, see . */ #include -#include "quantum.h" #include "keyboard.h" +#include "keycode_config.h" #include "matrix.h" #include "keymap_introspection.h" #include "magic.h" @@ -33,6 +33,12 @@ along with this program. If not, see . #include "sendchar.h" #include "eeconfig.h" #include "action_layer.h" +#ifdef AUDIO_ENABLE +# include "audio.h" +#endif +#if defined(AUDIO_ENABLE) || (defined(MIDI_ENABLE) && defined(MIDI_BASIC)) +# include "process_music.h" +#endif #ifdef BACKLIGHT_ENABLE # include "backlight.h" #endif @@ -54,9 +60,27 @@ along with this program. If not, see . #ifdef ENCODER_ENABLE # include "encoder.h" #endif +#ifdef HAPTIC_ENABLE +# include "haptic.h" +#endif +#ifdef AUTO_SHIFT_ENABLE +# include "process_auto_shift.h" +#endif +#ifdef COMBO_ENABLE +# include "process_combo.h" +#endif +#ifdef TAP_DANCE_ENABLE +# include "process_tap_dance.h" +#endif #ifdef STENO_ENABLE # include "process_steno.h" #endif +#ifdef KEY_OVERRIDE_ENABLE +# include "process_key_override.h" +#endif +#ifdef SECURE_ENABLE +# include "secure.h" +#endif #ifdef POINTING_DEVICE_ENABLE # include "pointing_device.h" #endif @@ -64,7 +88,7 @@ along with this program. If not, see . # include "process_midi.h" #endif #ifdef JOYSTICK_ENABLE -# include "process_joystick.h" +# include "joystick.h" #endif #ifdef HD44780_ENABLE # include "hd44780.h" @@ -108,6 +132,12 @@ along with this program. If not, see . #ifdef LEADER_ENABLE # include "leader.h" #endif +#ifdef UNICODE_COMMON_ENABLE +# include "unicode.h" +#endif +#ifdef WPM_ENABLE +# include "wpm.h" +#endif static uint32_t last_input_modification_time = 0; uint32_t last_input_activity_time(void) { diff --git a/quantum/keyboard.h b/quantum/keyboard.h index bf1890d10b..5ea57815a7 100644 --- a/quantum/keyboard.h +++ b/quantum/keyboard.h @@ -20,6 +20,8 @@ along with this program. If not, see . #include #include +#include "timer.h" + #ifdef __cplusplus extern "C" { #endif diff --git a/quantum/keymap_common.c b/quantum/keymap_common.c index 0492e6fd1c..9a67fad278 100644 --- a/quantum/keymap_common.c +++ b/quantum/keymap_common.c @@ -22,7 +22,12 @@ along with this program. If not, see . #include "action_layer.h" #include "action.h" #include "debug.h" -#include "quantum.h" +#include "keycode_config.h" +#include "quantum_keycodes.h" + +#ifdef ENCODER_MAP_ENABLE +# include "encoder.h" +#endif #ifdef BACKLIGHT_ENABLE # include "backlight.h" diff --git a/quantum/led_matrix/led_matrix.c b/quantum/led_matrix/led_matrix.c index 4b692d1904..1676a60aa3 100644 --- a/quantum/led_matrix/led_matrix.c +++ b/quantum/led_matrix/led_matrix.c @@ -20,8 +20,13 @@ #include "led_matrix.h" #include "progmem.h" #include "eeprom.h" +#include "eeconfig.h" +#include "keyboard.h" +#include "sync_timer.h" +#include "debug.h" #include #include +#include #include "led_tables.h" #include diff --git a/quantum/led_matrix/led_matrix.h b/quantum/led_matrix/led_matrix.h index 9091f6890b..c2533ca49c 100644 --- a/quantum/led_matrix/led_matrix.h +++ b/quantum/led_matrix/led_matrix.h @@ -23,7 +23,7 @@ #include #include #include "led_matrix_types.h" -#include "quantum.h" +#include "keyboard.h" #ifdef IS31FL3731 # include "is31fl3731-simple.h" diff --git a/quantum/matrix.c b/quantum/matrix.c index 97d41caedd..f087a215d4 100644 --- a/quantum/matrix.c +++ b/quantum/matrix.c @@ -20,7 +20,8 @@ along with this program. If not, see . #include "util.h" #include "matrix.h" #include "debounce.h" -#include "quantum.h" +#include "atomic_util.h" + #ifdef SPLIT_KEYBOARD # include "split_common/split_util.h" # include "split_common/transactions.h" diff --git a/quantum/matrix_common.c b/quantum/matrix_common.c index 3173351888..d02c527caa 100644 --- a/quantum/matrix_common.c +++ b/quantum/matrix_common.c @@ -1,9 +1,9 @@ -#include "quantum.h" #include "matrix.h" #include "debounce.h" #include "wait.h" #include "print.h" #include "debug.h" + #ifdef SPLIT_KEYBOARD # include "split_common/split_util.h" # include "split_common/transactions.h" diff --git a/quantum/midi/qmk_midi.c b/quantum/midi/qmk_midi.c index 688259784c..43ebd72937 100644 --- a/quantum/midi/qmk_midi.c +++ b/quantum/midi/qmk_midi.c @@ -7,6 +7,7 @@ #ifdef AUDIO_ENABLE # include "audio.h" +# include #endif /******************************************************************************* diff --git a/quantum/pointing_device/pointing_device_auto_mouse.c b/quantum/pointing_device/pointing_device_auto_mouse.c index b008d18db5..fc3106e37e 100644 --- a/quantum/pointing_device/pointing_device_auto_mouse.c +++ b/quantum/pointing_device/pointing_device_auto_mouse.c @@ -18,6 +18,9 @@ #ifdef POINTING_DEVICE_AUTO_MOUSE_ENABLE # include "pointing_device_auto_mouse.h" +# include "debug.h" +# include "action_util.h" +# include "quantum_keycodes.h" /* local data structure for tracking auto mouse */ static auto_mouse_context_t auto_mouse_context = { diff --git a/quantum/pointing_device/pointing_device_auto_mouse.h b/quantum/pointing_device/pointing_device_auto_mouse.h index 7db63bc6b8..1343855e00 100644 --- a/quantum/pointing_device/pointing_device_auto_mouse.h +++ b/quantum/pointing_device/pointing_device_auto_mouse.h @@ -16,11 +16,14 @@ #pragma once -#include - -#include "quantum.h" +#include +#include #include "pointing_device.h" -#include "print.h" +#include "keycodes.h" +#include "action.h" +#include "report.h" +#include "action_layer.h" +#include "action_tapping.h" /* check settings and set defaults */ #ifndef POINTING_DEVICE_AUTO_MOUSE_ENABLE diff --git a/quantum/process_keycode/process_audio.c b/quantum/process_keycode/process_audio.c index c189dd02b7..ef2f52c9f1 100644 --- a/quantum/process_keycode/process_audio.c +++ b/quantum/process_keycode/process_audio.c @@ -1,5 +1,6 @@ #include "audio.h" #include "process_audio.h" +#include #ifndef VOICE_CHANGE_SONG # define VOICE_CHANGE_SONG SONG(VOICE_CHANGE_SOUND) @@ -61,6 +62,3 @@ void process_audio_noteoff(uint8_t note) { void process_audio_all_notes_off(void) { stop_all_notes(); } - -__attribute__((weak)) void audio_on_user(void) {} -__attribute__((weak)) void audio_off_user(void) {} diff --git a/quantum/process_keycode/process_audio.h b/quantum/process_keycode/process_audio.h index c80136f2c2..69e201e447 100644 --- a/quantum/process_keycode/process_audio.h +++ b/quantum/process_keycode/process_audio.h @@ -10,6 +10,3 @@ bool process_audio(uint16_t keycode, keyrecord_t *record); void process_audio_noteon(uint8_t note); void process_audio_noteoff(uint8_t note); void process_audio_all_notes_off(void); - -void audio_on_user(void); -void audio_off_user(void); diff --git a/quantum/process_keycode/process_clicky.c b/quantum/process_keycode/process_clicky.c index b662a3f2f4..0ee58282e6 100644 --- a/quantum/process_keycode/process_clicky.c +++ b/quantum/process_keycode/process_clicky.c @@ -1,5 +1,7 @@ -#include "audio.h" #include "process_clicky.h" +#include "audio.h" +#include "eeconfig.h" +#include #ifdef AUDIO_CLICKY diff --git a/quantum/process_keycode/process_key_override.c b/quantum/process_keycode/process_key_override.c index 6ce1e4d925..264e2562b8 100644 --- a/quantum/process_keycode/process_key_override.c +++ b/quantum/process_keycode/process_key_override.c @@ -19,6 +19,10 @@ #include "report.h" #include "timer.h" #include "debug.h" +#include "wait.h" +#include "action_util.h" +#include "quantum.h" +#include "quantum_keycodes.h" #ifndef KEY_OVERRIDE_REPEAT_DELAY # define KEY_OVERRIDE_REPEAT_DELAY 500 diff --git a/quantum/repeat_key.c b/quantum/repeat_key.c index 0689c6d454..4567428723 100644 --- a/quantum/repeat_key.c +++ b/quantum/repeat_key.c @@ -13,6 +13,7 @@ // limitations under the License. #include "repeat_key.h" +#include "quantum_keycodes.h" // Variables saving the state of the last key press. static keyrecord_t last_record = {0}; diff --git a/quantum/repeat_key.h b/quantum/repeat_key.h index 06e8364529..8084be24ad 100644 --- a/quantum/repeat_key.h +++ b/quantum/repeat_key.h @@ -14,7 +14,10 @@ #pragma once -#include "quantum.h" +#include +#include +#include "action.h" +#include "keyboard.h" uint16_t get_last_keycode(void); /**< Keycode of the last key. */ uint8_t get_last_mods(void); /**< Mods active with the last key. */ diff --git a/quantum/rgb_matrix/rgb_matrix.c b/quantum/rgb_matrix/rgb_matrix.c index 1680389793..96be615162 100644 --- a/quantum/rgb_matrix/rgb_matrix.c +++ b/quantum/rgb_matrix/rgb_matrix.c @@ -19,8 +19,13 @@ #include "rgb_matrix.h" #include "progmem.h" #include "eeprom.h" +#include "eeconfig.h" +#include "keyboard.h" +#include "sync_timer.h" +#include "debug.h" #include #include +#include #include diff --git a/quantum/rgb_matrix/rgb_matrix.h b/quantum/rgb_matrix/rgb_matrix.h index 83851d8995..38040fb0cc 100644 --- a/quantum/rgb_matrix/rgb_matrix.h +++ b/quantum/rgb_matrix/rgb_matrix.h @@ -22,7 +22,7 @@ #include #include "rgb_matrix_types.h" #include "color.h" -#include "quantum.h" +#include "keyboard.h" #ifdef IS31FL3731 # include "is31fl3731.h" diff --git a/quantum/rgb_matrix/rgb_matrix_drivers.c b/quantum/rgb_matrix/rgb_matrix_drivers.c index 6de20ac8a5..7bd274ee99 100644 --- a/quantum/rgb_matrix/rgb_matrix_drivers.c +++ b/quantum/rgb_matrix/rgb_matrix_drivers.c @@ -15,6 +15,7 @@ */ #include "rgb_matrix.h" +#include "util.h" /* Each driver needs to define the struct * const rgb_matrix_driver_t rgb_matrix_driver; diff --git a/quantum/split_common/split_util.c b/quantum/split_common/split_util.c index a431383454..87838c3195 100644 --- a/quantum/split_common/split_util.c +++ b/quantum/split_common/split_util.c @@ -18,8 +18,8 @@ #include "keyboard.h" #include "timer.h" #include "transport.h" -#include "quantum.h" #include "wait.h" +#include "debug.h" #include "usb_util.h" #ifdef EE_HANDS diff --git a/quantum/split_common/split_util.h b/quantum/split_common/split_util.h index 5c9a260a14..ab42c85e9f 100644 --- a/quantum/split_common/split_util.h +++ b/quantum/split_common/split_util.h @@ -2,7 +2,6 @@ #include #include -#include #include "matrix.h" diff --git a/quantum/split_common/transactions.c b/quantum/split_common/transactions.c index 8cd018a6ec..2b9423cd63 100644 --- a/quantum/split_common/transactions.c +++ b/quantum/split_common/transactions.c @@ -20,13 +20,50 @@ #include "crc.h" #include "debug.h" #include "matrix.h" -#include "quantum.h" +#include "host.h" +#include "action_util.h" +#include "sync_timer.h" +#include "wait.h" #include "transactions.h" #include "transport.h" #include "transaction_id_define.h" #include "split_util.h" #include "synchronization_util.h" +#ifdef BACKLIGHT_ENABLE +# include "backlight.h" +#endif +#ifdef RGBLIGHT_ENABLE +# include "rgblight.h" +#endif +#ifdef LED_MATRIX_ENABLE +# include "led_matrix.h" +#endif +#ifdef RGB_MATRIX_ENABLE +# include "rgb_matrix.h" +#endif +#ifdef OLED_ENABLE +# include "oled_driver.h" +#endif +#ifdef ST7565_ENABLE +# include "st7565.h" +#endif +#ifdef ENCODER_ENABLE +# include "encoder.h" +#endif +#ifdef HAPTIC_ENABLE +# include "haptic.h" +#endif +#ifdef POINTING_DEVICE_ENABLE +# include "pointing_device.h" +#endif +#ifdef OS_DETECTION_ENABLE +# include "os_detection.h" +#endif +#ifdef WPM_ENABLE +# include "wpm.h" +#endif + #define SYNC_TIMER_OFFSET 2 #ifndef FORCED_SYNC_THROTTLE_MS diff --git a/quantum/split_common/transactions.h b/quantum/split_common/transactions.h index e38ec79ce9..af3e68a15f 100644 --- a/quantum/split_common/transactions.h +++ b/quantum/split_common/transactions.h @@ -16,8 +16,8 @@ #pragma once -#include "stdint.h" -#include "stdbool.h" +#include +#include #include "matrix.h" #include "transaction_id_define.h" diff --git a/quantum/split_common/transport.h b/quantum/split_common/transport.h index a3d6f1dfe9..2e2b918d45 100644 --- a/quantum/split_common/transport.h +++ b/quantum/split_common/transport.h @@ -16,8 +16,8 @@ #pragma once -#include "stdint.h" -#include "stdbool.h" +#include +#include #include "progmem.h" #include "action_layer.h" diff --git a/quantum/unicode/unicode.c b/quantum/unicode/unicode.c index 35cb62e700..f92ba51984 100644 --- a/quantum/unicode/unicode.c +++ b/quantum/unicode/unicode.c @@ -25,6 +25,8 @@ #include "wait.h" #include "send_string.h" #include "utf8.h" +#include "debug.h" +#include "quantum.h" #if defined(AUDIO_ENABLE) # include "audio.h" diff --git a/quantum/unicode/unicode.h b/quantum/unicode/unicode.h index 06505d87c0..ccf475d57c 100644 --- a/quantum/unicode/unicode.h +++ b/quantum/unicode/unicode.h @@ -17,8 +17,7 @@ #pragma once #include - -#include "quantum.h" +#include "quantum_keycodes.h" typedef union { uint8_t raw; diff --git a/quantum/via.c b/quantum/via.c index f4293dacd4..2acd7aa90c 100644 --- a/quantum/via.c +++ b/quantum/via.c @@ -22,19 +22,41 @@ # error "DYNAMIC_KEYMAP_ENABLE is not enabled" #endif -#include "quantum.h" - #include "via.h" #include "raw_hid.h" #include "dynamic_keymap.h" #include "eeprom.h" +#include "eeconfig.h" +#include "matrix.h" +#include "timer.h" +#include "wait.h" #include "version.h" // for QMK_BUILDDATE used in EEPROM magic +#if defined(AUDIO_ENABLE) +# include "audio.h" +#endif + +#if defined(BACKLIGHT_ENABLE) +# include "backlight.h" +#endif + +#if defined(RGBLIGHT_ENABLE) +# include "rgblight.h" +#endif + #if (defined(RGB_MATRIX_ENABLE) || defined(LED_MATRIX_ENABLE)) # include #endif +#if defined(RGB_MATRIX_ENABLE) +# include "rgb_matrix.h" +#endif + +#if defined(LED_MATRIX_ENABLE) +# include "led_matrix.h" +#endif + // Can be called in an overriding via_init_kb() to test if keyboard level code usage of // EEPROM is invalid and use/save defaults. bool via_eeprom_is_valid(void) { diff --git a/quantum/via.h b/quantum/via.h index 6c8465b81e..01d4c48b37 100644 --- a/quantum/via.h +++ b/quantum/via.h @@ -17,6 +17,7 @@ #pragma once #include "eeconfig.h" // for EECONFIG_SIZE +#include "action.h" // Keyboard level code can change where VIA stores the magic. // The magic is the build date YYMMDD encoded as BCD in 3 bytes, diff --git a/tmk_core/protocol/arm_atsam/main_arm_atsam.c b/tmk_core/protocol/arm_atsam/main_arm_atsam.c index 5bed9e0cf4..30817c17b6 100644 --- a/tmk_core/protocol/arm_atsam/main_arm_atsam.c +++ b/tmk_core/protocol/arm_atsam/main_arm_atsam.c @@ -21,6 +21,7 @@ along with this program. If not, see . #include "report.h" #include "host.h" #include "host_driver.h" +#include "suspend.h" #include "keycode_config.h" #include diff --git a/tmk_core/protocol/arm_atsam/md_rgb_matrix.c b/tmk_core/protocol/arm_atsam/md_rgb_matrix.c index 6069d1e609..0f316b256c 100644 --- a/tmk_core/protocol/arm_atsam/md_rgb_matrix.c +++ b/tmk_core/protocol/arm_atsam/md_rgb_matrix.c @@ -24,6 +24,7 @@ along with this program. If not, see . # include "led.h" # include "rgb_matrix.h" # include "eeprom.h" +# include "host.h" # include # include diff --git a/tmk_core/protocol/arm_atsam/spi_master.h b/tmk_core/protocol/arm_atsam/spi_master.h index 26c55128be..80678a5707 100644 --- a/tmk_core/protocol/arm_atsam/spi_master.h +++ b/tmk_core/protocol/arm_atsam/spi_master.h @@ -16,7 +16,9 @@ #pragma once +#include #include +#include "gpio.h" typedef int16_t spi_status_t;