I2C EEPROMs from most vendors

modulename: at24.ko

configname: CONFIG_EEPROM_AT24

Linux Kernel Configuration
└─>Device Drivers
└─>Misc devices
└─>EEPROM support
└─>I2C EEPROMs from most vendors
In linux kernel since version 2.6.29 (release Date: 2009-03-23)  
Enable this driver to get read/write support to most I2C EEPROMs,
after you configure the driver to know about each EEPROM on
your target board. Use these generic chip names, instead of
vendor-specific ones like at24c64 or 24lc02:

24c00, 24c01, 24c02, spd (readonly 24c02), 24c04, 24c08,
24c16, 24c32, 24c64, 24c128, 24c256, 24c512, 24c1024

Unless you like data loss puzzles, always be sure that any chip
you configure as a 24c32 (32 kbit) or larger is NOT really a
24c16 (16 kbit) or smaller, and vice versa. Marking the chip
as read-only won't help recover from this. Also, if your chip
has any software write-protect mechanism you may want to review the
code to make sure this driver won't turn it on by accident.

If you use this with an SMBus adapter instead of an I2C adapter,
full functionality is not available. Only smaller devices are
supported (24c16 and below, max 4 kByte).

This driver can also be built as a module. If so, the module
will be called at24.

source code: