summaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-2.6.36
diff options
context:
space:
mode:
authoracoul <acoul@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-11-08 18:28:07 +0000
committeracoul <acoul@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-11-08 18:28:07 +0000
commit929a8c4e3fdbc1763a917e2b698396fc694f3470 (patch)
tree52f15527337d5571fff82abb0680af948bd7ef7b /target/linux/generic/patches-2.6.36
parent4985520c4747ab2b1ab64d4a5a2d2014c49c5ef1 (diff)
linux/generic: add some missing patches, refresh patches
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23931 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/generic/patches-2.6.36')
-rw-r--r--target/linux/generic/patches-2.6.36/009-decompress_unlzo_fix.patch23
-rw-r--r--target/linux/generic/patches-2.6.36/014-cfi_show_amd_extended_table_version.patch30
-rw-r--r--target/linux/generic/patches-2.6.36/089-mtd-samsung-flash.patch37
3 files changed, 90 insertions, 0 deletions
diff --git a/target/linux/generic/patches-2.6.36/009-decompress_unlzo_fix.patch b/target/linux/generic/patches-2.6.36/009-decompress_unlzo_fix.patch
new file mode 100644
index 000000000..37e322ad8
--- /dev/null
+++ b/target/linux/generic/patches-2.6.36/009-decompress_unlzo_fix.patch
@@ -0,0 +1,23 @@
+--- /dev/null
++++ b/include/linux/decompress/unlzo_mm.h
+@@ -0,0 +1,10 @@
++#ifndef UNLZO_MM_H
++#define UNLZO_MM_H
++
++#ifdef STATIC
++#define INIT
++#else
++#define INIT __init
++#endif
++
++#endif
+--- a/lib/decompress_unlzo.c
++++ b/lib/decompress_unlzo.c
+@@ -39,6 +39,7 @@
+
+ #include <linux/types.h>
+ #include <linux/lzo.h>
++#include <linux/decompress/unlzo_mm.h>
+ #include <linux/decompress/mm.h>
+
+ #include <linux/compiler.h>
diff --git a/target/linux/generic/patches-2.6.36/014-cfi_show_amd_extended_table_version.patch b/target/linux/generic/patches-2.6.36/014-cfi_show_amd_extended_table_version.patch
new file mode 100644
index 000000000..55a6c2e7d
--- /dev/null
+++ b/target/linux/generic/patches-2.6.36/014-cfi_show_amd_extended_table_version.patch
@@ -0,0 +1,30 @@
+--- a/drivers/mtd/chips/cfi_cmdset_0002.c
++++ b/drivers/mtd/chips/cfi_cmdset_0002.c
+@@ -371,6 +371,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';
+@@ -403,6 +405,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;
+@@ -420,7 +425,7 @@ struct mtd_info *cfi_cmdset_0002(struct
+ * Valid primary extension versions are: 1.0, 1.1, 1.2, 1.3, 1.4
+ * see: http://www.amd.com/us-en/assets/content_type/DownloadableAssets/cfi_r20.pdf, page 19
+ * http://www.amd.com/us-en/assets/content_type/DownloadableAssets/cfi_100_20011201.pdf
+- * http://www.spansion.com/Support/Datasheets/s29ws-p_00_a12_e.pdf
++ * http://www.spansion.com/Support/AppNotes/CFI_Spec_AN_03.pdf
+ */
+ if (extp->MajorVersion != '1' ||
+ (extp->MajorVersion == '1' && (extp->MinorVersion < '0' || extp->MinorVersion > '4'))) {
diff --git a/target/linux/generic/patches-2.6.36/089-mtd-samsung-flash.patch b/target/linux/generic/patches-2.6.36/089-mtd-samsung-flash.patch
new file mode 100644
index 000000000..1d13d4ed5
--- /dev/null
+++ b/target/linux/generic/patches-2.6.36/089-mtd-samsung-flash.patch
@@ -0,0 +1,37 @@
+--- a/drivers/mtd/chips/cfi_cmdset_0002.c
++++ b/drivers/mtd/chips/cfi_cmdset_0002.c
+@@ -373,9 +373,32 @@ static void cfi_fixup_major_minor(struct
+ {
+ // manufacturers defined in include/linux/mtd/cfi.h
+
+- if (cfi->mfr == CFI_MFR_SAMSUNG && cfi->id == 0x257e &&
+- extp->MajorVersion == '0')
++ if (cfi->mfr == CFI_MFR_SAMSUNG &&
++ extp->MajorVersion == '0') {
++ printk(" Fixed Samsung's Amd/Fujitsu Extended Query version from %c.%c",
++ extp->MajorVersion, extp->MinorVersion);
++
+ extp->MajorVersion = '1';
++ extp->MinorVersion = '0';
++
++ printk(" to %c.%c.\n",
++ extp->MajorVersion, extp->MinorVersion);
++ }
++
++ if (cfi->mfr == CFI_MFR_SAMSUNG &&
++ extp->MajorVersion == '3' && extp->MinorVersion == '3') {
++ printk(KERN_NOTICE " Newer Samsung flash detected, "
++ "should be compatibile with Amd/Fujitsu.\n");
++
++ printk(" Fixed Samsung's Amd/Fujitsu Extended Query version from %c.%c",
++ extp->MajorVersion, extp->MinorVersion);
++
++ extp->MajorVersion = '1'; // set to 1.3 (last defined version)
++ extp->MinorVersion = '3';
++
++ printk(" to %c.%c.\n",
++ extp->MajorVersion, extp->MinorVersion);
++ }
+ }
+
+ struct mtd_info *cfi_cmdset_0002(struct map_info *map, int primary)