aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/sensors/adns5050.h2
-rw-r--r--drivers/sensors/adns9800.h2
-rw-r--r--drivers/sensors/analog_joystick.h2
-rw-r--r--drivers/sensors/azoteq_iqs5xx.h2
-rw-r--r--drivers/sensors/cirque_pinnacle.h2
-rw-r--r--drivers/sensors/paw3204.h2
-rw-r--r--drivers/sensors/pimoroni_trackball.h2
-rw-r--r--drivers/sensors/pmw3320.h2
-rw-r--r--drivers/sensors/pmw33xx_common.h2
-rw-r--r--keyboards/bajjak/bajjak.c4
-rw-r--r--keyboards/bajjak/bajjak.h6
-rw-r--r--keyboards/hardwareabstraction/handwire/handwire.c2
-rw-r--r--keyboards/sekigon/grs_70ec/matrix.c2
-rw-r--r--keyboards/system76/launch_1/launch_1.c2
-rw-r--r--keyboards/system76/launch_1/rgb_matrix_kb.inc2
-rw-r--r--keyboards/system76/system76_ec.c2
-rw-r--r--keyboards/work_louder/rgb_functions.c1
-rw-r--r--quantum/audio/audio.c5
18 files changed, 25 insertions, 19 deletions
diff --git a/drivers/sensors/adns5050.h b/drivers/sensors/adns5050.h
index 004c54f560..648b49e387 100644
--- a/drivers/sensors/adns5050.h
+++ b/drivers/sensors/adns5050.h
@@ -70,7 +70,7 @@ typedef struct {
int8_t dy;
} report_adns5050_t;
-const pointing_device_driver_t adns5050_pointing_device_driver;
+extern const pointing_device_driver_t adns5050_pointing_device_driver;
// A bunch of functions to implement the ADNS5050-specific serial protocol.
// Note that the "serial.h" driver is insufficient, because it does not
diff --git a/drivers/sensors/adns9800.h b/drivers/sensors/adns9800.h
index 797aaf3cd0..ea854e8675 100644
--- a/drivers/sensors/adns9800.h
+++ b/drivers/sensors/adns9800.h
@@ -61,7 +61,7 @@ typedef struct {
int16_t y;
} report_adns9800_t;
-const pointing_device_driver_t adns9800_pointing_device_driver;
+extern const pointing_device_driver_t adns9800_pointing_device_driver;
bool adns9800_init(void);
config_adns9800_t adns9800_get_config(void);
diff --git a/drivers/sensors/analog_joystick.h b/drivers/sensors/analog_joystick.h
index 4838f502f1..f8cc315533 100644
--- a/drivers/sensors/analog_joystick.h
+++ b/drivers/sensors/analog_joystick.h
@@ -43,7 +43,7 @@
# define ANALOG_JOYSTICK_SPEED_MAX 2
#endif
-const pointing_device_driver_t analog_joystick_pointing_device_driver;
+extern const pointing_device_driver_t analog_joystick_pointing_device_driver;
typedef struct {
int8_t x;
diff --git a/drivers/sensors/azoteq_iqs5xx.h b/drivers/sensors/azoteq_iqs5xx.h
index 1a70ac6149..a5866b3d85 100644
--- a/drivers/sensors/azoteq_iqs5xx.h
+++ b/drivers/sensors/azoteq_iqs5xx.h
@@ -178,7 +178,7 @@ typedef struct {
# define POINTING_DEVICE_TASK_THROTTLE_MS AZOTEQ_IQS5XX_REPORT_RATE + 1
#endif
-const pointing_device_driver_t azoteq_iqs5xx_pointing_device_driver;
+extern const pointing_device_driver_t azoteq_iqs5xx_pointing_device_driver;
bool azoteq_iqs5xx_init(void);
i2c_status_t azoteq_iqs5xx_wake(void);
diff --git a/drivers/sensors/cirque_pinnacle.h b/drivers/sensors/cirque_pinnacle.h
index 3541d62463..f71ee8da1f 100644
--- a/drivers/sensors/cirque_pinnacle.h
+++ b/drivers/sensors/cirque_pinnacle.h
@@ -112,7 +112,7 @@ typedef struct {
#define cirque_pinnacle_i2c_pointing_device_driver cirque_pinnacle_pointing_device_driver
#define cirque_pinnacle_spi_pointing_device_driver cirque_pinnacle_pointing_device_driver
-const pointing_device_driver_t cirque_pinnacle_pointing_device_driver;
+extern const pointing_device_driver_t cirque_pinnacle_pointing_device_driver;
bool cirque_pinnacle_init(void);
void cirque_pinnacle_calibrate(void);
diff --git a/drivers/sensors/paw3204.h b/drivers/sensors/paw3204.h
index 11759d64c3..0bf5713548 100644
--- a/drivers/sensors/paw3204.h
+++ b/drivers/sensors/paw3204.h
@@ -41,7 +41,7 @@ typedef struct {
bool isMotion;
} report_paw3204_t;
-const pointing_device_driver_t paw3204_pointing_device_driver;
+extern const pointing_device_driver_t paw3204_pointing_device_driver;
/**
* @brief Initializes the sensor so it is in a working state and ready to
diff --git a/drivers/sensors/pimoroni_trackball.h b/drivers/sensors/pimoroni_trackball.h
index 4b8a2548ae..74ae6d7228 100644
--- a/drivers/sensors/pimoroni_trackball.h
+++ b/drivers/sensors/pimoroni_trackball.h
@@ -50,7 +50,7 @@ typedef struct {
uint8_t click;
} pimoroni_data_t;
-const pointing_device_driver_t pimoroni_trackball_pointing_device_driver;
+extern const pointing_device_driver_t pimoroni_trackball_pointing_device_driver;
bool pimoroni_trackball_device_init(void);
void pimoroni_trackball_set_rgbw(uint8_t red, uint8_t green, uint8_t blue, uint8_t white);
diff --git a/drivers/sensors/pmw3320.h b/drivers/sensors/pmw3320.h
index 42fd72a52c..c80eb8e145 100644
--- a/drivers/sensors/pmw3320.h
+++ b/drivers/sensors/pmw3320.h
@@ -55,7 +55,7 @@ typedef struct {
int8_t dy;
} report_pmw3320_t;
-const pointing_device_driver_t pmw3320_pointing_device_driver;
+extern const pointing_device_driver_t pmw3320_pointing_device_driver;
// A bunch of functions to implement the PMW3320-specific serial protocol.
// Mostly taken from ADNS5050 driver.
diff --git a/drivers/sensors/pmw33xx_common.h b/drivers/sensors/pmw33xx_common.h
index 8fb10b1b2f..ff890f49a9 100644
--- a/drivers/sensors/pmw33xx_common.h
+++ b/drivers/sensors/pmw33xx_common.h
@@ -106,7 +106,7 @@ STATIC_ASSERT(sizeof((pmw33xx_report_t){0}.motion) == 1, "pmw33xx_report_t.motio
#define pmw3360_pointing_device_driver pmw33xx_pointing_device_driver;
#define pmw3389_pointing_device_driver pmw33xx_pointing_device_driver;
-const pointing_device_driver_t pmw33xx_pointing_device_driver;
+extern const pointing_device_driver_t pmw33xx_pointing_device_driver;
/**
* @brief Initializes the given sensor so it is in a working state and ready to
diff --git a/keyboards/bajjak/bajjak.c b/keyboards/bajjak/bajjak.c
index aadeb0415a..17d9165232 100644
--- a/keyboards/bajjak/bajjak.c
+++ b/keyboards/bajjak/bajjak.c
@@ -21,6 +21,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "bajjak.h"
+bool bajjak_left_led_1 = 0;
+bool bajjak_left_led_2 = 0;
+bool bajjak_left_led_3 = 0;
+
extern inline void bajjak_board_led_on(void);
extern inline void bajjak_right_led_1_on(void);
extern inline void bajjak_right_led_2_on(void);
diff --git a/keyboards/bajjak/bajjak.h b/keyboards/bajjak/bajjak.h
index cd4ae50053..f3acb54f59 100644
--- a/keyboards/bajjak/bajjak.h
+++ b/keyboards/bajjak/bajjak.h
@@ -66,9 +66,9 @@ inline void bajjak_right_led_3_off(void) { gpio_set_pin_input(B7); gpio_write_
inline void bajjak_right_led_off(uint8_t led) { gpio_set_pin_input(led+4); gpio_write_pin_low(led+4); }
#ifdef LEFT_LEDS
-bool bajjak_left_led_1;
-bool bajjak_left_led_2;
-bool bajjak_left_led_3;
+extern bool bajjak_left_led_1;
+extern bool bajjak_left_led_2;
+extern bool bajjak_left_led_3;
inline void bajjak_left_led_1_on(void) { bajjak_left_led_1 = 1; }
inline void bajjak_left_led_2_on(void) { bajjak_left_led_2 = 1; }
diff --git a/keyboards/hardwareabstraction/handwire/handwire.c b/keyboards/hardwareabstraction/handwire/handwire.c
index b31c0a7091..758cfd8885 100644
--- a/keyboards/hardwareabstraction/handwire/handwire.c
+++ b/keyboards/hardwareabstraction/handwire/handwire.c
@@ -132,7 +132,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
// Variables for display layer and haptic status on OLED
static uint8_t layer = 0;
-haptic_config_t haptic_config;
+extern haptic_config_t haptic_config;
// Variables for frames, timer, and sleep
uint32_t anim_timer = 0;
diff --git a/keyboards/sekigon/grs_70ec/matrix.c b/keyboards/sekigon/grs_70ec/matrix.c
index 926ed6f813..718423e57b 100644
--- a/keyboards/sekigon/grs_70ec/matrix.c
+++ b/keyboards/sekigon/grs_70ec/matrix.c
@@ -40,7 +40,7 @@ extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values
extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values
// row offsets for each hand
-uint8_t thisHand, thatHand;
+static uint8_t thisHand, thatHand;
// user-defined overridable functions
__attribute__((weak)) void matrix_slave_scan_user(void) {}
diff --git a/keyboards/system76/launch_1/launch_1.c b/keyboards/system76/launch_1/launch_1.c
index c01fb7b01d..2cff70076e 100644
--- a/keyboards/system76/launch_1/launch_1.c
+++ b/keyboards/system76/launch_1/launch_1.c
@@ -124,7 +124,7 @@ void system76_ec_rgb_layer(layer_state_t layer_state);
void system76_ec_unlock(void);
bool system76_ec_is_unlocked(void);
-rgb_config_t layer_rgb[DYNAMIC_KEYMAP_LAYER_COUNT];
+extern rgb_config_t layer_rgb[DYNAMIC_KEYMAP_LAYER_COUNT];
void matrix_init_kb(void) {
usb_mux_init();
diff --git a/keyboards/system76/launch_1/rgb_matrix_kb.inc b/keyboards/system76/launch_1/rgb_matrix_kb.inc
index abde7aae19..6ac7970ccd 100644
--- a/keyboards/system76/launch_1/rgb_matrix_kb.inc
+++ b/keyboards/system76/launch_1/rgb_matrix_kb.inc
@@ -69,7 +69,7 @@ static bool active_keys(effect_params_t* params) {
return led_max < RGB_MATRIX_LED_COUNT;
}
-rgb_t raw_rgb_data[RGB_MATRIX_LED_COUNT] = {0};
+extern rgb_t raw_rgb_data[RGB_MATRIX_LED_COUNT];
static uint8_t normalize_component(uint8_t component) {
uint16_t x = (uint16_t)component;
diff --git a/keyboards/system76/system76_ec.c b/keyboards/system76/system76_ec.c
index cce60a5dea..db0401a7d4 100644
--- a/keyboards/system76/system76_ec.c
+++ b/keyboards/system76/system76_ec.c
@@ -135,7 +135,7 @@ static enum rgb_matrix_effects mode_map[] = {
_Static_assert(sizeof(mode_map) == MODE_LAST, "mode_map_length");
-rgb_t raw_rgb_data[RGB_MATRIX_LED_COUNT];
+rgb_t raw_rgb_data[RGB_MATRIX_LED_COUNT] = {0};
// clang-format off
rgb_config_t layer_rgb[DYNAMIC_KEYMAP_LAYER_COUNT] = {
diff --git a/keyboards/work_louder/rgb_functions.c b/keyboards/work_louder/rgb_functions.c
index b0d89d8511..1ea9afc42a 100644
--- a/keyboards/work_louder/rgb_functions.c
+++ b/keyboards/work_louder/rgb_functions.c
@@ -25,6 +25,7 @@
#define ws2812_set_color ws2812_rgb_set_color
#define ws2812_set_color_all ws2812_rgb_set_color_all
#define ws2812_flush ws2812_rgb_flush
+#define ws2812_leds ws2812_rgb_leds
#include "ws2812_bitbang.c"
diff --git a/quantum/audio/audio.c b/quantum/audio/audio.c
index 4e223f0c9a..247b737331 100644
--- a/quantum/audio/audio.c
+++ b/quantum/audio/audio.c
@@ -371,8 +371,9 @@ void audio_play_melody(float (*np)[][2], uint16_t n_count, bool n_repeat) {
melody_current_note_duration = audio_duration_to_ms((*notes_pointer)[current_note][1]);
}
-float click[2][2];
-void audio_play_click(uint16_t delay, float pitch, uint16_t duration) {
+void audio_play_click(uint16_t delay, float pitch, uint16_t duration) {
+ static float click[2][2];
+
uint16_t duration_tone = audio_ms_to_duration(duration);
uint16_t duration_delay = audio_ms_to_duration(delay);