On Mon, Jul 1, 2024 at 9:23 AM <Andrei.Simion@xxxxxxxxxxxxx> wrote: > > >> > >> For those types of eeprom 24AA025E{48, 64} adjusting offset is not required (at24_get_offset_adj()). > >> So, indeed, it is an entanglement in logic. > >> To keep the implementation as it is: > >> adjoff (which is a flag that indicates when to use the adjusting offset) needs to be 1 for old compatibles but for these new ones needs to be 0. > >> > >> I think that is enough not to break the existing users. What are your thoughts? > >> > > > > Wait... is the adjoff field effectively a boolean? Why u8? > > > > struct at24_data contains offset_adj which will get value calling at24_get_offset_adj()) if adjoff is true (1). > Yes, adjoff needs to be treated as a boolean. I will change it in the next version. > No, wait. Why can't you just do: AT24_CHIP_DATA(at24_data_24aa025e48, 48 / 8, AT24_FLAG_READONLY); and avoid this whole new macro variant entirely? Bart