Add support for 24XX08 eeproms, signed-off by Giovanni Casano.
[bertos.git] / bertos / drv / eeprom.c
index f92091487ae0cc9daeb2fb7cf7bcbd210a2f8d1a..6149dbf3e027077a0f75282b407b64dbfe3a6e2c 100644 (file)
@@ -32,8 +32,6 @@
  *
  * \brief Driver for the 24xx16 and 24xx256 I2C EEPROMS (implementation)
  *
- *
- * \version $Id$
  * \author Stefano Fedrigo <aleph@develer.com>
  * \author Bernie Innocenti <bernie@codewiz.org>
  */
  */
 static const EepromInfo mem_info[] =
 {
+       {
+               /* 24XX08 */
+               .has_dev_addr = false,
+               .blk_size = 0x10,
+               .e2_size = 0x400,
+       },
        {
                /* 24XX16 */
                .has_dev_addr = false,
@@ -177,7 +181,7 @@ static size_t eeprom_writeVerify(struct KFile *_fd, const void *_buf, size_t siz
 {
        Eeprom *fd = EEPROM_CAST(_fd);
        int retries = 5;
-       size_t wr_len;
+       size_t wr_len = 0;
 
        while (retries--)
        {
@@ -256,6 +260,7 @@ static size_t eeprom_read(struct KFile *_fd, void *_buf, size_t size)
                rd_len++;
        }
 
+       i2c_stop();
        return rd_len;
 }