diff options
author | Purdea Andrei <[email protected]> | 2024-05-28 14:49:55 +0300 |
---|---|---|
committer | GitHub <[email protected]> | 2024-05-28 12:49:55 +0100 |
commit | 267dffda154d119ed5f155665e90fc5e03d138a5 (patch) | |
tree | 4e29634437942d5b96146fa375f1db0dc95d5105 /platforms | |
parent | 6921c8a7ddbf5596d629f6272b4043bb3cbcf661 (diff) | |
download | qmk_firmware-267dffda154d119ed5f155665e90fc5e03d138a5.tar.gz qmk_firmware-267dffda154d119ed5f155665e90fc5e03d138a5.zip |
EEPROM: Don't erase if we don't have to. Adding eeprom_driver_format abstraction. (#18332)
Diffstat (limited to 'platforms')
-rw-r--r-- | platforms/chibios/drivers/eeprom/eeprom_legacy_emulated_flash.c | 7 | ||||
-rw-r--r-- | platforms/chibios/drivers/eeprom/eeprom_stm32_L0_L1.c | 6 |
2 files changed, 13 insertions, 0 deletions
diff --git a/platforms/chibios/drivers/eeprom/eeprom_legacy_emulated_flash.c b/platforms/chibios/drivers/eeprom/eeprom_legacy_emulated_flash.c index a81fe3353c..9857ac046b 100644 --- a/platforms/chibios/drivers/eeprom/eeprom_legacy_emulated_flash.c +++ b/platforms/chibios/drivers/eeprom/eeprom_legacy_emulated_flash.c @@ -24,6 +24,7 @@ #include "debug.h" #include "eeprom_legacy_emulated_flash.h" #include "legacy_flash_ops.h" +#include "eeprom_driver.h" /* * We emulate eeprom by writing a snapshot compacted view of eeprom contents, @@ -564,6 +565,12 @@ void eeprom_driver_init(void) { EEPROM_Init(); } +void eeprom_driver_format(bool erase) { + /* emulated eepron requires the write log data structures to be erased before use. */ + (void)erase; + eeprom_driver_erase(); +} + void eeprom_driver_erase(void) { EEPROM_Erase(); } diff --git a/platforms/chibios/drivers/eeprom/eeprom_stm32_L0_L1.c b/platforms/chibios/drivers/eeprom/eeprom_stm32_L0_L1.c index ed26cc7145..628137a0b3 100644 --- a/platforms/chibios/drivers/eeprom/eeprom_stm32_L0_L1.c +++ b/platforms/chibios/drivers/eeprom/eeprom_stm32_L0_L1.c @@ -52,6 +52,12 @@ static inline void STM32_L0_L1_EEPROM_Lock(void) { void eeprom_driver_init(void) {} +void eeprom_driver_format(bool erase) { + if (erase) { + eeprom_driver_erase(); + } +} + void eeprom_driver_erase(void) { STM32_L0_L1_EEPROM_Unlock(); |