From c635733a7fd48c6692d818ac8621571cbc5f470a Mon Sep 17 00:00:00 2001
From: Ryan <fauxpark@gmail.com>
Date: Wed, 3 Apr 2024 10:44:25 +1100
Subject: [PATCH] Remove `quantum.h` includes from keyboard code (#23394)

---
 keyboards/25keys/cassette42/common/oled_helper.c   |  4 +++-
 .../keymaps/default_pimoroni/pimoroni_trackball.c  |  4 ++++
 .../keymaps/default_pimoroni/pimoroni_trackball.h  |  4 +++-
 keyboards/annepro2/annepro2_ble.h                  |  1 -
 .../lib/satisfaction75/satisfaction_core.c         |  3 +++
 .../lib/satisfaction75/satisfaction_core.h         |  3 ++-
 .../lib/satisfaction75/satisfaction_encoder.c      |  1 +
 .../lib/satisfaction75/satisfaction_oled.c         |  8 ++++++++
 keyboards/clueboard/2x1800/2021/max7219.c          |  4 ++++
 keyboards/clueboard/2x1800/2021/max7219.h          |  6 ++++--
 keyboards/converter/usb_usb/custom_matrix.cpp      |  4 ----
 keyboards/converter/xt_usb/xt.h                    |  3 ++-
 keyboards/duck/duck_led/duck_led.c                 |  3 +--
 keyboards/duck/jetfire/indicator_leds.c            |  5 +----
 keyboards/duck/jetfire/indicator_leds.h            |  2 ++
 keyboards/fallacy/indicators.h                     |  3 +--
 keyboards/handwired/d48/taphold.c                  |  3 +++
 keyboards/handwired/d48/taphold.h                  |  4 +++-
 .../dactyl_minidox/{3x5_3.c => dactyl_minidox.c}   |  0
 keyboards/handwired/dygma/raise/leds.c             |  6 +++---
 keyboards/handwired/dygma/raise/leds.h             |  3 +--
 keyboards/handwired/lagrange/transport.c           |  4 +---
 .../handwired/promethium/keymaps/default/keymap.c  |  1 -
 keyboards/horrortroll/nyx/rev1/{nyx.c => rev1.c}   |  0
 keyboards/hotdox/left.c                            |  1 +
 keyboards/hotdox/left.h                            |  4 ----
 keyboards/idobao/id61/keymaps/idobao/specialk.c    |  3 +++
 keyboards/idobao/id61/keymaps/idobao/specialk.h    |  3 +--
 keyboards/input_club/k_type/i2c_master.c           |  5 +++--
 keyboards/kagizaraya/chidori/board.c               |  1 -
 keyboards/keyboardio/model01/leds.c                |  3 ++-
 keyboards/keyboardio/model01/leds.h                |  3 +--
 keyboards/matrix/m20add/rgb_ring.c                 |  4 ++++
 keyboards/miiiw/common/shift_register.c            |  2 +-
 keyboards/miiiw/common/shift_register.h            |  1 +
 keyboards/mntre_v3/{mntre.c => mntre_v3.c}         |  0
 keyboards/molecule/adns.c                          |  2 +-
 keyboards/molecule/adns.h                          |  2 ++
 keyboards/nullbitsco/common/bitc_led.h             |  3 ++-
 keyboards/nullbitsco/common/remote_kb.c            |  3 +++
 keyboards/nullbitsco/common/remote_kb.h            |  3 ++-
 keyboards/nullbitsco/nibble/big_led.h              |  3 ++-
 .../nibble/keymaps/oled_status/oled_display.c      |  9 ++++++++-
 .../nibble/keymaps/oled_status/oled_display.h      |  2 ++
 keyboards/rocketboard_16/keycode_lookup.c          |  5 ++++-
 keyboards/rocketboard_16/keycode_lookup.h          |  2 +-
 keyboards/sirius/unigo66/custom_matrix.cpp         |  4 ----
 keyboards/stront/keymaps/hid/hid_display.h         |  3 ++-
 keyboards/wilba_tech/via_test.c                    |  1 -
 keyboards/wilba_tech/wt_mono_backlight.c           |  5 ++---
 keyboards/wilba_tech/wt_mono_backlight.h           |  1 +
 keyboards/wilba_tech/wt_rgb_backlight.c            | 14 +++++---------
 keyboards/wilba_tech/wt_rgb_backlight.h            |  1 +
 keyboards/wilba_tech/wt_rgb_backlight_keycodes.h   |  2 ++
 keyboards/work_louder/rgb_functions.c              |  5 +++++
 keyboards/work_louder/rgb_functions.h              |  2 +-
 keyboards/yushakobo/navpad/navpad_prefs.c          |  5 +++++
 keyboards/yushakobo/navpad/navpad_prefs.h          |  2 +-
 keyboards/yushakobo/quick17/quick17_prefs.h        |  4 +++-
 keyboards/yushakobo/quick17/rgb_matrix_kb.inc      |  1 +
 60 files changed, 123 insertions(+), 70 deletions(-)
 rename keyboards/handwired/dactyl_minidox/{3x5_3.c => dactyl_minidox.c} (100%)
 rename keyboards/horrortroll/nyx/rev1/{nyx.c => rev1.c} (100%)
 rename keyboards/mntre_v3/{mntre.c => mntre_v3.c} (100%)

diff --git a/keyboards/25keys/cassette42/common/oled_helper.c b/keyboards/25keys/cassette42/common/oled_helper.c
index 1c4148a7d9..83832a9947 100644
--- a/keyboards/25keys/cassette42/common/oled_helper.c
+++ b/keyboards/25keys/cassette42/common/oled_helper.c
@@ -1,5 +1,7 @@
 #include "oled_helper.h"
-#include "quantum.h"
+#include "progmem.h"
+#include "rgblight.h"
+#include "oled_driver.h"
 #include <stdio.h>
 #include <string.h>
 
diff --git a/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.c b/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.c
index 0db58bfabd..c32f2a04d2 100644
--- a/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.c
+++ b/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.c
@@ -14,8 +14,12 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include QMK_KEYBOARD_H
 #include "pimoroni_trackball.h"
 #include "i2c_master.h"
+#include "action.h"
+#include "timer.h"
+#include "print.h"
 
 static uint8_t scrolling      = 0;
 static int16_t x_offset       = 0;
diff --git a/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.h b/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.h
index ca2559bec7..d85d4e60a9 100644
--- a/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.h
+++ b/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.h
@@ -16,8 +16,10 @@
 
 #pragma once
 
-#include "quantum.h"
+#include <stdint.h>
+#include <stdbool.h>
 #include "pointing_device.h"
+#include "report.h"
 
 #ifndef TRACKBALL_ADDRESS
 #    define TRACKBALL_ADDRESS (0x0A << 1)
diff --git a/keyboards/annepro2/annepro2_ble.h b/keyboards/annepro2/annepro2_ble.h
index 0cfb68e071..37dd6d31a1 100644
--- a/keyboards/annepro2/annepro2_ble.h
+++ b/keyboards/annepro2/annepro2_ble.h
@@ -17,7 +17,6 @@
 #pragma once
 
 #include "annepro2.h"
-#include "quantum.h"
 
 void annepro2_ble_bootload(void);
 void annepro2_ble_startup(void);
diff --git a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.c b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.c
index e148ae468a..6f76582e4b 100644
--- a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.c
+++ b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.c
@@ -4,6 +4,9 @@
 #include "satisfaction_core.h"
 #include "print.h"
 #include "debug.h"
+#include "matrix.h"
+#include "quantum.h"
+#include "encoder.h"
 
 #include <ch.h>
 #include <hal.h>
diff --git a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.h b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.h
index 9c46642195..70ee2a3fda 100644
--- a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.h
+++ b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.h
@@ -3,7 +3,8 @@
 
 #pragma once
 
-#include "quantum.h"
+#include <stdint.h>
+#include <stdbool.h>
 
 #include "via.h" // only for EEPROM address
 #include "satisfaction_keycodes.h"
diff --git a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c
index 7122091ea3..074fe262b3 100644
--- a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c
+++ b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c
@@ -2,6 +2,7 @@
 // SPDX-License-Identifier: GPL-2.0-or-later
 
 #include "satisfaction_core.h"
+#include "backlight.h"
 #include "eeprom.h"
 
 void pre_encoder_mode_change(void){
diff --git a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_oled.c b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_oled.c
index 18ae368e53..0361453c52 100644
--- a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_oled.c
+++ b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_oled.c
@@ -2,6 +2,14 @@
 // SPDX-License-Identifier: GPL-2.0-or-later
 
 #include "satisfaction_core.h"
+#include "action_layer.h"
+#include "action_util.h"
+#include "timer.h"
+#include "matrix.h"
+#include "led.h"
+#include "host.h"
+#include "oled_driver.h"
+#include "progmem.h"
 #include <stdio.h>
 
 void draw_default(void);
diff --git a/keyboards/clueboard/2x1800/2021/max7219.c b/keyboards/clueboard/2x1800/2021/max7219.c
index 1ba22362fe..81d26b9a51 100644
--- a/keyboards/clueboard/2x1800/2021/max7219.c
+++ b/keyboards/clueboard/2x1800/2021/max7219.c
@@ -40,6 +40,10 @@
  */
 
 #include "max7219.h"
+#include "spi_master.h"
+#include "debug.h"
+#include "gpio.h"
+#include "wait.h"
 #include "font.h"
 
 // Datastructures
diff --git a/keyboards/clueboard/2x1800/2021/max7219.h b/keyboards/clueboard/2x1800/2021/max7219.h
index 95d1d9389d..6d78345d5d 100644
--- a/keyboards/clueboard/2x1800/2021/max7219.h
+++ b/keyboards/clueboard/2x1800/2021/max7219.h
@@ -26,8 +26,10 @@
  *    OTHER DEALINGS IN THE SOFTWARE.
  */
 #pragma once
-#include "quantum.h"
-#include "spi_master.h"
+
+#include <stddef.h>
+#include <stdint.h>
+#include <stdbool.h>
 
 // Set defaults if they're not set
 #ifndef MAX7219_LOAD
diff --git a/keyboards/converter/usb_usb/custom_matrix.cpp b/keyboards/converter/usb_usb/custom_matrix.cpp
index f5f751da14..ca0855a82b 100644
--- a/keyboards/converter/usb_usb/custom_matrix.cpp
+++ b/keyboards/converter/usb_usb/custom_matrix.cpp
@@ -35,10 +35,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include "host.h"
 #include "keyboard.h"
 
-extern "C" {
-#include "quantum.h"
-}
-
 /* KEY CODE to Matrix
  *
  * HID keycode(1 byte):
diff --git a/keyboards/converter/xt_usb/xt.h b/keyboards/converter/xt_usb/xt.h
index 538ff0e459..e9c1c7751d 100644
--- a/keyboards/converter/xt_usb/xt.h
+++ b/keyboards/converter/xt_usb/xt.h
@@ -38,7 +38,8 @@ POSSIBILITY OF SUCH DAMAGE.
 
 #pragma once
 
-#include "quantum.h"
+#include <stdint.h>
+#include "gpio.h"
 
 #define XT_DATA_IN()               \
     do {                           \
diff --git a/keyboards/duck/duck_led/duck_led.c b/keyboards/duck/duck_led/duck_led.c
index 2fa920e4b6..ce9bd0fde1 100644
--- a/keyboards/duck/duck_led/duck_led.c
+++ b/keyboards/duck/duck_led/duck_led.c
@@ -1,6 +1,5 @@
-#include <avr/io.h>
 #include "duck_led.h"
-#include "quantum.h"
+#include "wait.h"
 
 void show(void) {
   wait_us((RES / 1000UL) + 1);
diff --git a/keyboards/duck/jetfire/indicator_leds.c b/keyboards/duck/jetfire/indicator_leds.c
index 7dbdb1ff79..200a9ce6ff 100644
--- a/keyboards/duck/jetfire/indicator_leds.c
+++ b/keyboards/duck/jetfire/indicator_leds.c
@@ -12,13 +12,10 @@ You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+#include "indicator_leds.h"
 #include <avr/interrupt.h>
 #include <avr/io.h>
-#include <stdbool.h>
 #include <util/delay.h>
-#include <stdint.h>
-#include "indicator_leds.h"
-#include "quantum.h"
 
 #define LED_T1H  900
 #define LED_T1L  600
diff --git a/keyboards/duck/jetfire/indicator_leds.h b/keyboards/duck/jetfire/indicator_leds.h
index 36dda632fb..27dcc1535b 100644
--- a/keyboards/duck/jetfire/indicator_leds.h
+++ b/keyboards/duck/jetfire/indicator_leds.h
@@ -1,5 +1,7 @@
 #pragma once
 
+#include <stdint.h>
+#include <stdbool.h>
 #include "duck_led/duck_led.h"
 
 void backlight_init_ports(void);
diff --git a/keyboards/fallacy/indicators.h b/keyboards/fallacy/indicators.h
index 6de374cda8..838a698f7b 100755
--- a/keyboards/fallacy/indicators.h
+++ b/keyboards/fallacy/indicators.h
@@ -15,8 +15,7 @@
  */
 #pragma once
 
-#include "quantum.h"
-
+#include <stdbool.h>
 
 void init_fallacy_leds(void);
 void update_fallacy_leds(void);
diff --git a/keyboards/handwired/d48/taphold.c b/keyboards/handwired/d48/taphold.c
index 0b56a5a6a1..5360391b97 100644
--- a/keyboards/handwired/d48/taphold.c
+++ b/keyboards/handwired/d48/taphold.c
@@ -1,4 +1,7 @@
 #include "taphold.h"
+#include "action_layer.h"
+#include "keyboard.h"
+#include "timer.h"
 
 bool taphold_process(uint16_t keycode, keyrecord_t *record) {
     for (int i = 0; i < taphold_config_size; i++) {
diff --git a/keyboards/handwired/d48/taphold.h b/keyboards/handwired/d48/taphold.h
index 2a691aa63f..8788c58f3d 100644
--- a/keyboards/handwired/d48/taphold.h
+++ b/keyboards/handwired/d48/taphold.h
@@ -1,6 +1,8 @@
 #pragma once
 
-#include "quantum.h"
+#include <stdint.h>
+#include <stdbool.h>
+#include "action.h"
 
 typedef enum taphold_mode_t {
     TAPHOLD_LAYER,
diff --git a/keyboards/handwired/dactyl_minidox/3x5_3.c b/keyboards/handwired/dactyl_minidox/dactyl_minidox.c
similarity index 100%
rename from keyboards/handwired/dactyl_minidox/3x5_3.c
rename to keyboards/handwired/dactyl_minidox/dactyl_minidox.c
diff --git a/keyboards/handwired/dygma/raise/leds.c b/keyboards/handwired/dygma/raise/leds.c
index 53fa389206..ad15644579 100644
--- a/keyboards/handwired/dygma/raise/leds.c
+++ b/keyboards/handwired/dygma/raise/leds.c
@@ -14,15 +14,15 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "quantum.h"
+#include "leds.h"
+#include <string.h>
 #include "i2c_master.h"
 #include "led_tables.h"
 #include "rgb_matrix.h"
-#include <string.h>
+#include "wait.h"
 #include "raise.h"
 #include "wire-protocol-constants.h"
 #include "print.h"
-#include "leds.h"
 
 // Color order of LEDs is Green, Red, Blue.
 typedef struct PACKED {
diff --git a/keyboards/handwired/dygma/raise/leds.h b/keyboards/handwired/dygma/raise/leds.h
index c25a4326a9..1b7bfce2e2 100644
--- a/keyboards/handwired/dygma/raise/leds.h
+++ b/keyboards/handwired/dygma/raise/leds.h
@@ -16,8 +16,7 @@
 
 #pragma once
 
-#include "quantum.h"
-#include "rgb_matrix.h"
+#include <stdint.h>
 
 extern const uint8_t led_map[RGB_MATRIX_LED_COUNT];
 
diff --git a/keyboards/handwired/lagrange/transport.c b/keyboards/handwired/lagrange/transport.c
index 8f6973925f..ec91cff306 100644
--- a/keyboards/handwired/lagrange/transport.c
+++ b/keyboards/handwired/lagrange/transport.c
@@ -14,9 +14,7 @@
  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  */
 
-#include <spi_master.h>
-
-#include "quantum.h"
+#include "spi_master.h"
 #include "split_util.h"
 #include "transport.h"
 #include "timer.h"
diff --git a/keyboards/handwired/promethium/keymaps/default/keymap.c b/keyboards/handwired/promethium/keymaps/default/keymap.c
index ff73e51d5e..8af82d8297 100644
--- a/keyboards/handwired/promethium/keymaps/default/keymap.c
+++ b/keyboards/handwired/promethium/keymaps/default/keymap.c
@@ -22,7 +22,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #endif
 #include "eeconfig.h"
 #include "process_unicode.h"
-#include "quantum.h"
 #ifdef RGBSPS_ENABLE
 #include "rgbsps.h"
 #include "rgbtheme.h"
diff --git a/keyboards/horrortroll/nyx/rev1/nyx.c b/keyboards/horrortroll/nyx/rev1/rev1.c
similarity index 100%
rename from keyboards/horrortroll/nyx/rev1/nyx.c
rename to keyboards/horrortroll/nyx/rev1/rev1.c
diff --git a/keyboards/hotdox/left.c b/keyboards/hotdox/left.c
index 5196fb3115..ac51322476 100644
--- a/keyboards/hotdox/left.c
+++ b/keyboards/hotdox/left.c
@@ -1,5 +1,6 @@
 #include "action.h"
 #include "left.h"
+#include "print.h"
 #include "wait.h"
 
 bool i2c_initialized = false;
diff --git a/keyboards/hotdox/left.h b/keyboards/hotdox/left.h
index 32faadba21..931d98d8e5 100644
--- a/keyboards/hotdox/left.h
+++ b/keyboards/hotdox/left.h
@@ -1,9 +1,7 @@
 #pragma once
 
-#include "quantum.h"
 #include <stdint.h>
 #include "i2c_master.h"
-#include <util/delay.h>
 
 #define MCP23017
 #define MCP23017_A0 0
@@ -43,8 +41,6 @@ void left_scan(void);
 uint8_t left_read_cols(void);
 uint8_t left_get_col(uint8_t col);
 
-matrix_row_t left_read_row(void);
-
 void left_unselect_rows(void);
 void left_select_row(uint8_t row);
 
diff --git a/keyboards/idobao/id61/keymaps/idobao/specialk.c b/keyboards/idobao/id61/keymaps/idobao/specialk.c
index 03a31e6804..9b7e481d68 100644
--- a/keyboards/idobao/id61/keymaps/idobao/specialk.c
+++ b/keyboards/idobao/id61/keymaps/idobao/specialk.c
@@ -2,6 +2,9 @@
 // SPDX-License-Identifier: GPL-2.0-or-later
 
 #include "specialk.h"
+#include "keycodes.h"
+#include "action_layer.h"
+#include "action_util.h"
 
 bool delkey_registered = false;
 uint32_t __keycode_raised = 0;
diff --git a/keyboards/idobao/id61/keymaps/idobao/specialk.h b/keyboards/idobao/id61/keymaps/idobao/specialk.h
index a2ec124de8..a79cde5953 100644
--- a/keyboards/idobao/id61/keymaps/idobao/specialk.h
+++ b/keyboards/idobao/id61/keymaps/idobao/specialk.h
@@ -5,8 +5,7 @@
 
 #include <stdint.h>
 #include <stdbool.h>
-#include "util.h"
-#include "quantum.h"
+#include "action.h"
 
 bool ID61_process_special_k(uint16_t keycode, keyrecord_t *record, bool arrow_mode, uint8_t k_norm, uint8_t k_spcl, uint8_t k_altr);
 bool ID61_backspace_special(uint16_t keycode, keyrecord_t *record);
diff --git a/keyboards/input_club/k_type/i2c_master.c b/keyboards/input_club/k_type/i2c_master.c
index e25ae2ef6f..a55b2fb38c 100644
--- a/keyboards/input_club/k_type/i2c_master.c
+++ b/keyboards/input_club/k_type/i2c_master.c
@@ -27,10 +27,11 @@
 
 #ifdef RGB_MATRIX_ENABLE
 
-
-#include "quantum.h"
 #include "i2c_master.h"
+#include "gpio.h"
+#include "chibios_config.h"
 #include <string.h>
+#include <ch.h>
 #include <hal.h>
 
 static uint8_t i2c_address;
diff --git a/keyboards/kagizaraya/chidori/board.c b/keyboards/kagizaraya/chidori/board.c
index 34e57a8874..2834f7625b 100644
--- a/keyboards/kagizaraya/chidori/board.c
+++ b/keyboards/kagizaraya/chidori/board.c
@@ -19,7 +19,6 @@
 #include "print.h"
 #include "debug.h"
 #include "matrix.h"
-#include "quantum.h"
 #include "board.h"
 #include "i2c_master.h"
 
diff --git a/keyboards/keyboardio/model01/leds.c b/keyboards/keyboardio/model01/leds.c
index 3fb502cb27..656e176bfa 100644
--- a/keyboards/keyboardio/model01/leds.c
+++ b/keyboards/keyboardio/model01/leds.c
@@ -13,7 +13,8 @@
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
-#include "quantum.h"
+
+#include "leds.h"
 #include "i2c_master.h"
 #include "led_tables.h"
 #include "rgb_matrix.h"
diff --git a/keyboards/keyboardio/model01/leds.h b/keyboards/keyboardio/model01/leds.h
index 4d185919b0..6f5e12a6a8 100644
--- a/keyboards/keyboardio/model01/leds.h
+++ b/keyboards/keyboardio/model01/leds.h
@@ -15,8 +15,7 @@
  */
 #pragma once
 
-#include "quantum.h"
-#include "rgb_matrix.h"
+#include <stdint.h>
 
 void set_all_leds_to(uint8_t r, uint8_t g, uint8_t b);
 void set_led_to(int led, uint8_t r, uint8_t g, uint8_t b);
diff --git a/keyboards/matrix/m20add/rgb_ring.c b/keyboards/matrix/m20add/rgb_ring.c
index f32875cf4f..ecdac9130a 100644
--- a/keyboards/matrix/m20add/rgb_ring.c
+++ b/keyboards/matrix/m20add/rgb_ring.c
@@ -18,9 +18,13 @@
 
 #include "rgb_ring.h"
 
+#include <stdint.h>
+#include <stdbool.h>
 #include <string.h>
 #include "quantum.h"
 #include "rgblight.h"
+#include "timer.h"
+#include "action.h"
 #include "drivers/led/issi/is31fl3731.h"
 #include "i2c_master.h"
 
diff --git a/keyboards/miiiw/common/shift_register.c b/keyboards/miiiw/common/shift_register.c
index 1f21c12468..2c9259180e 100644
--- a/keyboards/miiiw/common/shift_register.c
+++ b/keyboards/miiiw/common/shift_register.c
@@ -14,8 +14,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "quantum.h"
 #include "shift_register.h"
+#include <string.h>
 
 static void shift_out(void);
 
diff --git a/keyboards/miiiw/common/shift_register.h b/keyboards/miiiw/common/shift_register.h
index f9895e63f8..8d72149be2 100644
--- a/keyboards/miiiw/common/shift_register.h
+++ b/keyboards/miiiw/common/shift_register.h
@@ -16,6 +16,7 @@
 
 #pragma once
 
+#include <stdint.h>
 #include "gpio.h"
 
 #ifndef GPIOH_BASE
diff --git a/keyboards/mntre_v3/mntre.c b/keyboards/mntre_v3/mntre_v3.c
similarity index 100%
rename from keyboards/mntre_v3/mntre.c
rename to keyboards/mntre_v3/mntre_v3.c
diff --git a/keyboards/molecule/adns.c b/keyboards/molecule/adns.c
index 96fc83ee0b..0648193557 100644
--- a/keyboards/molecule/adns.c
+++ b/keyboards/molecule/adns.c
@@ -16,7 +16,7 @@
 #include "spi_master.h"
 #include "adns.h"
 #include "debug.h"
-#include "quantum.h"
+#include "wait.h"
 #include "pointing_device.h"
 #include "adns9800_srom_A6.h"
 
diff --git a/keyboards/molecule/adns.h b/keyboards/molecule/adns.h
index d684d3cbcb..e557aeb2ec 100644
--- a/keyboards/molecule/adns.h
+++ b/keyboards/molecule/adns.h
@@ -15,6 +15,8 @@
  */
 #pragma once
 
+#include <stdint.h>
+
 void adns_begin(void);
 
 void adns_end(void);
diff --git a/keyboards/nullbitsco/common/bitc_led.h b/keyboards/nullbitsco/common/bitc_led.h
index 14cd4f15b7..c649f1c1dd 100644
--- a/keyboards/nullbitsco/common/bitc_led.h
+++ b/keyboards/nullbitsco/common/bitc_led.h
@@ -15,7 +15,8 @@
  */
 #pragma once
 
-#include "quantum.h"
+#include <stdint.h>
+#include "gpio.h"
 
 #define LED_ON          2
 #define LED_DIM         1
diff --git a/keyboards/nullbitsco/common/remote_kb.c b/keyboards/nullbitsco/common/remote_kb.c
index 8e3f7f6766..bd2b396e6b 100644
--- a/keyboards/nullbitsco/common/remote_kb.c
+++ b/keyboards/nullbitsco/common/remote_kb.c
@@ -27,7 +27,10 @@ This will require a new communication protocol, as the current one is limited.
 */
 
 #include "remote_kb.h"
+#include "quantum.h"
 #include "uart.h"
+#include "wait.h"
+#include "debug.h"
 
 uint8_t
  msg[UART_MSG_LEN],
diff --git a/keyboards/nullbitsco/common/remote_kb.h b/keyboards/nullbitsco/common/remote_kb.h
index da124bf5f4..97d299189d 100644
--- a/keyboards/nullbitsco/common/remote_kb.h
+++ b/keyboards/nullbitsco/common/remote_kb.h
@@ -15,7 +15,8 @@
  */
 #pragma once
 
-#include "quantum.h"
+#include <stdint.h>
+#include "action.h"
 
 #define SERIAL_UART_BAUD 76800 //low error rate for 32u4 @ 16MHz
 
diff --git a/keyboards/nullbitsco/nibble/big_led.h b/keyboards/nullbitsco/nibble/big_led.h
index 4ebcc35f08..1198d3490b 100644
--- a/keyboards/nullbitsco/nibble/big_led.h
+++ b/keyboards/nullbitsco/nibble/big_led.h
@@ -15,7 +15,8 @@
  */
 #pragma once
 
-#include "quantum.h"
+#include <stdint.h>
+#include "gpio.h"
 
 /* Optional big LED pins */
 #define BIG_LED_R_PIN D7
diff --git a/keyboards/nullbitsco/nibble/keymaps/oled_status/oled_display.c b/keyboards/nullbitsco/nibble/keymaps/oled_status/oled_display.c
index c734e80cef..11a0e1f11e 100644
--- a/keyboards/nullbitsco/nibble/keymaps/oled_status/oled_display.c
+++ b/keyboards/nullbitsco/nibble/keymaps/oled_status/oled_display.c
@@ -13,8 +13,15 @@
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
-#include "quantum.h"
+
 #include "oled_display.h"
+#include "keycodes.h"
+#include "progmem.h"
+#include "host.h"
+#include "timer.h"
+#include "wpm.h"
+#include "rgblight.h"
+#include "oled_driver.h"
 
 static const char PROGMEM oled_mode_messages[5][15] = {
     "",
diff --git a/keyboards/nullbitsco/nibble/keymaps/oled_status/oled_display.h b/keyboards/nullbitsco/nibble/keymaps/oled_status/oled_display.h
index bd59d44b41..7f2b5e1e77 100644
--- a/keyboards/nullbitsco/nibble/keymaps/oled_status/oled_display.h
+++ b/keyboards/nullbitsco/nibble/keymaps/oled_status/oled_display.h
@@ -15,6 +15,8 @@
  */
 #pragma once
 
+#include <stdint.h>
+
 typedef enum {
     OLED_MODE_IDLE = 0,
     OLED_MODE_VOLUME_UP = 1,
diff --git a/keyboards/rocketboard_16/keycode_lookup.c b/keyboards/rocketboard_16/keycode_lookup.c
index 61b73bd0c0..cb8b0330c2 100644
--- a/keyboards/rocketboard_16/keycode_lookup.c
+++ b/keyboards/rocketboard_16/keycode_lookup.c
@@ -15,8 +15,11 @@
  */
 
 #include "keycode_lookup.h"
+#include "quantum_keycodes.h"
+#include "keymap_us.h"
 #include "print.h"
 #include "via.h"
+#include "util.h"
 
 #define num_keycodes ARRAY_SIZE(lookup_table)
 static char UNKNOWN_KEYCODE[] = "UNKNOWN";
@@ -289,7 +292,7 @@ lookup_table_t lookup_table[333] =
  {"KC_QUES", KC_QUES},
  {"QK_BOOT", QK_BOOT},
  {"DB_TOGG", DB_TOGG},
- {"MAGIC_TOGGLE_NKRO", MAGIC_TOGGLE_NKRO},
+ {"NK_TOGG", NK_TOGG},
  {"QK_GESC", QK_GESC},
  {"AU_ON", AU_ON},
  {"AU_OFF", AU_OFF},
diff --git a/keyboards/rocketboard_16/keycode_lookup.h b/keyboards/rocketboard_16/keycode_lookup.h
index 35f0b66f25..06f0efb53b 100644
--- a/keyboards/rocketboard_16/keycode_lookup.h
+++ b/keyboards/rocketboard_16/keycode_lookup.h
@@ -16,7 +16,7 @@
 
 #pragma once
 
-#include "quantum.h"
+#include <stdint.h>
 
 typedef struct
 {
diff --git a/keyboards/sirius/unigo66/custom_matrix.cpp b/keyboards/sirius/unigo66/custom_matrix.cpp
index 07c6df2981..25648a5f78 100644
--- a/keyboards/sirius/unigo66/custom_matrix.cpp
+++ b/keyboards/sirius/unigo66/custom_matrix.cpp
@@ -35,10 +35,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include "host.h"
 #include "keyboard.h"
 
-extern "C" {
-#include "quantum.h"
-}
-
 /* KEY CODE to Matrix
  *
  * HID keycode(1 byte):
diff --git a/keyboards/stront/keymaps/hid/hid_display.h b/keyboards/stront/keymaps/hid/hid_display.h
index b93bf64716..e823d3e8a4 100644
--- a/keyboards/stront/keymaps/hid/hid_display.h
+++ b/keyboards/stront/keymaps/hid/hid_display.h
@@ -1,7 +1,8 @@
 // Copyright 2023 zzeneg (@zzeneg)
 // SPDX-License-Identifier: GPL-2.0-or-later
 
-#include "quantum.h"
+#include <stdint.h>
+#include <stdbool.h>
 
 typedef enum {
     _QWERTY = 0,
diff --git a/keyboards/wilba_tech/via_test.c b/keyboards/wilba_tech/via_test.c
index 6a74df5164..314ec4472c 100644
--- a/keyboards/wilba_tech/via_test.c
+++ b/keyboards/wilba_tech/via_test.c
@@ -14,7 +14,6 @@
 // - add `#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 128` to config.h
 //   (or change to match CHANNELS*VALUES*2)
 
-#include "quantum.h"
 #include "via.h"
 
 #ifdef VIA_ENABLE
diff --git a/keyboards/wilba_tech/wt_mono_backlight.c b/keyboards/wilba_tech/wt_mono_backlight.c
index 1523fbdb85..1426e09fc6 100644
--- a/keyboards/wilba_tech/wt_mono_backlight.c
+++ b/keyboards/wilba_tech/wt_mono_backlight.c
@@ -14,16 +14,15 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "quantum.h"
 #include "wt_mono_backlight.h"
 #include "wt_rgb_backlight_api.h" // reuse these for now
 #include "wt_rgb_backlight_keycodes.h" // reuse these for now
 
+#include <stdlib.h>
 #include <avr/interrupt.h>
 #include "i2c_master.h"
-
+#include "host.h"
 #include "progmem.h"
-#include "quantum/color.h"
 #include "eeprom.h"
 
 #include "via.h" // uses EEPROM address, lighting value IDs
diff --git a/keyboards/wilba_tech/wt_mono_backlight.h b/keyboards/wilba_tech/wt_mono_backlight.h
index 9bf76b44bb..fb77ec66e1 100644
--- a/keyboards/wilba_tech/wt_mono_backlight.h
+++ b/keyboards/wilba_tech/wt_mono_backlight.h
@@ -19,6 +19,7 @@
 #include <stdint.h>
 #include <stdbool.h>
 
+#include "action.h"
 #include "quantum/color.h"
 
 typedef struct PACKED
diff --git a/keyboards/wilba_tech/wt_rgb_backlight.c b/keyboards/wilba_tech/wt_rgb_backlight.c
index d03d189b29..02bcdd610b 100644
--- a/keyboards/wilba_tech/wt_rgb_backlight.c
+++ b/keyboards/wilba_tech/wt_rgb_backlight.c
@@ -40,19 +40,15 @@
 #error wt_rgb_backlight.c compiled without setting configuration symbol
 #endif
 
-#ifndef MAX
-    #define MAX(X, Y) ((X) > (Y) ? (X) : (Y))
-#endif
-
-#ifndef MIN
-    #define MIN(a,b) ((a) < (b)? (a): (b))
-#endif
-
-#include "quantum.h"
 #include "wt_rgb_backlight.h"
 #include "wt_rgb_backlight_api.h"
 #include "wt_rgb_backlight_keycodes.h"
 
+#include <stdlib.h>
+#include "quantum.h"
+#include "host.h"
+#include "util.h"
+
 #if !defined(RGB_BACKLIGHT_HS60) && !defined(RGB_BACKLIGHT_NK65) && !defined(RGB_BACKLIGHT_NK87) && !defined(RGB_BACKLIGHT_NEBULA68) && !defined(RGB_BACKLIGHT_NEBULA12) && !defined (RGB_BACKLIGHT_KW_MEGA)
 #include <avr/interrupt.h>
 #include "i2c_master.h"
diff --git a/keyboards/wilba_tech/wt_rgb_backlight.h b/keyboards/wilba_tech/wt_rgb_backlight.h
index 6fb2ee2122..5662178197 100644
--- a/keyboards/wilba_tech/wt_rgb_backlight.h
+++ b/keyboards/wilba_tech/wt_rgb_backlight.h
@@ -23,6 +23,7 @@
 #include <stdint.h>
 #include <stdbool.h>
 
+#include "action.h"
 #include "quantum/color.h"
 
 typedef struct PACKED
diff --git a/keyboards/wilba_tech/wt_rgb_backlight_keycodes.h b/keyboards/wilba_tech/wt_rgb_backlight_keycodes.h
index b8c23c4b07..79016744af 100644
--- a/keyboards/wilba_tech/wt_rgb_backlight_keycodes.h
+++ b/keyboards/wilba_tech/wt_rgb_backlight_keycodes.h
@@ -15,6 +15,8 @@
  */
 #pragma once
 
+#include "keycodes.h"
+
 enum wt_rgb_backlight_keycodes {
     BR_INC = QK_KB_0, // brightness increase
     BR_DEC,             // brightness decrease
diff --git a/keyboards/work_louder/rgb_functions.c b/keyboards/work_louder/rgb_functions.c
index 36f9da013e..bc31aab7c1 100644
--- a/keyboards/work_louder/rgb_functions.c
+++ b/keyboards/work_louder/rgb_functions.c
@@ -15,6 +15,11 @@
  */
 
 #include "rgb_functions.h"
+#include <stdint.h>
+#include "quantum.h"
+#include "action.h"
+#include "rgblight.h"
+#include "rgb_matrix.h"
 
 #ifdef RGBLIGHT_ENABLE
 #undef WS2812_DI_PIN
diff --git a/keyboards/work_louder/rgb_functions.h b/keyboards/work_louder/rgb_functions.h
index 9ad7cdb19c..eaef787a22 100644
--- a/keyboards/work_louder/rgb_functions.h
+++ b/keyboards/work_louder/rgb_functions.h
@@ -16,7 +16,7 @@
 
 #pragma once
 
-#include "quantum.h"
+#include "keycodes.h"
 
 #ifndef VIA_ENABLE
 #    ifndef RGB_MATRIX_TOGGLE
diff --git a/keyboards/yushakobo/navpad/navpad_prefs.c b/keyboards/yushakobo/navpad/navpad_prefs.c
index 1ffd441674..08b7464cf9 100644
--- a/keyboards/yushakobo/navpad/navpad_prefs.c
+++ b/keyboards/yushakobo/navpad/navpad_prefs.c
@@ -15,6 +15,11 @@
  */
 
 #include "navpad_prefs.h"
+#include "quantum.h"
+#include "action.h"
+#include "action_layer.h"
+#include "rgblight.h"
+#include "led.h"
 
 bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
     if (!process_record_user(keycode, record)) { return false; }
diff --git a/keyboards/yushakobo/navpad/navpad_prefs.h b/keyboards/yushakobo/navpad/navpad_prefs.h
index d9d2286e5b..6c73e1ed07 100644
--- a/keyboards/yushakobo/navpad/navpad_prefs.h
+++ b/keyboards/yushakobo/navpad/navpad_prefs.h
@@ -16,7 +16,7 @@
 
 #pragma once
 
-#include "quantum.h"
+#include "keycodes.h"
 
 enum custom_keycodes { 
   TAP_00 = QK_KB_0
diff --git a/keyboards/yushakobo/quick17/quick17_prefs.h b/keyboards/yushakobo/quick17/quick17_prefs.h
index 25f2e1e0ae..a498381cee 100644
--- a/keyboards/yushakobo/quick17/quick17_prefs.h
+++ b/keyboards/yushakobo/quick17/quick17_prefs.h
@@ -16,7 +16,9 @@
 
 #pragma once
 
-#include "quantum.h"
+#include <stdint.h>
+#include <stdbool.h>
+#include "color.h"
 
 enum layer_names {
     _CONTROL,
diff --git a/keyboards/yushakobo/quick17/rgb_matrix_kb.inc b/keyboards/yushakobo/quick17/rgb_matrix_kb.inc
index 34b410ce57..4998cce029 100644
--- a/keyboards/yushakobo/quick17/rgb_matrix_kb.inc
+++ b/keyboards/yushakobo/quick17/rgb_matrix_kb.inc
@@ -3,6 +3,7 @@ RGB_MATRIX_EFFECT(quick17_rgbm_effect)
 #ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS
 
 #include "quick17_prefs.h"
+#include "quantum.h"
 
 #define LED_LAYOUT(\
     L00, L01, L02, L03, L04, L05, \