summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Challis <git@zvecr.com>2022-07-18 11:55:27 +0100
committerGitHub <noreply@github.com>2022-07-18 11:55:27 +0100
commit42eff8c3726517304ad479f3e760dc34428b4f9f (patch)
treee82982a32462872f92d9f16392e1d4f9a09f489e
parent32cc8a7f431b2759d8f930944a4b5fb9c8f5d156 (diff)
Allow dynamic keymap to compile without via.h (#17703)
-rw-r--r--quantum/dynamic_keymap.c15
-rw-r--r--quantum/via.h2
2 files changed, 10 insertions, 7 deletions
diff --git a/quantum/dynamic_keymap.c b/quantum/dynamic_keymap.c
index cbe9f13940..e80dd6d534 100644
--- a/quantum/dynamic_keymap.c
+++ b/quantum/dynamic_keymap.c
@@ -19,7 +19,13 @@
#include "progmem.h" // to read default from flash
#include "quantum.h" // for send_string()
#include "dynamic_keymap.h"
-#include "via.h" // for default VIA_EEPROM_ADDR_END
+
+#ifdef VIA_ENABLE
+# include "via.h" // for VIA_EEPROM_CONFIG_END
+# define DYNAMIC_KEYMAP_EEPROM_START (VIA_EEPROM_CONFIG_END)
+#else
+# define DYNAMIC_KEYMAP_EEPROM_START (EECONFIG_SIZE)
+#endif
#ifdef ENCODER_ENABLE
# include "encoder.h"
@@ -55,13 +61,8 @@
#endif
// If DYNAMIC_KEYMAP_EEPROM_ADDR not explicitly defined in config.h,
-// default it start after VIA_EEPROM_CUSTOM_ADDR+VIA_EEPROM_CUSTOM_SIZE
#ifndef DYNAMIC_KEYMAP_EEPROM_ADDR
-# ifdef VIA_EEPROM_CUSTOM_CONFIG_ADDR
-# define DYNAMIC_KEYMAP_EEPROM_ADDR (VIA_EEPROM_CUSTOM_CONFIG_ADDR + VIA_EEPROM_CUSTOM_CONFIG_SIZE)
-# else
-# error DYNAMIC_KEYMAP_EEPROM_ADDR not defined
-# endif
+# define DYNAMIC_KEYMAP_EEPROM_ADDR DYNAMIC_KEYMAP_EEPROM_START
#endif
// Dynamic encoders starts after dynamic keymaps
diff --git a/quantum/via.h b/quantum/via.h
index ac29a58902..31d9c21af4 100644
--- a/quantum/via.h
+++ b/quantum/via.h
@@ -54,6 +54,8 @@
# define VIA_EEPROM_CUSTOM_CONFIG_SIZE 0
#endif
+#define VIA_EEPROM_CONFIG_END (VIA_EEPROM_CUSTOM_CONFIG_ADDR + VIA_EEPROM_CUSTOM_CONFIG_SIZE)
+
// This is changed only when the command IDs change,
// so VIA Configurator can detect compatible firmware.
#define VIA_PROTOCOL_VERSION 0x0009