rename 014-samsung_flash patch to a better name, thanks maddes
authorFlorian Fainelli <florian@openwrt.org>
Tue, 10 Aug 2010 20:23:40 +0000 (20:23 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Tue, 10 Aug 2010 20:23:40 +0000 (20:23 +0000)
SVN-Revision: 22587

12 files changed:
target/linux/generic/patches-2.6.30/014-cfi_fix_amd_extended_table_check.patch [new file with mode: 0644]
target/linux/generic/patches-2.6.30/014-samsung_flash [deleted file]
target/linux/generic/patches-2.6.31/014-cfi_fix_amd_extended_table_check.patch [new file with mode: 0644]
target/linux/generic/patches-2.6.31/014-samsung_flash [deleted file]
target/linux/generic/patches-2.6.32/014-cfi_fix_amd_extended_table_check.patch [new file with mode: 0644]
target/linux/generic/patches-2.6.32/014-samsung_flash.patch [deleted file]
target/linux/generic/patches-2.6.33/014-cfi_fix_amd_extended_table_check.patch [new file with mode: 0644]
target/linux/generic/patches-2.6.33/014-samsung_flash.patch [deleted file]
target/linux/generic/patches-2.6.34/014-cfi_fix_amd_extended_table_check.patch [new file with mode: 0644]
target/linux/generic/patches-2.6.34/014-samsung_flash.patch [deleted file]
target/linux/generic/patches-2.6.35/014-cfi_fix_amd_extended_table_check.patch [new file with mode: 0644]
target/linux/generic/patches-2.6.35/014-samsung_flash.patch [deleted file]

diff --git a/target/linux/generic/patches-2.6.30/014-cfi_fix_amd_extended_table_check.patch b/target/linux/generic/patches-2.6.30/014-cfi_fix_amd_extended_table_check.patch
new file mode 100644 (file)
index 0000000..5c83508
--- /dev/null
@@ -0,0 +1,36 @@
+--- a/drivers/mtd/chips/cfi_cmdset_0002.c
++++ b/drivers/mtd/chips/cfi_cmdset_0002.c
+@@ -51,6 +51,7 @@
+ #define SST49LF040B           0x0050
+ #define SST49LF008A           0x005a
+ #define AT49BV6416            0x00d6
++#define MANUFACTURER_SAMSUNG  0x00ec
+ static int cfi_amdstd_read (struct mtd_info *, loff_t, size_t, size_t *, u_char *);
+ static int cfi_amdstd_write_words(struct mtd_info *, loff_t, size_t, size_t *, const u_char *);
+@@ -386,12 +387,19 @@ struct mtd_info *cfi_cmdset_0002(struct 
+               if (extp->MajorVersion != '1' ||
+                   (extp->MinorVersion < '0' || extp->MinorVersion > '4')) {
+-                      printk(KERN_ERR "  Unknown Amd/Fujitsu Extended Query "
+-                             "version %c.%c.\n",  extp->MajorVersion,
+-                             extp->MinorVersion);
+-                      kfree(extp);
+-                      kfree(mtd);
+-                      return NULL;
++                      if (cfi->mfr == MANUFACTURER_SAMSUNG &&
++                          (extp->MajorVersion == '3' && extp->MinorVersion == '3')) {
++                          printk(KERN_NOTICE "  Newer Samsung flash detected, "
++                                 "should be compatibile with Amd/Fujitsu.\n");
++                      }
++                      else {
++                          printk(KERN_ERR "  Unknown Amd/Fujitsu Extended Query "
++                                 "version %c.%c.\n",  extp->MajorVersion,
++                                 extp->MinorVersion);
++                          kfree(extp);
++                          kfree(mtd);
++                          return NULL;
++                      }
+               }
+               /* Install our own private info structure */
diff --git a/target/linux/generic/patches-2.6.30/014-samsung_flash b/target/linux/generic/patches-2.6.30/014-samsung_flash
deleted file mode 100644 (file)
index 5c83508..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
---- a/drivers/mtd/chips/cfi_cmdset_0002.c
-+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -51,6 +51,7 @@
- #define SST49LF040B           0x0050
- #define SST49LF008A           0x005a
- #define AT49BV6416            0x00d6
-+#define MANUFACTURER_SAMSUNG  0x00ec
- static int cfi_amdstd_read (struct mtd_info *, loff_t, size_t, size_t *, u_char *);
- static int cfi_amdstd_write_words(struct mtd_info *, loff_t, size_t, size_t *, const u_char *);
-@@ -386,12 +387,19 @@ struct mtd_info *cfi_cmdset_0002(struct 
-               if (extp->MajorVersion != '1' ||
-                   (extp->MinorVersion < '0' || extp->MinorVersion > '4')) {
--                      printk(KERN_ERR "  Unknown Amd/Fujitsu Extended Query "
--                             "version %c.%c.\n",  extp->MajorVersion,
--                             extp->MinorVersion);
--                      kfree(extp);
--                      kfree(mtd);
--                      return NULL;
-+                      if (cfi->mfr == MANUFACTURER_SAMSUNG &&
-+                          (extp->MajorVersion == '3' && extp->MinorVersion == '3')) {
-+                          printk(KERN_NOTICE "  Newer Samsung flash detected, "
-+                                 "should be compatibile with Amd/Fujitsu.\n");
-+                      }
-+                      else {
-+                          printk(KERN_ERR "  Unknown Amd/Fujitsu Extended Query "
-+                                 "version %c.%c.\n",  extp->MajorVersion,
-+                                 extp->MinorVersion);
-+                          kfree(extp);
-+                          kfree(mtd);
-+                          return NULL;
-+                      }
-               }
-               /* Install our own private info structure */
diff --git a/target/linux/generic/patches-2.6.31/014-cfi_fix_amd_extended_table_check.patch b/target/linux/generic/patches-2.6.31/014-cfi_fix_amd_extended_table_check.patch
new file mode 100644 (file)
index 0000000..e2a4569
--- /dev/null
@@ -0,0 +1,36 @@
+--- a/drivers/mtd/chips/cfi_cmdset_0002.c
++++ b/drivers/mtd/chips/cfi_cmdset_0002.c
+@@ -51,6 +51,7 @@
+ #define SST49LF040B           0x0050
+ #define SST49LF008A           0x005a
+ #define AT49BV6416            0x00d6
++#define MANUFACTURER_SAMSUNG  0x00ec
+ static int cfi_amdstd_read (struct mtd_info *, loff_t, size_t, size_t *, u_char *);
+ static int cfi_amdstd_write_words(struct mtd_info *, loff_t, size_t, size_t *, const u_char *);
+@@ -375,12 +376,19 @@ struct mtd_info *cfi_cmdset_0002(struct
+               if (extp->MajorVersion != '1' ||
+                   (extp->MinorVersion < '0' || extp->MinorVersion > '4')) {
+-                      printk(KERN_ERR "  Unknown Amd/Fujitsu Extended Query "
+-                             "version %c.%c.\n",  extp->MajorVersion,
+-                             extp->MinorVersion);
+-                      kfree(extp);
+-                      kfree(mtd);
+-                      return NULL;
++                      if (cfi->mfr == MANUFACTURER_SAMSUNG &&
++                          (extp->MajorVersion == '3' && extp->MinorVersion == '3')) {
++                          printk(KERN_NOTICE "  Newer Samsung flash detected, "
++                                 "should be compatibile with Amd/Fujitsu.\n");
++                      }
++                      else {
++                          printk(KERN_ERR "  Unknown Amd/Fujitsu Extended Query "
++                                 "version %c.%c.\n",  extp->MajorVersion,
++                                 extp->MinorVersion);
++                          kfree(extp);
++                          kfree(mtd);
++                          return NULL;
++                      }
+               }
+               /* Install our own private info structure */
diff --git a/target/linux/generic/patches-2.6.31/014-samsung_flash b/target/linux/generic/patches-2.6.31/014-samsung_flash
deleted file mode 100644 (file)
index e2a4569..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
---- a/drivers/mtd/chips/cfi_cmdset_0002.c
-+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -51,6 +51,7 @@
- #define SST49LF040B           0x0050
- #define SST49LF008A           0x005a
- #define AT49BV6416            0x00d6
-+#define MANUFACTURER_SAMSUNG  0x00ec
- static int cfi_amdstd_read (struct mtd_info *, loff_t, size_t, size_t *, u_char *);
- static int cfi_amdstd_write_words(struct mtd_info *, loff_t, size_t, size_t *, const u_char *);
-@@ -375,12 +376,19 @@ struct mtd_info *cfi_cmdset_0002(struct
-               if (extp->MajorVersion != '1' ||
-                   (extp->MinorVersion < '0' || extp->MinorVersion > '4')) {
--                      printk(KERN_ERR "  Unknown Amd/Fujitsu Extended Query "
--                             "version %c.%c.\n",  extp->MajorVersion,
--                             extp->MinorVersion);
--                      kfree(extp);
--                      kfree(mtd);
--                      return NULL;
-+                      if (cfi->mfr == MANUFACTURER_SAMSUNG &&
-+                          (extp->MajorVersion == '3' && extp->MinorVersion == '3')) {
-+                          printk(KERN_NOTICE "  Newer Samsung flash detected, "
-+                                 "should be compatibile with Amd/Fujitsu.\n");
-+                      }
-+                      else {
-+                          printk(KERN_ERR "  Unknown Amd/Fujitsu Extended Query "
-+                                 "version %c.%c.\n",  extp->MajorVersion,
-+                                 extp->MinorVersion);
-+                          kfree(extp);
-+                          kfree(mtd);
-+                          return NULL;
-+                      }
-               }
-               /* Install our own private info structure */
diff --git a/target/linux/generic/patches-2.6.32/014-cfi_fix_amd_extended_table_check.patch b/target/linux/generic/patches-2.6.32/014-cfi_fix_amd_extended_table_check.patch
new file mode 100644 (file)
index 0000000..2618faf
--- /dev/null
@@ -0,0 +1,50 @@
+--- a/drivers/mtd/chips/cfi_cmdset_0002.c
++++ b/drivers/mtd/chips/cfi_cmdset_0002.c
+@@ -325,6 +325,8 @@ static struct cfi_fixup fixup_table[] =
+ static void cfi_fixup_major_minor(struct cfi_private *cfi,
+                                 struct cfi_pri_amdstd *extp)
+ {
++      // manufacturers defined in include/linux/mtd/cfi.h
++
+       if (cfi->mfr == CFI_MFR_SAMSUNG && cfi->id == 0x257e &&
+           extp->MajorVersion == '0')
+               extp->MajorVersion = '1';
+@@ -355,6 +357,9 @@ struct mtd_info *cfi_cmdset_0002(struct
+       mtd->name    = map->name;
+       mtd->writesize = 1;
++      printk(" CFI mfr 0x%08x\n", cfi->mfr);  // TODO: Is there a more general place to print this info?
++      printk(" CFI id  0x%08x\n", cfi->id);
++
+       if (cfi->cfi_mode==CFI_MODE_CFI){
+               unsigned char bootloc;
+               /*
+@@ -373,16 +378,24 @@ struct mtd_info *cfi_cmdset_0002(struct
+               cfi_fixup_major_minor(cfi, extp);
+-              if (extp->MajorVersion != '1' ||
+-                  (extp->MinorVersion < '0' || extp->MinorVersion > '4')) {
++              // valid primary extension versions are: 1.0, 1.1, 1.2, 1.3
++              // see: http://www.amd.com/us-en/assets/content_type/DownloadableAssets/cfi_r20.pdf, page 19 and on
++              //      http://www.amd.com/us-en/assets/content_type/DownloadableAssets/cfi_100_20011201.pdf
++              if (extp->MajorVersion < '1' ||
++                  extp->MajorVersion > '1' ||
++                  (extp->MajorVersion == '1' && ( extp->MinorVersion < '0' || extp->MinorVersion > '3'))) {
+                       printk(KERN_ERR "  Unknown Amd/Fujitsu Extended Query "
+-                             "version %c.%c.\n",  extp->MajorVersion,
+-                             extp->MinorVersion);
++                             "version %c.%c (0x%02x/0x%02x).\n",
++                             extp->MajorVersion, extp->MinorVersion,
++                             extp->MajorVersion, extp->MinorVersion);
+                       kfree(extp);
+                       kfree(mtd);
+                       return NULL;
+               }
++              printk("  Amd/Fujitsu Extended Query version %c.%c.\n",
++                     extp->MajorVersion, extp->MinorVersion);
++
+               /* Install our own private info structure */
+               cfi->cmdset_priv = extp;
diff --git a/target/linux/generic/patches-2.6.32/014-samsung_flash.patch b/target/linux/generic/patches-2.6.32/014-samsung_flash.patch
deleted file mode 100644 (file)
index 2618faf..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
---- a/drivers/mtd/chips/cfi_cmdset_0002.c
-+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -325,6 +325,8 @@ static struct cfi_fixup fixup_table[] =
- static void cfi_fixup_major_minor(struct cfi_private *cfi,
-                                 struct cfi_pri_amdstd *extp)
- {
-+      // manufacturers defined in include/linux/mtd/cfi.h
-+
-       if (cfi->mfr == CFI_MFR_SAMSUNG && cfi->id == 0x257e &&
-           extp->MajorVersion == '0')
-               extp->MajorVersion = '1';
-@@ -355,6 +357,9 @@ struct mtd_info *cfi_cmdset_0002(struct
-       mtd->name    = map->name;
-       mtd->writesize = 1;
-+      printk(" CFI mfr 0x%08x\n", cfi->mfr);  // TODO: Is there a more general place to print this info?
-+      printk(" CFI id  0x%08x\n", cfi->id);
-+
-       if (cfi->cfi_mode==CFI_MODE_CFI){
-               unsigned char bootloc;
-               /*
-@@ -373,16 +378,24 @@ struct mtd_info *cfi_cmdset_0002(struct
-               cfi_fixup_major_minor(cfi, extp);
--              if (extp->MajorVersion != '1' ||
--                  (extp->MinorVersion < '0' || extp->MinorVersion > '4')) {
-+              // valid primary extension versions are: 1.0, 1.1, 1.2, 1.3
-+              // see: http://www.amd.com/us-en/assets/content_type/DownloadableAssets/cfi_r20.pdf, page 19 and on
-+              //      http://www.amd.com/us-en/assets/content_type/DownloadableAssets/cfi_100_20011201.pdf
-+              if (extp->MajorVersion < '1' ||
-+                  extp->MajorVersion > '1' ||
-+                  (extp->MajorVersion == '1' && ( extp->MinorVersion < '0' || extp->MinorVersion > '3'))) {
-                       printk(KERN_ERR "  Unknown Amd/Fujitsu Extended Query "
--                             "version %c.%c.\n",  extp->MajorVersion,
--                             extp->MinorVersion);
-+                             "version %c.%c (0x%02x/0x%02x).\n",
-+                             extp->MajorVersion, extp->MinorVersion,
-+                             extp->MajorVersion, extp->MinorVersion);
-                       kfree(extp);
-                       kfree(mtd);
-                       return NULL;
-               }
-+              printk("  Amd/Fujitsu Extended Query version %c.%c.\n",
-+                     extp->MajorVersion, extp->MinorVersion);
-+
-               /* Install our own private info structure */
-               cfi->cmdset_priv = extp;
diff --git a/target/linux/generic/patches-2.6.33/014-cfi_fix_amd_extended_table_check.patch b/target/linux/generic/patches-2.6.33/014-cfi_fix_amd_extended_table_check.patch
new file mode 100644 (file)
index 0000000..7010d36
--- /dev/null
@@ -0,0 +1,50 @@
+--- a/drivers/mtd/chips/cfi_cmdset_0002.c
++++ b/drivers/mtd/chips/cfi_cmdset_0002.c
+@@ -325,6 +325,8 @@ static struct cfi_fixup fixup_table[] = 
+ static void cfi_fixup_major_minor(struct cfi_private *cfi,
+                                 struct cfi_pri_amdstd *extp)
+ {
++      // manufacturers defined in include/linux/mtd/cfi.h
++
+       if (cfi->mfr == CFI_MFR_SAMSUNG && cfi->id == 0x257e &&
+           extp->MajorVersion == '0')
+               extp->MajorVersion = '1';
+@@ -355,6 +357,9 @@ struct mtd_info *cfi_cmdset_0002(struct 
+       mtd->name    = map->name;
+       mtd->writesize = 1;
++      printk(" CFI mfr 0x%08x\n", cfi->mfr);  // TODO: Is there a more general place to print this info?
++      printk(" CFI id  0x%08x\n", cfi->id);
++
+       if (cfi->cfi_mode==CFI_MODE_CFI){
+               unsigned char bootloc;
+               /*
+@@ -373,16 +378,24 @@ struct mtd_info *cfi_cmdset_0002(struct 
+               cfi_fixup_major_minor(cfi, extp);
+-              if (extp->MajorVersion != '1' ||
+-                  (extp->MinorVersion < '0' || extp->MinorVersion > '4')) {
++              // valid primary extension versions are: 1.0, 1.1, 1.2, 1.3
++              // see: http://www.amd.com/us-en/assets/content_type/DownloadableAssets/cfi_r20.pdf, page 19 and on
++              //      http://www.amd.com/us-en/assets/content_type/DownloadableAssets/cfi_100_20011201.pdf
++              if (extp->MajorVersion < '1' ||
++                  extp->MajorVersion > '1' ||
++                  (extp->MajorVersion == '1' && ( extp->MinorVersion < '0' || extp->MinorVersion > '3'))) {
+                       printk(KERN_ERR "  Unknown Amd/Fujitsu Extended Query "
+-                             "version %c.%c.\n",  extp->MajorVersion,
+-                             extp->MinorVersion);
++                             "version %c.%c (0x%02x/0x%02x).\n",
++                             extp->MajorVersion, extp->MinorVersion,
++                             extp->MajorVersion, extp->MinorVersion);
+                       kfree(extp);
+                       kfree(mtd);
+                       return NULL;
+               }
++              printk("  Amd/Fujitsu Extended Query version %c.%c.\n",
++                     extp->MajorVersion, extp->MinorVersion);
++
+               /* Install our own private info structure */
+               cfi->cmdset_priv = extp;
diff --git a/target/linux/generic/patches-2.6.33/014-samsung_flash.patch b/target/linux/generic/patches-2.6.33/014-samsung_flash.patch
deleted file mode 100644 (file)
index 7010d36..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
---- a/drivers/mtd/chips/cfi_cmdset_0002.c
-+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -325,6 +325,8 @@ static struct cfi_fixup fixup_table[] = 
- static void cfi_fixup_major_minor(struct cfi_private *cfi,
-                                 struct cfi_pri_amdstd *extp)
- {
-+      // manufacturers defined in include/linux/mtd/cfi.h
-+
-       if (cfi->mfr == CFI_MFR_SAMSUNG && cfi->id == 0x257e &&
-           extp->MajorVersion == '0')
-               extp->MajorVersion = '1';
-@@ -355,6 +357,9 @@ struct mtd_info *cfi_cmdset_0002(struct 
-       mtd->name    = map->name;
-       mtd->writesize = 1;
-+      printk(" CFI mfr 0x%08x\n", cfi->mfr);  // TODO: Is there a more general place to print this info?
-+      printk(" CFI id  0x%08x\n", cfi->id);
-+
-       if (cfi->cfi_mode==CFI_MODE_CFI){
-               unsigned char bootloc;
-               /*
-@@ -373,16 +378,24 @@ struct mtd_info *cfi_cmdset_0002(struct 
-               cfi_fixup_major_minor(cfi, extp);
--              if (extp->MajorVersion != '1' ||
--                  (extp->MinorVersion < '0' || extp->MinorVersion > '4')) {
-+              // valid primary extension versions are: 1.0, 1.1, 1.2, 1.3
-+              // see: http://www.amd.com/us-en/assets/content_type/DownloadableAssets/cfi_r20.pdf, page 19 and on
-+              //      http://www.amd.com/us-en/assets/content_type/DownloadableAssets/cfi_100_20011201.pdf
-+              if (extp->MajorVersion < '1' ||
-+                  extp->MajorVersion > '1' ||
-+                  (extp->MajorVersion == '1' && ( extp->MinorVersion < '0' || extp->MinorVersion > '3'))) {
-                       printk(KERN_ERR "  Unknown Amd/Fujitsu Extended Query "
--                             "version %c.%c.\n",  extp->MajorVersion,
--                             extp->MinorVersion);
-+                             "version %c.%c (0x%02x/0x%02x).\n",
-+                             extp->MajorVersion, extp->MinorVersion,
-+                             extp->MajorVersion, extp->MinorVersion);
-                       kfree(extp);
-                       kfree(mtd);
-                       return NULL;
-               }
-+              printk("  Amd/Fujitsu Extended Query version %c.%c.\n",
-+                     extp->MajorVersion, extp->MinorVersion);
-+
-               /* Install our own private info structure */
-               cfi->cmdset_priv = extp;
diff --git a/target/linux/generic/patches-2.6.34/014-cfi_fix_amd_extended_table_check.patch b/target/linux/generic/patches-2.6.34/014-cfi_fix_amd_extended_table_check.patch
new file mode 100644 (file)
index 0000000..2618faf
--- /dev/null
@@ -0,0 +1,50 @@
+--- a/drivers/mtd/chips/cfi_cmdset_0002.c
++++ b/drivers/mtd/chips/cfi_cmdset_0002.c
+@@ -325,6 +325,8 @@ static struct cfi_fixup fixup_table[] =
+ static void cfi_fixup_major_minor(struct cfi_private *cfi,
+                                 struct cfi_pri_amdstd *extp)
+ {
++      // manufacturers defined in include/linux/mtd/cfi.h
++
+       if (cfi->mfr == CFI_MFR_SAMSUNG && cfi->id == 0x257e &&
+           extp->MajorVersion == '0')
+               extp->MajorVersion = '1';
+@@ -355,6 +357,9 @@ struct mtd_info *cfi_cmdset_0002(struct
+       mtd->name    = map->name;
+       mtd->writesize = 1;
++      printk(" CFI mfr 0x%08x\n", cfi->mfr);  // TODO: Is there a more general place to print this info?
++      printk(" CFI id  0x%08x\n", cfi->id);
++
+       if (cfi->cfi_mode==CFI_MODE_CFI){
+               unsigned char bootloc;
+               /*
+@@ -373,16 +378,24 @@ struct mtd_info *cfi_cmdset_0002(struct
+               cfi_fixup_major_minor(cfi, extp);
+-              if (extp->MajorVersion != '1' ||
+-                  (extp->MinorVersion < '0' || extp->MinorVersion > '4')) {
++              // valid primary extension versions are: 1.0, 1.1, 1.2, 1.3
++              // see: http://www.amd.com/us-en/assets/content_type/DownloadableAssets/cfi_r20.pdf, page 19 and on
++              //      http://www.amd.com/us-en/assets/content_type/DownloadableAssets/cfi_100_20011201.pdf
++              if (extp->MajorVersion < '1' ||
++                  extp->MajorVersion > '1' ||
++                  (extp->MajorVersion == '1' && ( extp->MinorVersion < '0' || extp->MinorVersion > '3'))) {
+                       printk(KERN_ERR "  Unknown Amd/Fujitsu Extended Query "
+-                             "version %c.%c.\n",  extp->MajorVersion,
+-                             extp->MinorVersion);
++                             "version %c.%c (0x%02x/0x%02x).\n",
++                             extp->MajorVersion, extp->MinorVersion,
++                             extp->MajorVersion, extp->MinorVersion);
+                       kfree(extp);
+                       kfree(mtd);
+                       return NULL;
+               }
++              printk("  Amd/Fujitsu Extended Query version %c.%c.\n",
++                     extp->MajorVersion, extp->MinorVersion);
++
+               /* Install our own private info structure */
+               cfi->cmdset_priv = extp;
diff --git a/target/linux/generic/patches-2.6.34/014-samsung_flash.patch b/target/linux/generic/patches-2.6.34/014-samsung_flash.patch
deleted file mode 100644 (file)
index 2618faf..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
---- a/drivers/mtd/chips/cfi_cmdset_0002.c
-+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -325,6 +325,8 @@ static struct cfi_fixup fixup_table[] =
- static void cfi_fixup_major_minor(struct cfi_private *cfi,
-                                 struct cfi_pri_amdstd *extp)
- {
-+      // manufacturers defined in include/linux/mtd/cfi.h
-+
-       if (cfi->mfr == CFI_MFR_SAMSUNG && cfi->id == 0x257e &&
-           extp->MajorVersion == '0')
-               extp->MajorVersion = '1';
-@@ -355,6 +357,9 @@ struct mtd_info *cfi_cmdset_0002(struct
-       mtd->name    = map->name;
-       mtd->writesize = 1;
-+      printk(" CFI mfr 0x%08x\n", cfi->mfr);  // TODO: Is there a more general place to print this info?
-+      printk(" CFI id  0x%08x\n", cfi->id);
-+
-       if (cfi->cfi_mode==CFI_MODE_CFI){
-               unsigned char bootloc;
-               /*
-@@ -373,16 +378,24 @@ struct mtd_info *cfi_cmdset_0002(struct
-               cfi_fixup_major_minor(cfi, extp);
--              if (extp->MajorVersion != '1' ||
--                  (extp->MinorVersion < '0' || extp->MinorVersion > '4')) {
-+              // valid primary extension versions are: 1.0, 1.1, 1.2, 1.3
-+              // see: http://www.amd.com/us-en/assets/content_type/DownloadableAssets/cfi_r20.pdf, page 19 and on
-+              //      http://www.amd.com/us-en/assets/content_type/DownloadableAssets/cfi_100_20011201.pdf
-+              if (extp->MajorVersion < '1' ||
-+                  extp->MajorVersion > '1' ||
-+                  (extp->MajorVersion == '1' && ( extp->MinorVersion < '0' || extp->MinorVersion > '3'))) {
-                       printk(KERN_ERR "  Unknown Amd/Fujitsu Extended Query "
--                             "version %c.%c.\n",  extp->MajorVersion,
--                             extp->MinorVersion);
-+                             "version %c.%c (0x%02x/0x%02x).\n",
-+                             extp->MajorVersion, extp->MinorVersion,
-+                             extp->MajorVersion, extp->MinorVersion);
-                       kfree(extp);
-                       kfree(mtd);
-                       return NULL;
-               }
-+              printk("  Amd/Fujitsu Extended Query version %c.%c.\n",
-+                     extp->MajorVersion, extp->MinorVersion);
-+
-               /* Install our own private info structure */
-               cfi->cmdset_priv = extp;
diff --git a/target/linux/generic/patches-2.6.35/014-cfi_fix_amd_extended_table_check.patch b/target/linux/generic/patches-2.6.35/014-cfi_fix_amd_extended_table_check.patch
new file mode 100644 (file)
index 0000000..cd4da2c
--- /dev/null
@@ -0,0 +1,50 @@
+--- a/drivers/mtd/chips/cfi_cmdset_0002.c
++++ b/drivers/mtd/chips/cfi_cmdset_0002.c
+@@ -372,6 +372,8 @@ static struct cfi_fixup fixup_table[] =
+ static void cfi_fixup_major_minor(struct cfi_private *cfi,
+                                 struct cfi_pri_amdstd *extp)
+ {
++      // manufacturers defined in include/linux/mtd/cfi.h
++
+       if (cfi->mfr == CFI_MFR_SAMSUNG && cfi->id == 0x257e &&
+           extp->MajorVersion == '0')
+               extp->MajorVersion = '1';
+@@ -404,6 +406,9 @@ struct mtd_info *cfi_cmdset_0002(struct
+       mtd->reboot_notifier.notifier_call = cfi_amdstd_reboot;
++      printk(" CFI mfr 0x%08x\n", cfi->mfr);  // TODO: Is there a more general place to print this info?
++      printk(" CFI id  0x%08x\n", cfi->id);
++
+       if (cfi->cfi_mode==CFI_MODE_CFI){
+               unsigned char bootloc;
+               __u16 adr = primary?cfi->cfiq->P_ADR:cfi->cfiq->A_ADR;
+@@ -417,16 +422,24 @@ struct mtd_info *cfi_cmdset_0002(struct
+                        */
+                       cfi_fixup_major_minor(cfi, extp);
+-                      if (extp->MajorVersion != '1' ||
+-                          (extp->MinorVersion < '0' || extp->MinorVersion > '4')) {
++                      // valid primary extension versions are: 1.0, 1.1, 1.2, 1.3
++                      // see: http://www.amd.com/us-en/assets/content_type/DownloadableAssets/cfi_r20.pdf, page 19 and on
++                      //      http://www.amd.com/us-en/assets/content_type/DownloadableAssets/cfi_100_20011201.pdf
++                      if (extp->MajorVersion < '1' ||
++                          extp->MajorVersion > '1' ||
++                          (extp->MajorVersion == '1' && ( extp->MinorVersion < '0' || extp->MinorVersion > '3'))) {
+                               printk(KERN_ERR "  Unknown Amd/Fujitsu Extended Query "
+-                                     "version %c.%c.\n",  extp->MajorVersion,
+-                                     extp->MinorVersion);
++                                     "version %c.%c (0x%02x/0x%02x).\n",
++                                     extp->MajorVersion, extp->MinorVersion,
++                                     extp->MajorVersion, extp->MinorVersion);
+                               kfree(extp);
+                               kfree(mtd);
+                               return NULL;
+                       }
++                      printk("  Amd/Fujitsu Extended Query version %c.%c.\n",
++                             extp->MajorVersion, extp->MinorVersion);
++
+                       /* Install our own private info structure */
+                       cfi->cmdset_priv = extp;
diff --git a/target/linux/generic/patches-2.6.35/014-samsung_flash.patch b/target/linux/generic/patches-2.6.35/014-samsung_flash.patch
deleted file mode 100644 (file)
index cd4da2c..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
---- a/drivers/mtd/chips/cfi_cmdset_0002.c
-+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -372,6 +372,8 @@ static struct cfi_fixup fixup_table[] =
- static void cfi_fixup_major_minor(struct cfi_private *cfi,
-                                 struct cfi_pri_amdstd *extp)
- {
-+      // manufacturers defined in include/linux/mtd/cfi.h
-+
-       if (cfi->mfr == CFI_MFR_SAMSUNG && cfi->id == 0x257e &&
-           extp->MajorVersion == '0')
-               extp->MajorVersion = '1';
-@@ -404,6 +406,9 @@ struct mtd_info *cfi_cmdset_0002(struct
-       mtd->reboot_notifier.notifier_call = cfi_amdstd_reboot;
-+      printk(" CFI mfr 0x%08x\n", cfi->mfr);  // TODO: Is there a more general place to print this info?
-+      printk(" CFI id  0x%08x\n", cfi->id);
-+
-       if (cfi->cfi_mode==CFI_MODE_CFI){
-               unsigned char bootloc;
-               __u16 adr = primary?cfi->cfiq->P_ADR:cfi->cfiq->A_ADR;
-@@ -417,16 +422,24 @@ struct mtd_info *cfi_cmdset_0002(struct
-                        */
-                       cfi_fixup_major_minor(cfi, extp);
--                      if (extp->MajorVersion != '1' ||
--                          (extp->MinorVersion < '0' || extp->MinorVersion > '4')) {
-+                      // valid primary extension versions are: 1.0, 1.1, 1.2, 1.3
-+                      // see: http://www.amd.com/us-en/assets/content_type/DownloadableAssets/cfi_r20.pdf, page 19 and on
-+                      //      http://www.amd.com/us-en/assets/content_type/DownloadableAssets/cfi_100_20011201.pdf
-+                      if (extp->MajorVersion < '1' ||
-+                          extp->MajorVersion > '1' ||
-+                          (extp->MajorVersion == '1' && ( extp->MinorVersion < '0' || extp->MinorVersion > '3'))) {
-                               printk(KERN_ERR "  Unknown Amd/Fujitsu Extended Query "
--                                     "version %c.%c.\n",  extp->MajorVersion,
--                                     extp->MinorVersion);
-+                                     "version %c.%c (0x%02x/0x%02x).\n",
-+                                     extp->MajorVersion, extp->MinorVersion,
-+                                     extp->MajorVersion, extp->MinorVersion);
-                               kfree(extp);
-                               kfree(mtd);
-                               return NULL;
-                       }
-+                      printk("  Amd/Fujitsu Extended Query version %c.%c.\n",
-+                             extp->MajorVersion, extp->MinorVersion);
-+
-                       /* Install our own private info structure */
-                       cfi->cmdset_priv = extp;