From 34e244cecf62afb30ee5a4362867f24b03675691 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Thu, 30 Jun 2022 07:42:23 +1000 Subject: Wear-leveling EEPROM drivers: `embedded_flash`, `spi_flash`, `legacy` (#17376) --- quantum/wear_leveling/wear_leveling_internal.h | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'quantum/wear_leveling/wear_leveling_internal.h') diff --git a/quantum/wear_leveling/wear_leveling_internal.h b/quantum/wear_leveling/wear_leveling_internal.h index 74b43932df..e83f9b22ea 100644 --- a/quantum/wear_leveling/wear_leveling_internal.h +++ b/quantum/wear_leveling/wear_leveling_internal.h @@ -28,21 +28,25 @@ typedef uint64_t backing_store_int_t; #endif #ifdef WEAR_LEVELING_DEBUG_OUTPUT -# include -# define wl_dprintf(...) printf("Wear leveling: " __VA_ARGS__) +# include +# define bs_dprintf(...) dprintf("Backing store: " __VA_ARGS__) +# define wl_dprintf(...) dprintf("Wear leveling: " __VA_ARGS__) # define wl_dump(address, value, length) \ do { \ - printf("[0x%04X]: ", (int)(address)); \ + dprintf("[0x%04X]: ", (int)(address)); \ const uint8_t* p = (const uint8_t*)(value); \ for (int i = 0; i < (length); ++i) { \ - printf(" %02X", (int)p[i]); \ + dprintf(" %02X", (int)p[i]); \ } \ - printf("\n"); \ + dprintf("\n"); \ } while (0) #else # define wl_dprintf(...) \ do { \ } while (0) +# define bs_dprintf(...) \ + do { \ + } while (0) # define wl_dump(...) \ do { \ } while (0) @@ -67,8 +71,10 @@ bool backing_store_init(void); bool backing_store_unlock(void); bool backing_store_erase(void); bool backing_store_write(uint32_t address, backing_store_int_t value); +bool backing_store_write_bulk(uint32_t address, backing_store_int_t* values, size_t item_count); // weak implementation already provided, optimized implementation can be implemented by driver bool backing_store_lock(void); bool backing_store_read(uint32_t address, backing_store_int_t* value); +bool backing_store_read_bulk(uint32_t address, backing_store_int_t* values, size_t item_count); // weak implementation already provided, optimized implementation can be implemented by driver /** * Helper type used to contain a write log entry. -- cgit v1.2.3