aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--builddefs/common_features.mk8
-rw-r--r--drivers/wear_leveling/wear_leveling_flash_spi.c1
-rw-r--r--platforms/chibios/drivers/wear_leveling/wear_leveling_efl.c1
-rw-r--r--platforms/chibios/drivers/wear_leveling/wear_leveling_legacy.c1
-rw-r--r--platforms/chibios/drivers/wear_leveling/wear_leveling_rp2040_flash.c1
-rw-r--r--platforms/eeprom.h1
-rw-r--r--quantum/wear_leveling/wear_leveling.c1
-rw-r--r--quantum/wear_leveling/wear_leveling_drivers.h13
8 files changed, 19 insertions, 8 deletions
diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk
index 3d01be8205..48a976d663 100644
--- a/builddefs/common_features.mk
+++ b/builddefs/common_features.mk
@@ -267,22 +267,14 @@ ifneq ($(strip $(WEAR_LEVELING_DRIVER)),none)
ifeq ($(strip $(WEAR_LEVELING_DRIVER)), embedded_flash)
OPT_DEFS += -DHAL_USE_EFL
SRC += wear_leveling_efl.c
- $(INTERMEDIATE_OUTPUT)/wear_leveling_efl.o: FILE_SPECIFIC_CFLAGS += -include $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_PATH)/wear_leveling/wear_leveling_efl_config.h
- $(INTERMEDIATE_OUTPUT)/wear_leveling.o: FILE_SPECIFIC_CFLAGS += -include $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_PATH)/wear_leveling/wear_leveling_efl_config.h
else ifeq ($(strip $(WEAR_LEVELING_DRIVER)), spi_flash)
FLASH_DRIVER := spi
SRC += wear_leveling_flash_spi.c
- $(INTERMEDIATE_OUTPUT)/wear_leveling_flash_spi.o: FILE_SPECIFIC_CFLAGS += -include $(DRIVER_PATH)/wear_leveling/wear_leveling_flash_spi_config.h
- $(INTERMEDIATE_OUTPUT)/wear_leveling.o: FILE_SPECIFIC_CFLAGS += -include $(DRIVER_PATH)/wear_leveling/wear_leveling_flash_spi_config.h
else ifeq ($(strip $(WEAR_LEVELING_DRIVER)), rp2040_flash)
SRC += wear_leveling_rp2040_flash.c
- $(INTERMEDIATE_OUTPUT)/wear_leveling_rp2040_flash.o: FILE_SPECIFIC_CFLAGS += -include $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_PATH)/wear_leveling/wear_leveling_rp2040_flash_config.h
- $(INTERMEDIATE_OUTPUT)/wear_leveling.o: FILE_SPECIFIC_CFLAGS += -include $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_PATH)/wear_leveling/wear_leveling_rp2040_flash_config.h
else ifeq ($(strip $(WEAR_LEVELING_DRIVER)), legacy)
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash
SRC += legacy_flash_ops.c wear_leveling_legacy.c
- $(INTERMEDIATE_OUTPUT)/wear_leveling_legacy.o: FILE_SPECIFIC_CFLAGS += -include $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_PATH)/wear_leveling/wear_leveling_legacy_config.h
- $(INTERMEDIATE_OUTPUT)/wear_leveling.o: FILE_SPECIFIC_CFLAGS += -include $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_PATH)/wear_leveling/wear_leveling_legacy_config.h
endif
endif
endif
diff --git a/drivers/wear_leveling/wear_leveling_flash_spi.c b/drivers/wear_leveling/wear_leveling_flash_spi.c
index 304aed1641..ca2c174580 100644
--- a/drivers/wear_leveling/wear_leveling_flash_spi.c
+++ b/drivers/wear_leveling/wear_leveling_flash_spi.c
@@ -5,6 +5,7 @@
#include "util.h"
#include "timer.h"
#include "wear_leveling.h"
+#include "wear_leveling_flash_spi_config.h"
#include "wear_leveling_internal.h"
#ifndef WEAR_LEVELING_EXTERNAL_FLASH_BULK_COUNT
diff --git a/platforms/chibios/drivers/wear_leveling/wear_leveling_efl.c b/platforms/chibios/drivers/wear_leveling/wear_leveling_efl.c
index fed16d20b1..fec4646a5b 100644
--- a/platforms/chibios/drivers/wear_leveling/wear_leveling_efl.c
+++ b/platforms/chibios/drivers/wear_leveling/wear_leveling_efl.c
@@ -4,6 +4,7 @@
#include <hal.h>
#include "timer.h"
#include "wear_leveling.h"
+#include "wear_leveling_efl_config.h"
#include "wear_leveling_internal.h"
static flash_offset_t base_offset = UINT32_MAX;
diff --git a/platforms/chibios/drivers/wear_leveling/wear_leveling_legacy.c b/platforms/chibios/drivers/wear_leveling/wear_leveling_legacy.c
index 7c6fd2d808..3d2af625ca 100644
--- a/platforms/chibios/drivers/wear_leveling/wear_leveling_legacy.c
+++ b/platforms/chibios/drivers/wear_leveling/wear_leveling_legacy.c
@@ -4,6 +4,7 @@
#include <hal.h>
#include "timer.h"
#include "wear_leveling.h"
+#include "wear_leveling_legacy_config.h"
#include "wear_leveling_internal.h"
#include "legacy_flash_ops.h"
diff --git a/platforms/chibios/drivers/wear_leveling/wear_leveling_rp2040_flash.c b/platforms/chibios/drivers/wear_leveling/wear_leveling_rp2040_flash.c
index 6624c30b5b..9bfc68f9d2 100644
--- a/platforms/chibios/drivers/wear_leveling/wear_leveling_rp2040_flash.c
+++ b/platforms/chibios/drivers/wear_leveling/wear_leveling_rp2040_flash.c
@@ -15,6 +15,7 @@
#include <stdbool.h>
#include "timer.h"
#include "wear_leveling.h"
+#include "wear_leveling_rp2040_flash_config.h"
#include "wear_leveling_internal.h"
#ifndef WEAR_LEVELING_RP2040_FLASH_BULK_COUNT
diff --git a/platforms/eeprom.h b/platforms/eeprom.h
index 067fa01616..557bfb030c 100644
--- a/platforms/eeprom.h
+++ b/platforms/eeprom.h
@@ -37,6 +37,7 @@ void eeprom_update_block(const void *__src, void *__dst, size_t __n);
# endif
# define TOTAL_EEPROM_BYTE_COUNT (EEPROM_SIZE)
#elif defined(EEPROM_WEAR_LEVELING)
+# include "wear_leveling_drivers.h"
# define TOTAL_EEPROM_BYTE_COUNT (WEAR_LEVELING_LOGICAL_SIZE)
#elif defined(EEPROM_TRANSIENT)
# include "eeprom_transient.h"
diff --git a/quantum/wear_leveling/wear_leveling.c b/quantum/wear_leveling/wear_leveling.c
index 429df45df5..258f074a5c 100644
--- a/quantum/wear_leveling/wear_leveling.c
+++ b/quantum/wear_leveling/wear_leveling.c
@@ -3,6 +3,7 @@
#include <stdbool.h>
#include "fnv.h"
#include "wear_leveling.h"
+#include "wear_leveling_drivers.h"
#include "wear_leveling_internal.h"
/*
diff --git a/quantum/wear_leveling/wear_leveling_drivers.h b/quantum/wear_leveling/wear_leveling_drivers.h
new file mode 100644
index 0000000000..e81f833fd1
--- /dev/null
+++ b/quantum/wear_leveling/wear_leveling_drivers.h
@@ -0,0 +1,13 @@
+// Copyright 2025 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#if defined(WEAR_LEVELING_EMBEDDED_FLASH)
+# include "wear_leveling/wear_leveling_efl_config.h"
+#elif defined(WEAR_LEVELING_SPI_FLASH)
+# include "wear_leveling/wear_leveling_flash_spi_config.h"
+#elif defined(WEAR_LEVELING_RP2040_FLASH)
+# include "wear_leveling/wear_leveling_rp2040_flash_config.h"
+#elif defined(WEAR_LEVELING_LEGACY)
+# include "wear_leveling/wear_leveling_legacy_config.h"
+#endif