summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Challis <git@zvecr.com>2025-05-11 23:39:38 +0100
committerGitHub <noreply@github.com>2025-05-12 08:39:38 +1000
commit3e7ce54902aeff14cf9242d0d5a73d9d655a9de7 (patch)
tree1fb945df6957c6054a21c060b0dcbedca160d76b
parent88c094908bb94324e28876f2beb8028a9fad086d (diff)
Fix Wear Leveling compilation (#25254)
-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)
267 ifeq ($(strip $(WEAR_LEVELING_DRIVER)), embedded_flash) 267 ifeq ($(strip $(WEAR_LEVELING_DRIVER)), embedded_flash)
268 OPT_DEFS += -DHAL_USE_EFL 268 OPT_DEFS += -DHAL_USE_EFL
269 SRC += wear_leveling_efl.c 269 SRC += wear_leveling_efl.c
270 $(INTERMEDIATE_OUTPUT)/wear_leveling_efl.o: FILE_SPECIFIC_CFLAGS += -include $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_PATH)/wear_leveling/wear_leveling_efl_config.h
271 $(INTERMEDIATE_OUTPUT)/wear_leveling.o: FILE_SPECIFIC_CFLAGS += -include $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_PATH)/wear_leveling/wear_leveling_efl_config.h
272 else ifeq ($(strip $(WEAR_LEVELING_DRIVER)), spi_flash) 270 else ifeq ($(strip $(WEAR_LEVELING_DRIVER)), spi_flash)
273 FLASH_DRIVER := spi 271 FLASH_DRIVER := spi
274 SRC += wear_leveling_flash_spi.c 272 SRC += wear_leveling_flash_spi.c
275 $(INTERMEDIATE_OUTPUT)/wear_leveling_flash_spi.o: FILE_SPECIFIC_CFLAGS += -include $(DRIVER_PATH)/wear_leveling/wear_leveling_flash_spi_config.h
276 $(INTERMEDIATE_OUTPUT)/wear_leveling.o: FILE_SPECIFIC_CFLAGS += -include $(DRIVER_PATH)/wear_leveling/wear_leveling_flash_spi_config.h
277 else ifeq ($(strip $(WEAR_LEVELING_DRIVER)), rp2040_flash) 273 else ifeq ($(strip $(WEAR_LEVELING_DRIVER)), rp2040_flash)
278 SRC += wear_leveling_rp2040_flash.c 274 SRC += wear_leveling_rp2040_flash.c
279 $(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
280 $(INTERMEDIATE_OUTPUT)/wear_leveling.o: FILE_SPECIFIC_CFLAGS += -include $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_PATH)/wear_leveling/wear_leveling_rp2040_flash_config.h
281 else ifeq ($(strip $(WEAR_LEVELING_DRIVER)), legacy) 275 else ifeq ($(strip $(WEAR_LEVELING_DRIVER)), legacy)
282 COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash 276 COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash
283 SRC += legacy_flash_ops.c wear_leveling_legacy.c 277 SRC += legacy_flash_ops.c wear_leveling_legacy.c
284 $(INTERMEDIATE_OUTPUT)/wear_leveling_legacy.o: FILE_SPECIFIC_CFLAGS += -include $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_PATH)/wear_leveling/wear_leveling_legacy_config.h
285 $(INTERMEDIATE_OUTPUT)/wear_leveling.o: FILE_SPECIFIC_CFLAGS += -include $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_PATH)/wear_leveling/wear_leveling_legacy_config.h
286 endif 278 endif
287 endif 279 endif
288endif 280endif
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 @@
5#include "util.h" 5#include "util.h"
6#include "timer.h" 6#include "timer.h"
7#include "wear_leveling.h" 7#include "wear_leveling.h"
8#include "wear_leveling_flash_spi_config.h"
8#include "wear_leveling_internal.h" 9#include "wear_leveling_internal.h"
9 10
10#ifndef WEAR_LEVELING_EXTERNAL_FLASH_BULK_COUNT 11#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 @@
4#include <hal.h> 4#include <hal.h>
5#include "timer.h" 5#include "timer.h"
6#include "wear_leveling.h" 6#include "wear_leveling.h"
7#include "wear_leveling_efl_config.h"
7#include "wear_leveling_internal.h" 8#include "wear_leveling_internal.h"
8 9
9static flash_offset_t base_offset = UINT32_MAX; 10static 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 @@
4#include <hal.h> 4#include <hal.h>
5#include "timer.h" 5#include "timer.h"
6#include "wear_leveling.h" 6#include "wear_leveling.h"
7#include "wear_leveling_legacy_config.h"
7#include "wear_leveling_internal.h" 8#include "wear_leveling_internal.h"
8#include "legacy_flash_ops.h" 9#include "legacy_flash_ops.h"
9 10
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 @@
15#include <stdbool.h> 15#include <stdbool.h>
16#include "timer.h" 16#include "timer.h"
17#include "wear_leveling.h" 17#include "wear_leveling.h"
18#include "wear_leveling_rp2040_flash_config.h"
18#include "wear_leveling_internal.h" 19#include "wear_leveling_internal.h"
19 20
20#ifndef WEAR_LEVELING_RP2040_FLASH_BULK_COUNT 21#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);
37# endif 37# endif
38# define TOTAL_EEPROM_BYTE_COUNT (EEPROM_SIZE) 38# define TOTAL_EEPROM_BYTE_COUNT (EEPROM_SIZE)
39#elif defined(EEPROM_WEAR_LEVELING) 39#elif defined(EEPROM_WEAR_LEVELING)
40# include "wear_leveling_drivers.h"
40# define TOTAL_EEPROM_BYTE_COUNT (WEAR_LEVELING_LOGICAL_SIZE) 41# define TOTAL_EEPROM_BYTE_COUNT (WEAR_LEVELING_LOGICAL_SIZE)
41#elif defined(EEPROM_TRANSIENT) 42#elif defined(EEPROM_TRANSIENT)
42# include "eeprom_transient.h" 43# 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 @@
3#include <stdbool.h> 3#include <stdbool.h>
4#include "fnv.h" 4#include "fnv.h"
5#include "wear_leveling.h" 5#include "wear_leveling.h"
6#include "wear_leveling_drivers.h"
6#include "wear_leveling_internal.h" 7#include "wear_leveling_internal.h"
7 8
8/* 9/*
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 @@
1// Copyright 2025 QMK
2// SPDX-License-Identifier: GPL-2.0-or-later
3#pragma once
4
5#if defined(WEAR_LEVELING_EMBEDDED_FLASH)
6# include "wear_leveling/wear_leveling_efl_config.h"
7#elif defined(WEAR_LEVELING_SPI_FLASH)
8# include "wear_leveling/wear_leveling_flash_spi_config.h"
9#elif defined(WEAR_LEVELING_RP2040_FLASH)
10# include "wear_leveling/wear_leveling_rp2040_flash_config.h"
11#elif defined(WEAR_LEVELING_LEGACY)
12# include "wear_leveling/wear_leveling_legacy_config.h"
13#endif