diff options
| author | Joel Challis <git@zvecr.com> | 2025-05-11 23:39:38 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-12 08:39:38 +1000 |
| commit | 3e7ce54902aeff14cf9242d0d5a73d9d655a9de7 (patch) | |
| tree | 1fb945df6957c6054a21c060b0dcbedca160d76b | |
| parent | 88c094908bb94324e28876f2beb8028a9fad086d (diff) | |
Fix Wear Leveling compilation (#25254)
| -rw-r--r-- | builddefs/common_features.mk | 8 | ||||
| -rw-r--r-- | drivers/wear_leveling/wear_leveling_flash_spi.c | 1 | ||||
| -rw-r--r-- | platforms/chibios/drivers/wear_leveling/wear_leveling_efl.c | 1 | ||||
| -rw-r--r-- | platforms/chibios/drivers/wear_leveling/wear_leveling_legacy.c | 1 | ||||
| -rw-r--r-- | platforms/chibios/drivers/wear_leveling/wear_leveling_rp2040_flash.c | 1 | ||||
| -rw-r--r-- | platforms/eeprom.h | 1 | ||||
| -rw-r--r-- | quantum/wear_leveling/wear_leveling.c | 1 | ||||
| -rw-r--r-- | quantum/wear_leveling/wear_leveling_drivers.h | 13 |
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 |
| 288 | endif | 280 | 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 @@ | |||
| 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 | ||
| 9 | static flash_offset_t base_offset = UINT32_MAX; | 10 | 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 @@ | |||
| 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 | ||
