From d32f45357f0475a2f810752eeb9412fe692e1c0a Mon Sep 17 00:00:00 2001
From: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Date: Wed, 7 Nov 2012 14:09:21 +0100
Subject: sf: eon: use 16 bit ID for comparison

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>

--- 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;
 	}
 
