From: Alexey Brodkin Date: Mon, 14 Dec 2015 15:45:34 +0000 (+0300) Subject: eeprom: fix eeprom write procedure X-Git-Tag: v2016.01-rc3~21 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=52bc7c7e2b31d6ba8d394f3d22b551abfa365363;p=oweals%2Fu-boot.git eeprom: fix eeprom write procedure This fixes commit 1a37889b0ad084a740b4f785031d7ae9955d947b: ----------------------->8-------------------- eeprom: Pull out the RW loop Unify the code for doing read/write into single function, since the code for both the read and write is almost identical. This again trims down the code duplication. ----------------------->8-------------------- where the same one routine is utilized for both EEPROM writing and reading. The only difference was supposed to be a "read" flag which in both cases was set with 1 somehow. That lead to a missing delay in case of writing which lead to write failure (in my case no data was written). Signed-off-by: Alexey Brodkin Acked-by: Marek Vasut Cc: Simon Glass Cc: Tom Rini Cc: Heiko Schocher --- diff --git a/common/cmd_eeprom.c b/common/cmd_eeprom.c index 6eab1ea083..571240a99b 100644 --- a/common/cmd_eeprom.c +++ b/common/cmd_eeprom.c @@ -197,7 +197,7 @@ int eeprom_write(unsigned dev_addr, unsigned offset, * We must write the address again when changing pages * because the address counter only increments within a page. */ - ret = eeprom_rw(dev_addr, offset, buffer, cnt, 1); + ret = eeprom_rw(dev_addr, offset, buffer, cnt, 0); eeprom_write_enable(dev_addr, 0); return ret;