Browse Source

Fix Wear Leveling compilation (#25254)

Joel Challis 1 year ago
parent
commit
3e7ce54902

+ 0 - 8
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

+ 1 - 0
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

+ 1 - 0
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;

+ 1 - 0
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"
 

+ 1 - 0
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

+ 1 - 0
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"

+ 1 - 0
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"
 
 /*

+ 13 - 0
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