eeprom_wear_leveling.c (719B)
1 // Copyright 2022 Nick Brassel (@tzarc) 2 // SPDX-License-Identifier: GPL-2.0-or-later 3 #include <stdint.h> 4 #include <string.h> 5 6 #include "eeprom_driver.h" 7 #include "wear_leveling.h" 8 9 void eeprom_driver_init(void) { 10 wear_leveling_init(); 11 } 12 13 void eeprom_driver_format(bool erase) { 14 /* wear leveling requires the write log data structures to be erased before use. */ 15 (void)erase; 16 eeprom_driver_erase(); 17 } 18 19 void eeprom_driver_erase(void) { 20 wear_leveling_erase(); 21 } 22 23 void eeprom_read_block(void *buf, const void *addr, size_t len) { 24 wear_leveling_read((uint32_t)addr, buf, len); 25 } 26 27 void eeprom_write_block(const void *buf, void *addr, size_t len) { 28 wear_leveling_write((uint32_t)addr, buf, len); 29 }