1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
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;
}
|