kernel: fix m25p80 patches for 2.6.33
[openwrt-10.03/.git] / target / linux / generic-2.6 / patches-2.6.33 / 086-mtd_m25p80_add_xxxs33b_support.patch
1 --- a/drivers/mtd/devices/m25p80.c
2 +++ b/drivers/mtd/devices/m25p80.c
3 @@ -649,6 +649,11 @@ static const struct spi_device_id m25p_i
4         { "en25p32", INFO(0x1c2016, 0, 64 * 1024,  64, 0) },
5         { "en25p64", INFO(0x1c2017, 0, 64 * 1024, 128, 0) },
6  
7 +       /* Numonyx -- xxxs33b */
8 +       { "160s33b",  INFO(0x898911, 0, 64 * 1024,  64, 0) },
9 +       { "320s33b",  INFO(0x898912, 0, 64 * 1024, 128, 0) },
10 +       { "640s33b",  INFO(0x898913, 0, 64 * 1024, 256, 0) },
11 +
12         /* PMC -- pm25x "blocks" are 32K, sectors are 4K */
13         { "pm25lv512", INFO(0, 0, 32 * 1024, 2, SECT_4K) },
14         { "pm25lv010", INFO(0, 0, 32 * 1024, 4, SECT_4K) },
15 @@ -833,11 +838,12 @@ static int __devinit m25p_probe(struct s
16         dev_set_drvdata(&spi->dev, flash);
17  
18         /*
19 -        * Atmel and SST serial flash tend to power
20 +        * Atmel, SST and Intel/Numonyx serial flash tend to power
21          * up with the software protection bits set
22          */
23  
24         if (info->jedec_id >> 16 == 0x1f ||
25 +           info->jedec_id >> 16 == 0x89 ||
26             info->jedec_id >> 16 == 0xbf) {
27                 write_enable(flash);
28                 write_sr(flash, 0);