diff options
author | Marek Vasut <marex@denx.de> | 2015-11-10 20:53:28 +0100 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2015-11-21 21:50:24 -0500 |
commit | 6717e3c84fc3934241eb02a3b437b06dede12594 (patch) | |
tree | 9d0bd3b82d5636f80f845aa99352bfab5bf10fb3 | |
parent | 8eee40a602deacb2ec0ebd1deed3e732bd470bbc (diff) |
eeprom: Pull out CONFIG_SYS_EEPROM_PAGE_WRITE_BITS
Implement default value of 8 for this macro and pull out all of
this macro out of the code. The default value of 8 actually does
implement exactly the same behavior as the previous code which
was in the #else clause of the ifdef.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@konsulko.com>
Cc: Heiko Schocher <hs@denx.de>
Reviewed-by: Heiko Schocher <hs@denx.de>
-rw-r--r-- | common/cmd_eeprom.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/common/cmd_eeprom.c b/common/cmd_eeprom.c index c38c534968..162a05c648 100644 --- a/common/cmd_eeprom.c +++ b/common/cmd_eeprom.c @@ -33,6 +33,13 @@ #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 0 #endif +#ifndef CONFIG_SYS_EEPROM_PAGE_WRITE_BITS +#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 8 +#endif + +#define EEPROM_PAGE_SIZE (1 << CONFIG_SYS_EEPROM_PAGE_WRITE_BITS) +#define EEPROM_PAGE_OFFSET(x) ((x) & (EEPROM_PAGE_SIZE - 1)) + /* * for CONFIG_SYS_I2C_EEPROM_ADDR_LEN == 2 (16-bit EEPROM address) offset is * 0x000nxxxx for EEPROM address selectors at n, offset xxxx in EEPROM. @@ -194,15 +201,8 @@ int eeprom_write (unsigned dev_addr, unsigned offset, uchar *buffer, unsigned cn */ #if !defined(CONFIG_SYS_I2C_FRAM) -#if defined(CONFIG_SYS_EEPROM_PAGE_WRITE_BITS) - -#define EEPROM_PAGE_SIZE (1 << CONFIG_SYS_EEPROM_PAGE_WRITE_BITS) -#define EEPROM_PAGE_OFFSET(x) ((x) & (EEPROM_PAGE_SIZE - 1)) - maxlen = EEPROM_PAGE_SIZE - EEPROM_PAGE_OFFSET(blk_off); -#else - maxlen = 0x100 - blk_off; -#endif + if (maxlen > I2C_RXTX_LEN) maxlen = I2C_RXTX_LEN; |