Răsfoiți Sursa

Compilation fixes for `-fno-common` (#25436)

Joel Challis 1 an în urmă
părinte
comite
7827f9fbe3

+ 1 - 1
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

+ 1 - 1
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);

+ 1 - 1
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;

+ 1 - 1
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);

+ 1 - 1
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);

+ 1 - 1
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

+ 1 - 1
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);

+ 1 - 1
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.

+ 1 - 1
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

+ 4 - 0
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);

+ 3 - 3
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; }

+ 1 - 1
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;

+ 1 - 1
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) {}

+ 1 - 1
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();

+ 1 - 1
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;

+ 1 - 1
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] = {

+ 1 - 0
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"
 

+ 3 - 2
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);