summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Challis <git@zvecr.com>2021-07-24 19:56:45 +0100
committerGitHub <noreply@github.com>2021-07-24 19:56:45 +0100
commitb5bcd5b0a18079df1252a718588255c62d24a054 (patch)
tree886b84473e94718fed4de18a6d6c5b5b9e46eb89
parent145d89ab9192d08b7e22a14105d27988944b7b0c (diff)
Refactor some platform dependent logic (#13675)
-rw-r--r--quantum/audio/luts.h10
-rw-r--r--quantum/audio/voices.h3
-rw-r--r--quantum/keymap_common.c4
-rw-r--r--quantum/quantum.h11
-rw-r--r--quantum/rgblight.c14
-rw-r--r--quantum/rgblight.h5
-rw-r--r--tmk_core/common/arm_atsam/platform.h18
-rw-r--r--tmk_core/common/avr/platform.h20
-rw-r--r--tmk_core/common/chibios/platform.h19
-rw-r--r--tmk_core/common/print.h2
-rw-r--r--tmk_core/common/timer.h5
11 files changed, 65 insertions, 46 deletions
diff --git a/quantum/audio/luts.h b/quantum/audio/luts.h
index 74980b292e..8bb0454493 100644
--- a/quantum/audio/luts.h
+++ b/quantum/audio/luts.h
@@ -16,14 +16,8 @@
#pragma once
-#if defined(__AVR__)
-# include <avr/io.h>
-# include <avr/interrupt.h>
-# include <avr/pgmspace.h>
-#else
-# include <ch.h>
-# include <hal.h>
-#endif
+#include <float.h>
+#include <stdint.h>
#define VIBRATO_LUT_LENGTH 20
diff --git a/quantum/audio/voices.h b/quantum/audio/voices.h
index 578350d337..1f402e7e12 100644
--- a/quantum/audio/voices.h
+++ b/quantum/audio/voices.h
@@ -18,9 +18,6 @@
#include <stdint.h>
#include <stdbool.h>
-#if defined(__AVR__)
-# include <avr/io.h>
-#endif
#include "wait.h"
#include "luts.h"
diff --git a/quantum/keymap_common.c b/quantum/keymap_common.c
index 570d4798de..e0fd6d4793 100644
--- a/quantum/keymap_common.c
+++ b/quantum/keymap_common.c
@@ -19,10 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "report.h"
#include "keycode.h"
#include "action_layer.h"
-#if defined(__AVR__)
-# include <util/delay.h>
-# include <stdio.h>
-#endif
#include "action.h"
#include "action_macro.h"
#include "debug.h"
diff --git a/quantum/quantum.h b/quantum/quantum.h
index 46fc0eb1e4..55f6dbb7da 100644
--- a/quantum/quantum.h
+++ b/quantum/quantum.h
@@ -15,16 +15,7 @@
*/
#pragma once
-#if defined(__AVR__)
-# include <avr/pgmspace.h>
-# include <avr/io.h>
-# include <avr/interrupt.h>
-#endif
-#if defined(PROTOCOL_CHIBIOS)
-# include <hal.h>
-# 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 baa10ec416..04bbb1283b 100644
--- a/quantum/rgblight.c
+++ b/quantum/rgblight.c
@@ -16,17 +16,6 @@
#include <math.h>
#include <string.h>
#include <stdlib.h>
-#ifdef __AVR__
-# include <avr/eeprom.h>
-# include <avr/interrupt.h>
-#endif
-#ifdef EEPROM_ENABLE
-# include "eeprom.h"
-#endif
-#ifdef STM32_EEPROM_ENABLE
-# include <hal.h>
-# 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 <lib/lib8tion/lib8tion.h>
+#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 58250a0888..c05870f498 100644
--- a/quantum/rgblight.h
+++ b/quantum/rgblight.h
@@ -170,15 +170,12 @@ enum RGBLIGHT_EFFECT_MODE {
#include <stdint.h>
#include <stdbool.h>
+#include "progmem.h"
#include "eeconfig.h"
#include "ws2812.h"
#include "color.h"
#include "rgblight_list.h"
-#if defined(__AVR__)
-# include <avr/pgmspace.h>
-#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 0000000000..f296d1d535
--- /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 <http://www.gnu.org/licenses/>.
+ */
+#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 0000000000..45d9dcebfa
--- /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 <http://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#include <avr/pgmspace.h>
+#include <avr/io.h>
+#include <avr/interrupt.h>
diff --git a/tmk_core/common/chibios/platform.h b/tmk_core/common/chibios/platform.h
new file mode 100644
index 0000000000..8243dcec53
--- /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 <http://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#include <hal.h>
+#include "chibios_config.h"
diff --git a/tmk_core/common/print.h b/tmk_core/common/print.h
index 48f91e6342..8c055f549e 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 58f637dd93..abddcea857 100644
--- a/tmk_core/common/timer.h
+++ b/tmk_core/common/timer.h
@@ -18,11 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
#include <stdint.h>
-#include <stdbool.h>
-
-#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)