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 <abrodkin@synopsys.com>
Acked-by: Marek Vasut <marex@denx.de>
Cc: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@konsulko.com>
Cc: Heiko Schocher <hs@denx.de>
master
Alexey Brodkin 9 years ago committed by Tom Rini
parent 2e680f92b8
commit 52bc7c7e2b
  1. 2
      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;

Loading…
Cancel
Save