kernel: 2.6.32: integrate m25p80 driver related patches from ar71xx
authorGabor Juhos <juhosg@openwrt.org>
Mon, 8 Feb 2010 09:37:16 +0000 (09:37 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Mon, 8 Feb 2010 09:37:16 +0000 (09:37 +0000)
SVN-Revision: 19547

13 files changed:
target/linux/ar71xx/patches-2.6.32/100-mtd_m25p80_add_pm25lv_flash_support.patch [deleted file]
target/linux/ar71xx/patches-2.6.32/102-mtd_m25p80_add_myloader_parser.patch
target/linux/ar71xx/patches-2.6.32/103-mtd_m25p80_add_en25pxx_support.patch [deleted file]
target/linux/ar71xx/patches-2.6.32/104-mtd_m25p80_add_redboot_parser.patch
target/linux/ar71xx/patches-2.6.32/106-mtd_m25p80_add_xxxs33b_support.patch [deleted file]
target/linux/ar71xx/patches-2.6.32/109-mtd-wrt160nl-trx-parser.patch
target/linux/ar71xx/patches-2.6.32/112-mtd-m25p80-add-w25q32-chip-support.patch [deleted file]
target/linux/generic-2.6/patches-2.6.32/083-mtd_fix_nand_correct_data_return_code.patch [new file with mode: 0644]
target/linux/generic-2.6/patches-2.6.32/084-mtd_m25p80_add_pm25lv_flash_support.patch [new file with mode: 0644]
target/linux/generic-2.6/patches-2.6.32/085-mtd_m25p80_add_en25pxx_support.patch [new file with mode: 0644]
target/linux/generic-2.6/patches-2.6.32/086-mtd_m25p80_add_xxxs33b_support.patch [new file with mode: 0644]
target/linux/generic-2.6/patches-2.6.32/087-mtd-m25p80-add-w25q32-chip-support.patch [new file with mode: 0644]
target/linux/generic-2.6/patches-2.6.32/090-mtd_fix_nand_correct_data_return_code.patch [deleted file]

diff --git a/target/linux/ar71xx/patches-2.6.32/100-mtd_m25p80_add_pm25lv_flash_support.patch b/target/linux/ar71xx/patches-2.6.32/100-mtd_m25p80_add_pm25lv_flash_support.patch
deleted file mode 100644 (file)
index 30c5cc9..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/drivers/mtd/devices/m25p80.c
-+++ b/drivers/mtd/devices/m25p80.c
-@@ -626,6 +626,10 @@ static struct flash_info __devinitdata m
-       { "mx25l12805d", 0xc22018, 0, 64 * 1024, 256, },
-       { "mx25l12855e", 0xc22618, 0, 64 * 1024, 256, },
-+      /* PMC -- pm25x "blocks" are 32K, sectors are 4K */
-+      { "pm25lv512",         0, 32 * 1024, 2, SECT_4K },
-+      { "pm25lv010",         0, 32 * 1024, 4, SECT_4K },
-+
-       /* Spansion -- single (large) sector size only, at least
-        * for the chips listed here (without boot sectors).
-        */
index 7b28fe4182290fd148f589a7e540ffecc85b5e3b..320c76a0cc4dbd43111956fef60b8f9acf7380b8 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/devices/m25p80.c
 +++ b/drivers/mtd/devices/m25p80.c
-@@ -856,6 +856,16 @@ static int __devinit m25p_probe(struct s
+@@ -867,6 +867,16 @@ static int __devinit m25p_probe(struct s
                                        part_probes, &parts, 0);
                }
  
diff --git a/target/linux/ar71xx/patches-2.6.32/103-mtd_m25p80_add_en25pxx_support.patch b/target/linux/ar71xx/patches-2.6.32/103-mtd_m25p80_add_en25pxx_support.patch
deleted file mode 100644 (file)
index d3bd1dd..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/drivers/mtd/devices/m25p80.c
-+++ b/drivers/mtd/devices/m25p80.c
-@@ -626,6 +626,10 @@ static struct flash_info __devinitdata m
-       { "mx25l12805d", 0xc22018, 0, 64 * 1024, 256, },
-       { "mx25l12855e", 0xc22618, 0, 64 * 1024, 256, },
-+      /* EON -- en25pxx */
-+      { "en25p32", 0x1c2016, 0, 64 * 1024,  64, },
-+      { "en25p64", 0x1c2017, 0, 64 * 1024, 128, },
-+
-       /* PMC -- pm25x "blocks" are 32K, sectors are 4K */
-       { "pm25lv512",         0, 32 * 1024, 2, SECT_4K },
-       { "pm25lv010",         0, 32 * 1024, 4, SECT_4K },
index d4a8ce9a4a25f6aecb8ec7cb51b004de1b28160b..dbcdde088fc23591ad7b232a6d4995d3b94a5a96 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/devices/m25p80.c
 +++ b/drivers/mtd/devices/m25p80.c
-@@ -870,6 +870,15 @@ static int __devinit m25p_probe(struct s
+@@ -877,6 +877,15 @@ static int __devinit m25p_probe(struct s
                }
  #endif
  
diff --git a/target/linux/ar71xx/patches-2.6.32/106-mtd_m25p80_add_xxxs33b_support.patch b/target/linux/ar71xx/patches-2.6.32/106-mtd_m25p80_add_xxxs33b_support.patch
deleted file mode 100644 (file)
index 0c7c227..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
---- a/drivers/mtd/devices/m25p80.c
-+++ b/drivers/mtd/devices/m25p80.c
-@@ -630,6 +630,11 @@ static struct flash_info __devinitdata m
-       { "en25p32", 0x1c2016, 0, 64 * 1024,  64, },
-       { "en25p64", 0x1c2017, 0, 64 * 1024, 128, },
-+      /* Numonyx -- xxxs33b */
-+      { "160s33b",  0x898911, 0, 64 * 1024,  64, },
-+      { "320s33b",  0x898912, 0, 64 * 1024, 128, },
-+      { "640s33b",  0x898913, 0, 64 * 1024, 256, },
-+
-       /* PMC -- pm25x "blocks" are 32K, sectors are 4K */
-       { "pm25lv512",         0, 32 * 1024, 2, SECT_4K },
-       { "pm25lv010",         0, 32 * 1024, 4, SECT_4K },
-@@ -784,11 +789,12 @@ static int __devinit m25p_probe(struct s
-       dev_set_drvdata(&spi->dev, flash);
-       /*
--       * Atmel serial flash tend to power up
-+       * Atmel and Intel/Numonyx serial flash tend to power up
-        * with the software protection bits set
-        */
--      if (info->jedec_id >> 16 == 0x1f) {
-+      if (info->jedec_id >> 16 == 0x1f ||
-+          info->jedec_id >> 16 == 0x89) {
-               write_enable(flash);
-               write_sr(flash, 0);
-       }
index 52f54e6ce87b56fb31a8eafad5ab536e6e5eba6d..7af88432a07d7f23841d5a02ae682f8e8bf64f57 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/devices/m25p80.c
 +++ b/drivers/mtd/devices/m25p80.c
-@@ -885,6 +885,16 @@ static int __devinit m25p_probe(struct s
+@@ -886,6 +886,16 @@ static int __devinit m25p_probe(struct s
                                        part_probes, &parts, 0);
                }
  #endif
diff --git a/target/linux/ar71xx/patches-2.6.32/112-mtd-m25p80-add-w25q32-chip-support.patch b/target/linux/ar71xx/patches-2.6.32/112-mtd-m25p80-add-w25q32-chip-support.patch
deleted file mode 100644 (file)
index 5f44c1d..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/drivers/mtd/devices/m25p80.c
-+++ b/drivers/mtd/devices/m25p80.c
-@@ -687,6 +687,7 @@ static struct flash_info __devinitdata m
-       { "w25x80", 0xef3014, 0, 64 * 1024, 16, SECT_4K, },
-       { "w25x16", 0xef3015, 0, 64 * 1024, 32, SECT_4K, },
-       { "w25x32", 0xef3016, 0, 64 * 1024, 64, SECT_4K, },
-+      { "w25q32", 0xef4016, 0, 64 * 1024, 64, SECT_4K, },
-       { "w25x64", 0xef3017, 0, 64 * 1024, 128, SECT_4K, },
- };
diff --git a/target/linux/generic-2.6/patches-2.6.32/083-mtd_fix_nand_correct_data_return_code.patch b/target/linux/generic-2.6/patches-2.6.32/083-mtd_fix_nand_correct_data_return_code.patch
new file mode 100644 (file)
index 0000000..97148d0
--- /dev/null
@@ -0,0 +1,12 @@
+--- a/drivers/mtd/nand/nand_ecc.c
++++ b/drivers/mtd/nand/nand_ecc.c
+@@ -492,8 +492,7 @@ int __nand_correct_data(unsigned char *b
+       if ((bitsperbyte[b0] + bitsperbyte[b1] + bitsperbyte[b2]) == 1)
+               return 1;       /* error in ecc data; no action needed */
+-      printk(KERN_ERR "uncorrectable error : ");
+-      return -1;
++      return -EBADMSG;
+ }
+ EXPORT_SYMBOL(__nand_correct_data);
diff --git a/target/linux/generic-2.6/patches-2.6.32/084-mtd_m25p80_add_pm25lv_flash_support.patch b/target/linux/generic-2.6/patches-2.6.32/084-mtd_m25p80_add_pm25lv_flash_support.patch
new file mode 100644 (file)
index 0000000..30c5cc9
--- /dev/null
@@ -0,0 +1,13 @@
+--- a/drivers/mtd/devices/m25p80.c
++++ b/drivers/mtd/devices/m25p80.c
+@@ -626,6 +626,10 @@ static struct flash_info __devinitdata m
+       { "mx25l12805d", 0xc22018, 0, 64 * 1024, 256, },
+       { "mx25l12855e", 0xc22618, 0, 64 * 1024, 256, },
++      /* PMC -- pm25x "blocks" are 32K, sectors are 4K */
++      { "pm25lv512",         0, 32 * 1024, 2, SECT_4K },
++      { "pm25lv010",         0, 32 * 1024, 4, SECT_4K },
++
+       /* Spansion -- single (large) sector size only, at least
+        * for the chips listed here (without boot sectors).
+        */
diff --git a/target/linux/generic-2.6/patches-2.6.32/085-mtd_m25p80_add_en25pxx_support.patch b/target/linux/generic-2.6/patches-2.6.32/085-mtd_m25p80_add_en25pxx_support.patch
new file mode 100644 (file)
index 0000000..d3bd1dd
--- /dev/null
@@ -0,0 +1,13 @@
+--- a/drivers/mtd/devices/m25p80.c
++++ b/drivers/mtd/devices/m25p80.c
+@@ -626,6 +626,10 @@ static struct flash_info __devinitdata m
+       { "mx25l12805d", 0xc22018, 0, 64 * 1024, 256, },
+       { "mx25l12855e", 0xc22618, 0, 64 * 1024, 256, },
++      /* EON -- en25pxx */
++      { "en25p32", 0x1c2016, 0, 64 * 1024,  64, },
++      { "en25p64", 0x1c2017, 0, 64 * 1024, 128, },
++
+       /* PMC -- pm25x "blocks" are 32K, sectors are 4K */
+       { "pm25lv512",         0, 32 * 1024, 2, SECT_4K },
+       { "pm25lv010",         0, 32 * 1024, 4, SECT_4K },
diff --git a/target/linux/generic-2.6/patches-2.6.32/086-mtd_m25p80_add_xxxs33b_support.patch b/target/linux/generic-2.6/patches-2.6.32/086-mtd_m25p80_add_xxxs33b_support.patch
new file mode 100644 (file)
index 0000000..0c7c227
--- /dev/null
@@ -0,0 +1,29 @@
+--- a/drivers/mtd/devices/m25p80.c
++++ b/drivers/mtd/devices/m25p80.c
+@@ -630,6 +630,11 @@ static struct flash_info __devinitdata m
+       { "en25p32", 0x1c2016, 0, 64 * 1024,  64, },
+       { "en25p64", 0x1c2017, 0, 64 * 1024, 128, },
++      /* Numonyx -- xxxs33b */
++      { "160s33b",  0x898911, 0, 64 * 1024,  64, },
++      { "320s33b",  0x898912, 0, 64 * 1024, 128, },
++      { "640s33b",  0x898913, 0, 64 * 1024, 256, },
++
+       /* PMC -- pm25x "blocks" are 32K, sectors are 4K */
+       { "pm25lv512",         0, 32 * 1024, 2, SECT_4K },
+       { "pm25lv010",         0, 32 * 1024, 4, SECT_4K },
+@@ -784,11 +789,12 @@ static int __devinit m25p_probe(struct s
+       dev_set_drvdata(&spi->dev, flash);
+       /*
+-       * Atmel serial flash tend to power up
++       * Atmel and Intel/Numonyx serial flash tend to power up
+        * with the software protection bits set
+        */
+-      if (info->jedec_id >> 16 == 0x1f) {
++      if (info->jedec_id >> 16 == 0x1f ||
++          info->jedec_id >> 16 == 0x89) {
+               write_enable(flash);
+               write_sr(flash, 0);
+       }
diff --git a/target/linux/generic-2.6/patches-2.6.32/087-mtd-m25p80-add-w25q32-chip-support.patch b/target/linux/generic-2.6/patches-2.6.32/087-mtd-m25p80-add-w25q32-chip-support.patch
new file mode 100644 (file)
index 0000000..5f44c1d
--- /dev/null
@@ -0,0 +1,10 @@
+--- a/drivers/mtd/devices/m25p80.c
++++ b/drivers/mtd/devices/m25p80.c
+@@ -687,6 +687,7 @@ static struct flash_info __devinitdata m
+       { "w25x80", 0xef3014, 0, 64 * 1024, 16, SECT_4K, },
+       { "w25x16", 0xef3015, 0, 64 * 1024, 32, SECT_4K, },
+       { "w25x32", 0xef3016, 0, 64 * 1024, 64, SECT_4K, },
++      { "w25q32", 0xef4016, 0, 64 * 1024, 64, SECT_4K, },
+       { "w25x64", 0xef3017, 0, 64 * 1024, 128, SECT_4K, },
+ };
diff --git a/target/linux/generic-2.6/patches-2.6.32/090-mtd_fix_nand_correct_data_return_code.patch b/target/linux/generic-2.6/patches-2.6.32/090-mtd_fix_nand_correct_data_return_code.patch
deleted file mode 100644 (file)
index 97148d0..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/drivers/mtd/nand/nand_ecc.c
-+++ b/drivers/mtd/nand/nand_ecc.c
-@@ -492,8 +492,7 @@ int __nand_correct_data(unsigned char *b
-       if ((bitsperbyte[b0] + bitsperbyte[b1] + bitsperbyte[b2]) == 1)
-               return 1;       /* error in ecc data; no action needed */
--      printk(KERN_ERR "uncorrectable error : ");
--      return -1;
-+      return -EBADMSG;
- }
- EXPORT_SYMBOL(__nand_correct_data);