diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index b6f888d30db1..fbaf087ad146 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -139,8 +139,7 @@ ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes) ifeq ($(strip $(POINTING_DEVICE_DRIVER)), adns9800) SPI_DRIVER_REQUIRED = yes else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), analog_joystick) - OPT_DEFS += -DSTM32_ADC -DHAL_USE_ADC=TRUE - LIB_SRC += analog.c + ANALOG_DRIVER_REQUIRED = yes else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), cirque_pinnacle_i2c) I2C_DRIVER_REQUIRED = yes SRC += drivers/sensors/cirque_pinnacle.c @@ -840,8 +839,8 @@ ifeq ($(strip $(JOYSTICK_ENABLE)), yes) SRC += $(QUANTUM_DIR)/joystick.c ifeq ($(strip $(JOYSTICK_DRIVER)), analog) + ANALOG_DRIVER_REQUIRED = yes OPT_DEFS += -DANALOG_JOYSTICK_ENABLE - SRC += analog.c endif ifeq ($(strip $(JOYSTICK_DRIVER)), digital) OPT_DEFS += -DDIGITAL_JOYSTICK_ENABLE @@ -886,9 +885,9 @@ ifeq ($(strip $(BLUETOOTH_ENABLE)), yes) ifeq ($(strip $(BLUETOOTH_DRIVER)), bluefruit_le) SPI_DRIVER_REQUIRED = yes + ANALOG_DRIVER_REQUIRED = yes SRC += $(DRIVER_PATH)/bluetooth/bluetooth.c SRC += $(DRIVER_PATH)/bluetooth/bluefruit_le.cpp - QUANTUM_LIB_SRC += analog.c endif ifeq ($(strip $(BLUETOOTH_DRIVER)), rn42) @@ -935,6 +934,11 @@ ifeq ($(strip $(APA102_DRIVER_REQUIRED)), yes) SRC += apa102.c endif +ifeq ($(strip $(ANALOG_DRIVER_REQUIRED)), yes) + OPT_DEFS += -DHAL_USE_ADC=TRUE + QUANTUM_LIB_SRC += analog.c +endif + ifeq ($(strip $(I2C_DRIVER_REQUIRED)), yes) OPT_DEFS += -DHAL_USE_I2C=TRUE QUANTUM_LIB_SRC += i2c_master.c diff --git a/docs/adc_driver.md b/docs/adc_driver.md index 494d90c94fa8..dd928e1e7f0a 100644 --- a/docs/adc_driver.md +++ b/docs/adc_driver.md @@ -9,7 +9,7 @@ This driver currently supports both AVR and a limited selection of ARM devices. To use this driver, add the following to your `rules.mk`: ```make -SRC += analog.c +ANALOG_DRIVER_REQUIRED = yes ``` Then place this include at the top of your code: diff --git a/keyboards/1upkeyboards/1upslider8/rules.mk b/keyboards/1upkeyboards/1upslider8/rules.mk index 8515c3fae029..cc588202788d 100644 --- a/keyboards/1upkeyboards/1upslider8/rules.mk +++ b/keyboards/1upkeyboards/1upslider8/rules.mk @@ -1 +1 @@ -SRC += analog.c +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/cipulot/ec_23u/rules.mk b/keyboards/cipulot/ec_23u/rules.mk index ed348e861860..fc2dcf32ab1f 100644 --- a/keyboards/cipulot/ec_23u/rules.mk +++ b/keyboards/cipulot/ec_23u/rules.mk @@ -1,3 +1,4 @@ CUSTOM_MATRIX = lite -QUANTUM_LIB_SRC += analog.c SRC += matrix.c ec_switch_matrix.c + +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/cipulot/ec_60/rules.mk b/keyboards/cipulot/ec_60/rules.mk index ed348e861860..fc2dcf32ab1f 100644 --- a/keyboards/cipulot/ec_60/rules.mk +++ b/keyboards/cipulot/ec_60/rules.mk @@ -1,3 +1,4 @@ CUSTOM_MATRIX = lite -QUANTUM_LIB_SRC += analog.c SRC += matrix.c ec_switch_matrix.c + +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/cipulot/ec_alveus/1_0_0/rules.mk b/keyboards/cipulot/ec_alveus/1_0_0/rules.mk index b8929fa590d7..fc2dcf32ab1f 100644 --- a/keyboards/cipulot/ec_alveus/1_0_0/rules.mk +++ b/keyboards/cipulot/ec_alveus/1_0_0/rules.mk @@ -1,3 +1,4 @@ CUSTOM_MATRIX = lite -QUANTUM_LIB_SRC += analog.c SRC += matrix.c ec_switch_matrix.c + +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/cipulot/ec_alveus/1_2_0/rules.mk b/keyboards/cipulot/ec_alveus/1_2_0/rules.mk index b8929fa590d7..fc2dcf32ab1f 100644 --- a/keyboards/cipulot/ec_alveus/1_2_0/rules.mk +++ b/keyboards/cipulot/ec_alveus/1_2_0/rules.mk @@ -1,3 +1,4 @@ CUSTOM_MATRIX = lite -QUANTUM_LIB_SRC += analog.c SRC += matrix.c ec_switch_matrix.c + +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/cipulot/ec_pro2/rules.mk b/keyboards/cipulot/ec_pro2/rules.mk index b27b0f7ac071..fc2dcf32ab1f 100644 --- a/keyboards/cipulot/ec_pro2/rules.mk +++ b/keyboards/cipulot/ec_pro2/rules.mk @@ -1,2 +1,4 @@ CUSTOM_MATRIX = lite -SRC += analog.c matrix.c ec_switch_matrix.c +SRC += matrix.c ec_switch_matrix.c + +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/cipulot/ec_prox/ansi_iso/rules.mk b/keyboards/cipulot/ec_prox/ansi_iso/rules.mk index ed348e861860..fc2dcf32ab1f 100644 --- a/keyboards/cipulot/ec_prox/ansi_iso/rules.mk +++ b/keyboards/cipulot/ec_prox/ansi_iso/rules.mk @@ -1,3 +1,4 @@ CUSTOM_MATRIX = lite -QUANTUM_LIB_SRC += analog.c SRC += matrix.c ec_switch_matrix.c + +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/cipulot/ec_prox/jis/rules.mk b/keyboards/cipulot/ec_prox/jis/rules.mk index ed348e861860..fc2dcf32ab1f 100644 --- a/keyboards/cipulot/ec_prox/jis/rules.mk +++ b/keyboards/cipulot/ec_prox/jis/rules.mk @@ -1,3 +1,4 @@ CUSTOM_MATRIX = lite -QUANTUM_LIB_SRC += analog.c SRC += matrix.c ec_switch_matrix.c + +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/cipulot/ec_theca/rules.mk b/keyboards/cipulot/ec_theca/rules.mk index b8929fa590d7..fc2dcf32ab1f 100644 --- a/keyboards/cipulot/ec_theca/rules.mk +++ b/keyboards/cipulot/ec_theca/rules.mk @@ -1,3 +1,4 @@ CUSTOM_MATRIX = lite -QUANTUM_LIB_SRC += analog.c SRC += matrix.c ec_switch_matrix.c + +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/cipulot/rf_r1_8_9xu/rules.mk b/keyboards/cipulot/rf_r1_8_9xu/rules.mk index ed348e861860..fc2dcf32ab1f 100644 --- a/keyboards/cipulot/rf_r1_8_9xu/rules.mk +++ b/keyboards/cipulot/rf_r1_8_9xu/rules.mk @@ -1,3 +1,4 @@ CUSTOM_MATRIX = lite -QUANTUM_LIB_SRC += analog.c SRC += matrix.c ec_switch_matrix.c + +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/drop/alt/v2/rules.mk b/keyboards/drop/alt/v2/rules.mk index a504f81cb146..3c300442da71 100644 --- a/keyboards/drop/alt/v2/rules.mk +++ b/keyboards/drop/alt/v2/rules.mk @@ -1,4 +1,6 @@ UF2_DEVICE_TYPE_ID = 0x35446147 UF2CONV_ARGS = --device-type $(UF2_DEVICE_TYPE_ID) -SRC += analog.c lib/common.c lib/mux.c +SRC += lib/common.c lib/mux.c + +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/drop/ctrl/v2/rules.mk b/keyboards/drop/ctrl/v2/rules.mk index 13c11c1833d2..02a766b5c317 100644 --- a/keyboards/drop/ctrl/v2/rules.mk +++ b/keyboards/drop/ctrl/v2/rules.mk @@ -1,4 +1,6 @@ UF2_DEVICE_TYPE_ID = 0x27b9a6ea UF2CONV_ARGS = --device-type $(UF2_DEVICE_TYPE_ID) -SRC += analog.c lib/common.c lib/mux.c +SRC += lib/common.c lib/mux.c + +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/drop/shift/v2/rules.mk b/keyboards/drop/shift/v2/rules.mk index aec83326d075..f4f3ce149874 100644 --- a/keyboards/drop/shift/v2/rules.mk +++ b/keyboards/drop/shift/v2/rules.mk @@ -1,4 +1,6 @@ UF2_DEVICE_TYPE_ID = 0x9bc1e968 UF2CONV_ARGS = --device-type $(UF2_DEVICE_TYPE_ID) -SRC += analog.c lib/common.c lib/mux.c +SRC += lib/common.c lib/mux.c + +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/gmmk/numpad/rules.mk b/keyboards/gmmk/numpad/rules.mk index e30aa5295456..d289eb81a4d1 100644 --- a/keyboards/gmmk/numpad/rules.mk +++ b/keyboards/gmmk/numpad/rules.mk @@ -18,5 +18,6 @@ RGB_MATRIX_ENABLE = yes LTO_ENABLE = yes -SRC += analog.c \ - matrix.c \ No newline at end of file +ANALOG_DRIVER_REQUIRED = yes + +SRC += matrix.c diff --git a/keyboards/handwired/battleship_gamepad/rules.mk b/keyboards/handwired/battleship_gamepad/rules.mk index 7422e738735d..a41273f89001 100644 --- a/keyboards/handwired/battleship_gamepad/rules.mk +++ b/keyboards/handwired/battleship_gamepad/rules.mk @@ -1,5 +1,3 @@ -SRC += analog.c - # Build Options # change yes to no to disable # diff --git a/keyboards/handwired/onekey/keymaps/adc/rules.mk b/keyboards/handwired/onekey/keymaps/adc/rules.mk index a691d5488f16..8b36baccb0ff 100644 --- a/keyboards/handwired/onekey/keymaps/adc/rules.mk +++ b/keyboards/handwired/onekey/keymaps/adc/rules.mk @@ -1,3 +1,3 @@ -SRC += analog.c - CONSOLE_ENABLE = yes + +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/handwired/onekey/nucleo_f446re/rules.mk b/keyboards/handwired/onekey/nucleo_f446re/rules.mk index 8515c3fae029..e69de29bb2d1 100644 --- a/keyboards/handwired/onekey/nucleo_f446re/rules.mk +++ b/keyboards/handwired/onekey/nucleo_f446re/rules.mk @@ -1 +0,0 @@ -SRC += analog.c diff --git a/keyboards/handwired/promethium/rules.mk b/keyboards/handwired/promethium/rules.mk index 609c4d0e7e57..d6b97ed81002 100644 --- a/keyboards/handwired/promethium/rules.mk +++ b/keyboards/handwired/promethium/rules.mk @@ -18,10 +18,11 @@ PS2_ENABLE = yes PS2_DRIVER = interrupt CUSTOM_MATRIX = yes BLUETOOTH_ENABLE = yes + WS2812_DRIVER_REQUIRED = yes +ANALOG_DRIVER_REQUIRED = yes SRC += rgbsps.c -SRC += analog.c SRC += matrix.c LTO_ENABLE = yes diff --git a/keyboards/keebwerk/nano_slider/rules.mk b/keyboards/keebwerk/nano_slider/rules.mk index a7fcafd4b90f..d133bb6d6eab 100644 --- a/keyboards/keebwerk/nano_slider/rules.mk +++ b/keyboards/keebwerk/nano_slider/rules.mk @@ -13,4 +13,4 @@ MIDI_ENABLE = yes # MIDI support AUDIO_ENABLE = no # Audio output LTO_ENABLE = yes -SRC += analog.c +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/lime/keymaps/default/rules.mk b/keyboards/lime/keymaps/default/rules.mk index b4572ce79a4c..dd69af3a2ef5 100644 --- a/keyboards/lime/keymaps/default/rules.mk +++ b/keyboards/lime/keymaps/default/rules.mk @@ -5,5 +5,3 @@ JOYSTICK_DRIVER = analog EXTRAKEY_ENABLE = yes WPM_ENABLE = yes LTO_ENABLE = yes - -SRC += analog.c diff --git a/keyboards/ploopyco/mouse/rules.mk b/keyboards/ploopyco/mouse/rules.mk index 8d62f78ed711..17df9cc3c906 100644 --- a/keyboards/ploopyco/mouse/rules.mk +++ b/keyboards/ploopyco/mouse/rules.mk @@ -19,5 +19,6 @@ MOUSEKEY_ENABLE = yes # Mouse keys ENCODER_ENABLE := no OPTS_DEF += -DENCODER_ENABLE -QUANTUM_LIB_SRC += analog.c +ANALOG_DRIVER_REQUIRED = yes + SRC += opt_encoder.c diff --git a/keyboards/ploopyco/trackball/rules.mk b/keyboards/ploopyco/trackball/rules.mk index 0f5f3f648f60..ce7c4f29c866 100644 --- a/keyboards/ploopyco/trackball/rules.mk +++ b/keyboards/ploopyco/trackball/rules.mk @@ -19,7 +19,8 @@ MOUSEKEY_ENABLE = yes # Mouse keys ENCODER_ENABLE := no OPTS_DEF += -DENCODER_ENABLE -QUANTUM_LIB_SRC += analog.c +ANALOG_DRIVER_REQUIRED = yes + SRC += opt_encoder.c DEFAULT_FOLDER = ploopyco/trackball/rev1_005 diff --git a/keyboards/ploopyco/trackball_mini/rules.mk b/keyboards/ploopyco/trackball_mini/rules.mk index d7016929c905..bcede0676ca7 100644 --- a/keyboards/ploopyco/trackball_mini/rules.mk +++ b/keyboards/ploopyco/trackball_mini/rules.mk @@ -16,7 +16,8 @@ MOUSEKEY_ENABLE = yes # Mouse keys ENCODER_ENABLE := no OPTS_DEF += -DENCODER_ENABLE -QUANTUM_LIB_SRC += analog.c +ANALOG_DRIVER_REQUIRED = yes + SRC += opt_encoder.c DEFAULT_FOLDER = ploopyco/trackball_mini/rev1_001 diff --git a/keyboards/ploopyco/trackball_thumb/rules.mk b/keyboards/ploopyco/trackball_thumb/rules.mk index 4a16c0abfbe1..6b82d7734b43 100644 --- a/keyboards/ploopyco/trackball_thumb/rules.mk +++ b/keyboards/ploopyco/trackball_thumb/rules.mk @@ -3,7 +3,8 @@ F_CPU = 8000000 POINTING_DEVICE_DRIVER = pmw3360 -QUANTUM_LIB_SRC += analog.c +ANALOG_DRIVER_REQUIRED = yes + SRC += opt_encoder.c DEFAULT_FOLDER = ploopyco/trackball_thumb/rev1_001 diff --git a/keyboards/sekigon/grs_70ec/rules.mk b/keyboards/sekigon/grs_70ec/rules.mk index 00931a551e8c..4bd93ef25bbc 100644 --- a/keyboards/sekigon/grs_70ec/rules.mk +++ b/keyboards/sekigon/grs_70ec/rules.mk @@ -13,4 +13,6 @@ AUDIO_ENABLE = no # Audio output CUSTOM_MATRIX = lite SPLIT_KEYBOARD = yes -SRC += analog.c ec_switch_matrix.c matrix.c +ANALOG_DRIVER_REQUIRED = yes + +SRC += ec_switch_matrix.c matrix.c diff --git a/keyboards/splitkb/kyria/keymaps/gotham/rules.mk b/keyboards/splitkb/kyria/keymaps/gotham/rules.mk index eff9494ff159..00b2868c1f0c 100644 --- a/keyboards/splitkb/kyria/keymaps/gotham/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/gotham/rules.mk @@ -14,9 +14,9 @@ ifeq ($(strip $(OLED_ENABLE)), yes) endif ifeq ($(strip $(THUMBSTICK_ENABLE)), yes) + ANALOG_DRIVER_REQUIRED = yes POINTING_DEVICE_ENABLE = yes POINTING_DEVICE_DRIVER = custom OPT_DEFS += -DTHUMBSTICK_ENABLE - SRC += analog.c SRC += thumbstick.c endif diff --git a/keyboards/tzarc/ghoul/rules.mk b/keyboards/tzarc/ghoul/rules.mk index 5efa406e26e3..4bf96d982441 100644 --- a/keyboards/tzarc/ghoul/rules.mk +++ b/keyboards/tzarc/ghoul/rules.mk @@ -3,4 +3,4 @@ QUANTUM_PAINTER_DRIVERS = ssd1351_spi DEFAULT_FOLDER = tzarc/ghoul/rev1/stm32 -SRC += analog.c +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/ungodly/launch_pad/rules.mk b/keyboards/ungodly/launch_pad/rules.mk index 935414446645..31fabc928cac 100644 --- a/keyboards/ungodly/launch_pad/rules.mk +++ b/keyboards/ungodly/launch_pad/rules.mk @@ -19,4 +19,4 @@ MAGIC_ENABLE = no GRAVE_ESC_ENABLE = no LTO_ENABLE = yes -SRC += analog.c +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/v4n4g0rth0n/v2/rules.mk b/keyboards/v4n4g0rth0n/v2/rules.mk index b63f45670825..01145044866d 100644 --- a/keyboards/v4n4g0rth0n/v2/rules.mk +++ b/keyboards/v4n4g0rth0n/v2/rules.mk @@ -11,5 +11,4 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -SRC += analog.c - +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/viktus/minne_topre/rules.mk b/keyboards/viktus/minne_topre/rules.mk index 037e26c530c7..b86fee73da94 100644 --- a/keyboards/viktus/minne_topre/rules.mk +++ b/keyboards/viktus/minne_topre/rules.mk @@ -1,3 +1,4 @@ CUSTOM_MATRIX = lite -QUANTUM_LIB_SRC += analog.c SRC += ec.c + +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/viktus/osav2_numpad_topre/rules.mk b/keyboards/viktus/osav2_numpad_topre/rules.mk index 037e26c530c7..b86fee73da94 100644 --- a/keyboards/viktus/osav2_numpad_topre/rules.mk +++ b/keyboards/viktus/osav2_numpad_topre/rules.mk @@ -1,3 +1,4 @@ CUSTOM_MATRIX = lite -QUANTUM_LIB_SRC += analog.c SRC += ec.c + +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/viktus/osav2_topre/rules.mk b/keyboards/viktus/osav2_topre/rules.mk index 037e26c530c7..b86fee73da94 100644 --- a/keyboards/viktus/osav2_topre/rules.mk +++ b/keyboards/viktus/osav2_topre/rules.mk @@ -1,3 +1,4 @@ CUSTOM_MATRIX = lite -QUANTUM_LIB_SRC += analog.c SRC += ec.c + +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/viktus/styrka_topre/rules.mk b/keyboards/viktus/styrka_topre/rules.mk index 037e26c530c7..b86fee73da94 100644 --- a/keyboards/viktus/styrka_topre/rules.mk +++ b/keyboards/viktus/styrka_topre/rules.mk @@ -1,3 +1,4 @@ CUSTOM_MATRIX = lite -QUANTUM_LIB_SRC += analog.c SRC += ec.c + +ANALOG_DRIVER_REQUIRED = yes