From d32f45357f0475a2f810752eeb9412fe692e1c0a Mon Sep 17 00:00:00 2001 From: Daniel Schwierzeck Date: Wed, 7 Nov 2012 14:09:21 +0100 Subject: sf: eon: use 16 bit ID for comparison Signed-off-by: Daniel Schwierzeck --- a/drivers/mtd/spi/eon.c +++ b/drivers/mtd/spi/eon.c @@ -11,19 +11,19 @@ #include "spi_flash_internal.h" struct eon_spi_flash_params { - u8 idcode1; + u16 idcode; u16 nr_sectors; const char *name; }; static const struct eon_spi_flash_params eon_spi_flash_table[] = { { - .idcode1 = 0x16, + .idcode = 0x3016, .nr_sectors = 1024, .name = "EN25Q32B", }, { - .idcode1 = 0x18, + .idcode = 0x3018, .nr_sectors = 4096, .name = "EN25Q128", }, @@ -33,10 +33,11 @@ int spi_flash_probe_eon(struct spi_flash { const struct eon_spi_flash_params *params; unsigned int i; + u16 id = idcode[2] | idcode[1] << 8; for (i = 0; i < ARRAY_SIZE(eon_spi_flash_table); ++i) { params = &eon_spi_flash_table[i]; - if (params->idcode1 == idcode[2]) + if (params->idcode == id) break; }