On Mon, Jun 06, 2016 at 10:48:42AM +0200, Bartosz Golaszewski wrote: > Chips from the at24cs EEPROM series have an additional read-only > memory area containing a factory pre-programmed serial number. In > order to access it, a dummy write must be executed before reading > the serial number bytes. > > Chips from the at24mac familiy, apart from the serial number, have > a second special memory area containing a factory programmed > EUI-48/EUI64 mac address. > > The read-only serial/mac memory area is accessible on a different i2c > slave address (addr + 0x08). This patchset makes it possible to > instantiate a separate at24 device on this second address and access > the read-only area through the regular eeprom sysfs attribute or the > new nvmem subsystem. > > This series also contains several patches refactoring the driver code. > Most notably: the low-level read/write routines are split into more > specialized, smaller functions that no longer perform functionality > checks at runtime. > > Minor readability tweaks are also included. > > Tested with at24cs32 and at24cs02 chips (for both 16 and 8 bit address > pointers). I have no means of testing the support for at24mac chips, I > relied solely on the datasheet. > > Bartosz Golaszewski (14): > eeprom: at24: improve the device_id table readability > eeprom: at24: move at24_read() below at24_eeprom_write() > eeprom: at24: coding style fixes > eeprom: at24: call read/write functions via function pointers > eeprom: at24: hide the read/write loop behind a macro > eeprom: at24: split at24_eeprom_read() into specialized functions > eeprom: at24: split at24_eeprom_write() into specialized functions > eeprom: at24: platform_data: use BIT() macro > eeprom: at24: platform_data: add serial number flag > eeprom: at24: support reading the serial number > eeprom: at24: add the at24cs series to the list of supported devices I changed the 128 / 8 to 16 as discussed and squashed the last 3 patches into 1 here... > eeprom: at24: platform_data: add at24mac series flag > eeprom: at24: add support for at24mac series > eeprom: at24: add at24mac chips to the list of supported devices ... and here. After that, applied to for-next , thanks!