diff options
| author | Joel Challis <git@zvecr.com> | 2024-06-10 01:23:25 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-06-10 01:23:25 +0100 |
| commit | 8b5cdfabf5d05958a607efa174e64377d36e4b64 (patch) | |
| tree | d8fb10f2c94de5c9aef101d27d83402e0ff29cdf /platforms | |
| parent | df4538d894d8e5c1321c239ecbe4293a4ec3ee2d (diff) | |
Re-implement `eeprom_write_qword` as define (#23890)
Diffstat (limited to 'platforms')
| -rw-r--r-- | platforms/eeprom.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/platforms/eeprom.h b/platforms/eeprom.h index 8e69eecc4c..067fa01616 100644 --- a/platforms/eeprom.h +++ b/platforms/eeprom.h | |||
| @@ -22,9 +22,14 @@ void eeprom_update_dword(uint32_t *__p, uint32_t __value); | |||
| 22 | void eeprom_update_block(const void *__src, void *__dst, size_t __n); | 22 | void eeprom_update_block(const void *__src, void *__dst, size_t __n); |
| 23 | #endif | 23 | #endif |
| 24 | 24 | ||
| 25 | static inline void eeprom_write_qword(uint64_t *__p, uint64_t __value) { | 25 | // While newer avr-libc versions may have an implementation |
| 26 | eeprom_update_block(&__value, __p, sizeof(uint64_t)); | 26 | // use preprocessor as to not cause conflicts |
| 27 | } | 27 | #undef eeprom_write_qword |
| 28 | #define eeprom_write_qword(__p, __value) \ | ||
| 29 | do { \ | ||
| 30 | uint64_t tmp = __value; \ | ||
| 31 | eeprom_update_block(&tmp, __p, sizeof(uint64_t)); \ | ||
| 32 | } while (0) | ||
| 28 | 33 | ||
| 29 | #if defined(EEPROM_CUSTOM) | 34 | #if defined(EEPROM_CUSTOM) |
| 30 | # ifndef EEPROM_SIZE | 35 | # ifndef EEPROM_SIZE |
