From b5bcd5b0a18079df1252a718588255c62d24a054 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sat, 24 Jul 2021 19:56:45 +0100 Subject: [PATCH] Refactor some platform dependent logic (#13675) --- quantum/audio/luts.h | 10 ++-------- quantum/audio/voices.h | 3 --- quantum/keymap_common.c | 4 ---- quantum/quantum.h | 11 +---------- quantum/rgblight.c | 14 +++----------- quantum/rgblight.h | 5 +---- tmk_core/common/arm_atsam/platform.h | 18 ++++++++++++++++++ tmk_core/common/avr/platform.h | 20 ++++++++++++++++++++ tmk_core/common/chibios/platform.h | 19 +++++++++++++++++++ tmk_core/common/print.h | 2 +- tmk_core/common/timer.h | 5 ----- 11 files changed, 65 insertions(+), 46 deletions(-) create mode 100644 tmk_core/common/arm_atsam/platform.h create mode 100644 tmk_core/common/avr/platform.h create mode 100644 tmk_core/common/chibios/platform.h diff --git a/quantum/audio/luts.h b/quantum/audio/luts.h index 74980b292ed..8bb04544933 100644 --- a/quantum/audio/luts.h +++ b/quantum/audio/luts.h @@ -16,14 +16,8 @@ #pragma once -#if defined(__AVR__) -# include -# include -# include -#else -# include -# include -#endif +#include +#include #define VIBRATO_LUT_LENGTH 20 diff --git a/quantum/audio/voices.h b/quantum/audio/voices.h index 578350d337d..1f402e7e126 100644 --- a/quantum/audio/voices.h +++ b/quantum/audio/voices.h @@ -18,9 +18,6 @@ #include #include -#if defined(__AVR__) -# include -#endif #include "wait.h" #include "luts.h" diff --git a/quantum/keymap_common.c b/quantum/keymap_common.c index 570d4798deb..e0fd6d47932 100644 --- a/quantum/keymap_common.c +++ b/quantum/keymap_common.c @@ -19,10 +19,6 @@ along with this program. If not, see . #include "report.h" #include "keycode.h" #include "action_layer.h" -#if defined(__AVR__) -# include -# include -#endif #include "action.h" #include "action_macro.h" #include "debug.h" diff --git a/quantum/quantum.h b/quantum/quantum.h index 46fc0eb1e4c..55f6dbb7da5 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -15,16 +15,7 @@ */ #pragma once -#if defined(__AVR__) -# include -# include -# include -#endif -#if defined(PROTOCOL_CHIBIOS) -# include -# include "chibios_config.h" -#endif - +#include "platform.h" #include "wait.h" #include "matrix.h" #include "keymap.h" diff --git a/quantum/rgblight.c b/quantum/rgblight.c index baa10ec416b..04bbb1283b9 100644 --- a/quantum/rgblight.c +++ b/quantum/rgblight.c @@ -16,17 +16,6 @@ #include #include #include -#ifdef __AVR__ -# include -# include -#endif -#ifdef EEPROM_ENABLE -# include "eeprom.h" -#endif -#ifdef STM32_EEPROM_ENABLE -# include -# include "eeprom_stm32.h" -#endif #include "wait.h" #include "progmem.h" #include "sync_timer.h" @@ -35,6 +24,9 @@ #include "debug.h" #include "led_tables.h" #include +#ifdef EEPROM_ENABLE +# include "eeprom.h" +#endif #ifdef VELOCIKEY_ENABLE # include "velocikey.h" #endif diff --git a/quantum/rgblight.h b/quantum/rgblight.h index 58250a08885..c05870f4986 100644 --- a/quantum/rgblight.h +++ b/quantum/rgblight.h @@ -170,15 +170,12 @@ enum RGBLIGHT_EFFECT_MODE { #include #include +#include "progmem.h" #include "eeconfig.h" #include "ws2812.h" #include "color.h" #include "rgblight_list.h" -#if defined(__AVR__) -# include -#endif - #ifdef RGBLIGHT_LAYERS typedef struct { uint8_t index; // The first LED to light diff --git a/tmk_core/common/arm_atsam/platform.h b/tmk_core/common/arm_atsam/platform.h new file mode 100644 index 00000000000..f296d1d535e --- /dev/null +++ b/tmk_core/common/arm_atsam/platform.h @@ -0,0 +1,18 @@ +/* Copyright 2021 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +// here just to please the build diff --git a/tmk_core/common/avr/platform.h b/tmk_core/common/avr/platform.h new file mode 100644 index 00000000000..45d9dcebfaa --- /dev/null +++ b/tmk_core/common/avr/platform.h @@ -0,0 +1,20 @@ +/* Copyright 2021 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include +#include +#include diff --git a/tmk_core/common/chibios/platform.h b/tmk_core/common/chibios/platform.h new file mode 100644 index 00000000000..8243dcec53f --- /dev/null +++ b/tmk_core/common/chibios/platform.h @@ -0,0 +1,19 @@ +/* Copyright 2021 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include +#include "chibios_config.h" diff --git a/tmk_core/common/print.h b/tmk_core/common/print.h index 48f91e63429..8c055f549e5 100644 --- a/tmk_core/common/print.h +++ b/tmk_core/common/print.h @@ -47,7 +47,7 @@ void print_set_sendchar(sendchar_func_t func); # define uprintln(s) printf(s "\r\n") # define uprintf printf -# endif /* __AVR__ / PROTOCOL_CHIBIOS / PROTOCOL_ARM_ATSAM */ +# endif /* __has_include_next("_print.h") */ #else /* NO_PRINT */ # undef xprintf // Remove print defines diff --git a/tmk_core/common/timer.h b/tmk_core/common/timer.h index 58f637dd935..abddcea857d 100644 --- a/tmk_core/common/timer.h +++ b/tmk_core/common/timer.h @@ -18,11 +18,6 @@ along with this program. If not, see . #pragma once #include -#include - -#if defined(__AVR__) -# include "avr/timer_avr.h" -#endif #define TIMER_DIFF(a, b, max) ((max == UINT8_MAX) ? ((uint8_t)((a) - (b))) : ((max == UINT16_MAX) ? ((uint16_t)((a) - (b))) : ((max == UINT32_MAX) ? ((uint32_t)((a) - (b))) : ((a) >= (b) ? (a) - (b) : (max) + 1 - (b) + (a))))) #define TIMER_DIFF_8(a, b) TIMER_DIFF(a, b, UINT8_MAX)