Re-implement eeprom_write_qword as define (#23890)

This commit is contained in:
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

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); void eeprom_update_block(const void *__src, void *__dst, size_t __n);
#endif #endif
static inline void eeprom_write_qword(uint64_t *__p, uint64_t __value) { // While newer avr-libc versions may have an implementation
eeprom_update_block(&__value, __p, sizeof(uint64_t)); // 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) #if defined(EEPROM_CUSTOM)
# ifndef EEPROM_SIZE # ifndef EEPROM_SIZE