From 297b9756bca9f1de4fd5b33d076049c65287ec07 Mon Sep 17 00:00:00 2001 From: "Alexandros C. Couloumbis" Date: Mon, 8 Nov 2010 18:28:07 +0000 Subject: linux/generic: add some missing patches, refresh patches SVN-Revision: 23931 --- .../patches-2.6.36/009-decompress_unlzo_fix.patch | 23 ++++++++++++++ .../014-cfi_show_amd_extended_table_version.patch | 30 ++++++++++++++++++ .../patches-2.6.36/089-mtd-samsung-flash.patch | 37 ++++++++++++++++++++++ 3 files changed, 90 insertions(+) create mode 100644 target/linux/generic/patches-2.6.36/009-decompress_unlzo_fix.patch create mode 100644 target/linux/generic/patches-2.6.36/014-cfi_show_amd_extended_table_version.patch create mode 100644 target/linux/generic/patches-2.6.36/089-mtd-samsung-flash.patch (limited to 'target/linux/generic/patches-2.6.36') 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 0000000000..37e322ad8c --- /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 + #include ++#include + #include + + #include 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 0000000000..55a6c2e7d3 --- /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 0000000000..1d13d4ed5b --- /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) -- cgit v1.2.3