Re-implement `eeprom_write_qword` as define (#23890)

master
Joel Challis 2024-06-10 01:23:25 +01:00 committed by GitHub
parent df4538d894
commit 8b5cdfabf5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 8 additions and 3 deletions

View File

@ -22,9 +22,14 @@ void eeprom_update_dword(uint32_t *__p, uint32_t __value);
void eeprom_update_block(const void *__src, void *__dst, size_t __n);
#endif
static inline void eeprom_write_qword(uint64_t *__p, uint64_t __value) {
eeprom_update_block(&__value, __p, sizeof(uint64_t));
}
// While newer avr-libc versions may have an implementation
// use preprocessor as to not cause conflicts
#undef eeprom_write_qword
#define eeprom_write_qword(__p, __value) \
do { \
uint64_t tmp = __value; \
eeprom_update_block(&tmp, __p, sizeof(uint64_t)); \
} while (0)
#if defined(EEPROM_CUSTOM)
# ifndef EEPROM_SIZE