From: Alexandros C. Couloumbis Date: Tue, 5 Oct 2010 08:50:54 +0000 (+0000) Subject: linux/generic: refresh 2.6.36 kernel patches X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=11c45f64fe699fc2dd97fa1a0015f28a7ba4f4da;p=openwrt%2Fstaging%2Fthess.git linux/generic: refresh 2.6.36 kernel patches SVN-Revision: 23237 --- diff --git a/target/linux/generic/patches-2.6.36/005-squashfs_revert_to_2.6.35.patch b/target/linux/generic/patches-2.6.36/005-squashfs_revert_to_2.6.35.patch index 3c0e56e4f8..7bf2f100ff 100644 --- a/target/linux/generic/patches-2.6.36/005-squashfs_revert_to_2.6.35.patch +++ b/target/linux/generic/patches-2.6.36/005-squashfs_revert_to_2.6.35.patch @@ -79,7 +79,7 @@ default n help --- a/fs/squashfs/lzo_wrapper.c -+++ b/fs/squashfs/lzo_wrapper.c ++++ /dev/null @@ -1,136 +0,0 @@ -/* - * Squashfs - a compressed read only filesystem for Linux diff --git a/target/linux/generic/patches-2.6.36/007-squashfs_make_lzma_available.patch b/target/linux/generic/patches-2.6.36/007-squashfs_make_lzma_available.patch index 6164446736..dc9a4f5ba1 100644 --- a/target/linux/generic/patches-2.6.36/007-squashfs_make_lzma_available.patch +++ b/target/linux/generic/patches-2.6.36/007-squashfs_make_lzma_available.patch @@ -107,7 +107,7 @@ Signed-off-by: Phillip Lougher +#endif --- a/lib/Kconfig +++ b/lib/Kconfig -@@ -121,6 +121,9 @@ config DECOMPRESS_LZO +@@ -124,6 +124,9 @@ config DECOMPRESS_LZO select LZO_DECOMPRESS tristate diff --git a/target/linux/generic/patches-2.6.36/008-jffs2_make_lzma_available.patch b/target/linux/generic/patches-2.6.36/008-jffs2_make_lzma_available.patch index 4b0e4c53d7..e6a30ea1ab 100644 --- a/target/linux/generic/patches-2.6.36/008-jffs2_make_lzma_available.patch +++ b/target/linux/generic/patches-2.6.36/008-jffs2_make_lzma_available.patch @@ -28,7 +28,7 @@ +CFLAGS_compr_lzma.o += -Iinclude/linux -Ilib/lzma --- a/fs/jffs2/compr.c +++ b/fs/jffs2/compr.c -@@ -319,6 +319,9 @@ int __init jffs2_compressors_init(void) +@@ -320,6 +320,9 @@ int __init jffs2_compressors_init(void) #ifdef CONFIG_JFFS2_LZO jffs2_lzo_init(); #endif @@ -38,7 +38,7 @@ /* Setting default compression mode */ #ifdef CONFIG_JFFS2_CMODE_NONE jffs2_compression_mode = JFFS2_COMPR_MODE_NONE; -@@ -342,6 +345,9 @@ int __init jffs2_compressors_init(void) +@@ -343,6 +346,9 @@ int __init jffs2_compressors_init(void) int jffs2_compressors_exit(void) { /* Unregistering compressors */ @@ -50,7 +50,7 @@ #endif --- a/fs/jffs2/compr.h +++ b/fs/jffs2/compr.h -@@ -28,9 +28,9 @@ +@@ -29,9 +29,9 @@ #define JFFS2_DYNRUBIN_PRIORITY 20 #define JFFS2_LZARI_PRIORITY 30 #define JFFS2_RTIME_PRIORITY 50 @@ -63,7 +63,7 @@ #define JFFS2_RUBINMIPS_DISABLED /* RUBINs will be used only */ #define JFFS2_DYNRUBIN_DISABLED /* for decompression */ -@@ -98,5 +98,9 @@ void jffs2_zlib_exit(void); +@@ -99,5 +99,9 @@ void jffs2_zlib_exit(void); int jffs2_lzo_init(void); void jffs2_lzo_exit(void); #endif @@ -253,7 +253,7 @@ sizeof(struct jffs2_inode_info), --- a/include/linux/jffs2.h +++ b/include/linux/jffs2.h -@@ -45,6 +45,7 @@ +@@ -46,6 +46,7 @@ #define JFFS2_COMPR_DYNRUBIN 0x05 #define JFFS2_COMPR_ZLIB 0x06 #define JFFS2_COMPR_LZO 0x07 @@ -1049,7 +1049,7 @@ +#endif --- a/lib/Kconfig +++ b/lib/Kconfig -@@ -103,6 +103,12 @@ config LZO_COMPRESS +@@ -106,6 +106,12 @@ config LZO_COMPRESS config LZO_DECOMPRESS tristate diff --git a/target/linux/generic/patches-2.6.36/012-extra_optimization.patch b/target/linux/generic/patches-2.6.36/012-extra_optimization.patch index b5f4f393af..27bb7691f8 100644 --- a/target/linux/generic/patches-2.6.36/012-extra_optimization.patch +++ b/target/linux/generic/patches-2.6.36/012-extra_optimization.patch @@ -1,6 +1,6 @@ --- a/Makefile +++ b/Makefile -@@ -532,7 +532,7 @@ all: vmlinux +@@ -537,7 +537,7 @@ all: vmlinux ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE KBUILD_CFLAGS += -Os else @@ -9,7 +9,7 @@ endif include $(srctree)/arch/$(SRCARCH)/Makefile -@@ -570,6 +570,9 @@ endif +@@ -579,6 +579,9 @@ endif NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include) CHECKFLAGS += $(NOSTDINC_FLAGS) diff --git a/target/linux/generic/patches-2.6.36/020-mips_multi_machine_support.patch b/target/linux/generic/patches-2.6.36/020-mips_multi_machine_support.patch index ca0c10b20d..be9b7c3211 100644 --- a/target/linux/generic/patches-2.6.36/020-mips_multi_machine_support.patch +++ b/target/linux/generic/patches-2.6.36/020-mips_multi_machine_support.patch @@ -146,7 +146,7 @@ +} --- a/arch/mips/kernel/Makefile +++ b/arch/mips/kernel/Makefile -@@ -94,6 +94,7 @@ obj-$(CONFIG_GPIO_TXX9) += gpio_txx9.o +@@ -95,6 +95,7 @@ obj-$(CONFIG_GPIO_TXX9) += gpio_txx9.o obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o obj-$(CONFIG_EARLY_PRINTK) += early_printk.o obj-$(CONFIG_SPINLOCK_TEST) += spinlock_test.o @@ -156,7 +156,7 @@ --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig -@@ -853,6 +853,9 @@ config MIPS_DISABLE_OBSOLETE_IDE +@@ -874,6 +874,9 @@ config MIPS_DISABLE_OBSOLETE_IDE config SYNC_R4K bool @@ -176,7 +176,7 @@ unsigned int vced_count, vcei_count; -@@ -31,8 +32,12 @@ static int show_cpuinfo(struct seq_file +@@ -31,8 +32,12 @@ static int show_cpuinfo(struct seq_file /* * For the first processor also print the system type */ diff --git a/target/linux/generic/patches-2.6.36/021-mips_image_cmdline_hack.patch b/target/linux/generic/patches-2.6.36/021-mips_image_cmdline_hack.patch index a304f0bcc7..74b7117884 100644 --- a/target/linux/generic/patches-2.6.36/021-mips_image_cmdline_hack.patch +++ b/target/linux/generic/patches-2.6.36/021-mips_image_cmdline_hack.patch @@ -1,6 +1,6 @@ --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig -@@ -856,6 +856,10 @@ config SYNC_R4K +@@ -877,6 +877,10 @@ config SYNC_R4K config MIPS_MACHINE def_bool n diff --git a/target/linux/generic/patches-2.6.36/025-mips_disable_fpu.patch b/target/linux/generic/patches-2.6.36/025-mips_disable_fpu.patch index dd799c5c47..8e37f6ccec 100644 --- a/target/linux/generic/patches-2.6.36/025-mips_disable_fpu.patch +++ b/target/linux/generic/patches-2.6.36/025-mips_disable_fpu.patch @@ -8,7 +8,7 @@ Signed-off-by: Florian Fainelli -- --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig -@@ -841,6 +841,17 @@ config I8259 +@@ -862,6 +862,17 @@ config I8259 config MIPS_BONITO64 bool @@ -28,7 +28,7 @@ Signed-off-by: Florian Fainelli --- a/arch/mips/math-emu/Makefile +++ b/arch/mips/math-emu/Makefile -@@ -2,12 +2,14 @@ +@@ -2,11 +2,13 @@ # Makefile for the Linux/MIPS kernel FPU emulation. # @@ -44,7 +44,6 @@ Signed-off-by: Florian Fainelli - dp_sqrt.o sp_sqrt.o kernel_linkage.o dsemul.o + dp_sqrt.o sp_sqrt.o - EXTRA_CFLAGS += -Werror --- a/arch/mips/math-emu/cp1emu.c +++ b/arch/mips/math-emu/cp1emu.c @@ -58,7 +58,11 @@ diff --git a/target/linux/generic/patches-2.6.36/028-module_exports.patch b/target/linux/generic/patches-2.6.36/028-module_exports.patch index 2b7460236a..437ba14da0 100644 --- a/target/linux/generic/patches-2.6.36/028-module_exports.patch +++ b/target/linux/generic/patches-2.6.36/028-module_exports.patch @@ -28,7 +28,7 @@ #ifndef SYMBOL_PREFIX #define VMLINUX_SYMBOL(sym) sym #else -@@ -268,35 +289,35 @@ +@@ -264,35 +285,35 @@ /* Kernel symbol table: Normal symbols */ \ __ksymtab : AT(ADDR(__ksymtab) - LOAD_OFFSET) { \ VMLINUX_SYMBOL(__start___ksymtab) = .; \ @@ -69,7 +69,7 @@ VMLINUX_SYMBOL(__stop___ksymtab_gpl_future) = .; \ } \ \ -@@ -337,7 +358,7 @@ +@@ -333,7 +354,7 @@ \ /* Kernel symbol table: strings */ \ __ksymtab_strings : AT(ADDR(__ksymtab_strings) - LOAD_OFFSET) { \ @@ -78,7 +78,7 @@ } \ \ /* __*init sections */ \ -@@ -652,6 +673,9 @@ +@@ -648,6 +669,9 @@ EXIT_TEXT \ EXIT_DATA \ EXIT_CALL \ @@ -86,8 +86,8 @@ + SYMTAB_DISCARD_GPL \ + SYMTAB_DISCARD_STR \ *(.discard) \ + *(.discard.*) \ } - --- a/include/linux/module.h +++ b/include/linux/module.h @@ -202,16 +202,24 @@ struct module_use { diff --git a/target/linux/generic/patches-2.6.36/029-arm_module_unresolved_weak_sym.patch b/target/linux/generic/patches-2.6.36/029-arm_module_unresolved_weak_sym.patch index 8a3b2e23cb..1cfd216ee1 100644 --- a/target/linux/generic/patches-2.6.36/029-arm_module_unresolved_weak_sym.patch +++ b/target/linux/generic/patches-2.6.36/029-arm_module_unresolved_weak_sym.patch @@ -1,6 +1,6 @@ --- a/arch/arm/kernel/module.c +++ b/arch/arm/kernel/module.c -@@ -121,6 +121,10 @@ apply_relocate(Elf32_Shdr *sechdrs, cons +@@ -123,6 +123,10 @@ apply_relocate(Elf32_Shdr *sechdrs, cons return -ENOEXEC; } diff --git a/target/linux/generic/patches-2.6.36/030-pci_disable_common_quirks.patch b/target/linux/generic/patches-2.6.36/030-pci_disable_common_quirks.patch index 0f4789a704..282ef68814 100644 --- a/target/linux/generic/patches-2.6.36/030-pci_disable_common_quirks.patch +++ b/target/linux/generic/patches-2.6.36/030-pci_disable_common_quirks.patch @@ -15,15 +15,15 @@ default y --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c -@@ -91,6 +91,7 @@ static void __devinit quirk_resource_ali +@@ -104,6 +104,7 @@ static void __devinit quirk_mmio_always_ } - DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, quirk_resource_alignment); + DECLARE_PCI_FIXUP_EARLY(PCI_ANY_ID, PCI_ANY_ID, quirk_mmio_always_on); +#ifndef CONFIG_PCI_DISABLE_COMMON_QUIRKS /* The Mellanox Tavor device gives false positive parity errors * Mark this device with a broken_parity_status, to allow * PCI scanning code to "skip" this now blacklisted device. -@@ -1904,7 +1905,9 @@ static void __devinit fixup_rev1_53c810( +@@ -1923,7 +1924,9 @@ static void __devinit fixup_rev1_53c810( } } DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NCR, PCI_DEVICE_ID_NCR_53C810, fixup_rev1_53c810); @@ -33,7 +33,7 @@ /* Enable 1k I/O space granularity on the Intel P64H2 */ static void __devinit quirk_p64h2_1k_io(struct pci_dev *dev) { -@@ -2560,6 +2563,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I +@@ -2596,6 +2599,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x1518, quirk_i82576_sriov); #endif /* CONFIG_PCI_IOV */ diff --git a/target/linux/generic/patches-2.6.36/031-ppc_gcc_build_fix.patch b/target/linux/generic/patches-2.6.36/031-ppc_gcc_build_fix.patch index b76709c4e4..68353ed8aa 100644 --- a/target/linux/generic/patches-2.6.36/031-ppc_gcc_build_fix.patch +++ b/target/linux/generic/patches-2.6.36/031-ppc_gcc_build_fix.patch @@ -26,7 +26,7 @@ nice. --- a/arch/powerpc/kernel/misc_32.S +++ b/arch/powerpc/kernel/misc_32.S -@@ -822,3 +822,80 @@ relocate_new_kernel_end: +@@ -825,3 +825,80 @@ relocate_new_kernel_end: relocate_new_kernel_size: .long relocate_new_kernel_end - relocate_new_kernel #endif @@ -109,7 +109,7 @@ nice. +#endif --- a/arch/powerpc/kernel/ppc_ksyms.c +++ b/arch/powerpc/kernel/ppc_ksyms.c -@@ -190,3 +190,114 @@ EXPORT_SYMBOL(__mtdcr); +@@ -186,3 +186,114 @@ EXPORT_SYMBOL(__mtdcr); EXPORT_SYMBOL(__mfdcr); #endif EXPORT_SYMBOL(empty_zero_page); diff --git a/target/linux/generic/patches-2.6.36/060-block2mtd_init.patch b/target/linux/generic/patches-2.6.36/060-block2mtd_init.patch index 6ff88dd306..85abe7efae 100644 --- a/target/linux/generic/patches-2.6.36/060-block2mtd_init.patch +++ b/target/linux/generic/patches-2.6.36/060-block2mtd_init.patch @@ -105,7 +105,7 @@ { --- a/fs/partitions/check.c +++ b/fs/partitions/check.c -@@ -677,6 +677,7 @@ rescan: +@@ -690,6 +690,7 @@ rescan: kfree(state); return 0; } diff --git a/target/linux/generic/patches-2.6.36/065-rootfs_split.patch b/target/linux/generic/patches-2.6.36/065-rootfs_split.patch index 43292bfd32..fac77f59f3 100644 --- a/target/linux/generic/patches-2.6.36/065-rootfs_split.patch +++ b/target/linux/generic/patches-2.6.36/065-rootfs_split.patch @@ -570,7 +570,7 @@ ret = -ENOTTY; --- a/include/linux/mtd/mtd.h +++ b/include/linux/mtd/mtd.h -@@ -98,6 +98,7 @@ struct mtd_oob_ops { +@@ -110,6 +110,7 @@ struct mtd_oob_ops { uint8_t *oobbuf; }; @@ -578,7 +578,7 @@ struct mtd_info { u_char type; uint32_t flags; -@@ -238,6 +239,9 @@ struct mtd_info { +@@ -251,6 +252,9 @@ struct mtd_info { struct device dev; int usecount; diff --git a/target/linux/generic/patches-2.6.36/070-redboot_space.patch b/target/linux/generic/patches-2.6.36/070-redboot_space.patch index 6ace83c01a..fb6700b07e 100644 --- a/target/linux/generic/patches-2.6.36/070-redboot_space.patch +++ b/target/linux/generic/patches-2.6.36/070-redboot_space.patch @@ -1,6 +1,6 @@ --- a/drivers/mtd/redboot.c +++ b/drivers/mtd/redboot.c -@@ -249,14 +249,21 @@ static int parse_redboot_partitions(stru +@@ -267,14 +267,21 @@ static int parse_redboot_partitions(stru #endif names += strlen(names)+1; diff --git a/target/linux/generic/patches-2.6.36/071-redboot_boardconfig.patch b/target/linux/generic/patches-2.6.36/071-redboot_boardconfig.patch index f9bc4fe36b..9188cee29c 100644 --- a/target/linux/generic/patches-2.6.36/071-redboot_boardconfig.patch +++ b/target/linux/generic/patches-2.6.36/071-redboot_boardconfig.patch @@ -1,6 +1,6 @@ --- a/drivers/mtd/redboot.c +++ b/drivers/mtd/redboot.c -@@ -11,6 +11,8 @@ +@@ -29,6 +29,8 @@ #include #include @@ -9,7 +9,7 @@ struct fis_image_desc { unsigned char name[16]; // Null terminated name uint32_t flash_base; // Address within FLASH of image -@@ -41,6 +43,7 @@ static int parse_redboot_partitions(stru +@@ -59,6 +61,7 @@ static int parse_redboot_partitions(stru struct mtd_partition **pparts, unsigned long fis_origin) { @@ -17,7 +17,7 @@ int nrparts = 0; struct fis_image_desc *buf; struct mtd_partition *parts; -@@ -209,14 +212,14 @@ static int parse_redboot_partitions(stru +@@ -227,14 +230,14 @@ static int parse_redboot_partitions(stru } } #endif @@ -34,7 +34,7 @@ #ifdef CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED if (nulllen > 0) { strcpy(nullname, nullstring); -@@ -235,6 +238,8 @@ static int parse_redboot_partitions(stru +@@ -253,6 +256,8 @@ static int parse_redboot_partitions(stru } #endif for ( ; iimg->size; parts[i].offset = fl->img->flash_base; parts[i].name = names; -@@ -268,6 +273,14 @@ static int parse_redboot_partitions(stru +@@ -286,6 +291,14 @@ static int parse_redboot_partitions(stru fl = fl->next; kfree(tmp_fl); } diff --git a/target/linux/generic/patches-2.6.36/080-mtd_plat_nand_chip_fixup.patch b/target/linux/generic/patches-2.6.36/080-mtd_plat_nand_chip_fixup.patch index f242fce377..d1e53db637 100644 --- a/target/linux/generic/patches-2.6.36/080-mtd_plat_nand_chip_fixup.patch +++ b/target/linux/generic/patches-2.6.36/080-mtd_plat_nand_chip_fixup.patch @@ -5,7 +5,7 @@ --- a/include/linux/mtd/nand.h +++ b/include/linux/mtd/nand.h -@@ -512,6 +512,7 @@ struct platform_nand_chip { +@@ -510,6 +510,7 @@ struct platform_nand_chip { int chip_delay; unsigned int options; const char **part_probe_types; @@ -15,7 +15,7 @@ void *priv; --- a/drivers/mtd/nand/plat_nand.c +++ b/drivers/mtd/nand/plat_nand.c -@@ -91,7 +91,18 @@ static int __devinit plat_nand_probe(str +@@ -96,7 +96,18 @@ static int __devinit plat_nand_probe(str } /* Scan to find existance of the device */ diff --git a/target/linux/generic/patches-2.6.36/100-netfilter_layer7_2.21.patch b/target/linux/generic/patches-2.6.36/100-netfilter_layer7_2.21.patch index fa1274c3b9..c2097dd810 100644 --- a/target/linux/generic/patches-2.6.36/100-netfilter_layer7_2.21.patch +++ b/target/linux/generic/patches-2.6.36/100-netfilter_layer7_2.21.patch @@ -41,7 +41,7 @@ --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -921,6 +921,27 @@ config NETFILTER_XT_MATCH_STATE +@@ -946,6 +946,27 @@ config NETFILTER_XT_MATCH_STATE To compile it as a module, choose M here. If unsure, say N. @@ -71,7 +71,7 @@ depends on NETFILTER_ADVANCED --- a/net/netfilter/Makefile +++ b/net/netfilter/Makefile -@@ -91,6 +91,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_RECENT) +@@ -95,6 +95,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_RECENT) obj-$(CONFIG_NETFILTER_XT_MATCH_SCTP) += xt_sctp.o obj-$(CONFIG_NETFILTER_XT_MATCH_SOCKET) += xt_socket.o obj-$(CONFIG_NETFILTER_XT_MATCH_STATE) += xt_state.o diff --git a/target/linux/generic/patches-2.6.36/110-netfilter_match_speedup.patch b/target/linux/generic/patches-2.6.36/110-netfilter_match_speedup.patch index 7affbb1221..b146502f01 100644 --- a/target/linux/generic/patches-2.6.36/110-netfilter_match_speedup.patch +++ b/target/linux/generic/patches-2.6.36/110-netfilter_match_speedup.patch @@ -124,7 +124,7 @@ pr_debug("Entering %s(hook %u); sp at %u (UF %p)\n", table->name, hook, origptr, get_entry(table_base, private->underflow[hook])); -@@ -970,6 +1010,7 @@ copy_entries_to_user(unsigned int total_ +@@ -974,6 +1014,7 @@ copy_entries_to_user(unsigned int total_ unsigned int i; const struct ipt_entry_match *m; const struct ipt_entry_target *t; @@ -132,10 +132,11 @@ e = (struct ipt_entry *)(loc_cpu_entry + off); if (copy_to_user(userptr + off -@@ -980,6 +1021,14 @@ copy_entries_to_user(unsigned int total_ +@@ -983,6 +1024,14 @@ copy_entries_to_user(unsigned int total_ + ret = -EFAULT; goto free_counters; } - ++ + flags = e->ip.flags & ~IPT_F_NO_DEF_MATCH; + if (copy_to_user(userptr + off + + offsetof(struct ipt_entry, ip.flags), @@ -143,7 +144,6 @@ + ret = -EFAULT; + goto free_counters; + } -+ + for (i = sizeof(struct ipt_entry); i < e->target_offset; - i += m->u.match_size) { diff --git a/target/linux/generic/patches-2.6.36/180-netfilter_depends.patch b/target/linux/generic/patches-2.6.36/180-netfilter_depends.patch index 5532e2b350..65c4d44c2b 100644 --- a/target/linux/generic/patches-2.6.36/180-netfilter_depends.patch +++ b/target/linux/generic/patches-2.6.36/180-netfilter_depends.patch @@ -1,6 +1,6 @@ --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -173,7 +173,6 @@ config NF_CONNTRACK_FTP +@@ -152,7 +152,6 @@ config NF_CONNTRACK_FTP config NF_CONNTRACK_H323 tristate "H.323 protocol support" @@ -8,7 +8,7 @@ depends on NETFILTER_ADVANCED help H.323 is a VoIP signalling protocol from ITU-T. As one of the most -@@ -550,7 +549,6 @@ config NETFILTER_XT_TARGET_SECMARK +@@ -557,7 +556,6 @@ config NETFILTER_XT_TARGET_SECMARK config NETFILTER_XT_TARGET_TCPMSS tristate '"TCPMSS" target support' diff --git a/target/linux/generic/patches-2.6.36/190-netfilter_rtsp.patch b/target/linux/generic/patches-2.6.36/190-netfilter_rtsp.patch index e7fcefeb37..7f1a9d80d4 100644 --- a/target/linux/generic/patches-2.6.36/190-netfilter_rtsp.patch +++ b/target/linux/generic/patches-2.6.36/190-netfilter_rtsp.patch @@ -304,7 +304,7 @@ obj-$(CONFIG_NF_NAT_SNMP_BASIC) += nf_nat_snmp_basic.o --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -280,6 +280,16 @@ config NF_CONNTRACK_TFTP +@@ -259,6 +259,16 @@ config NF_CONNTRACK_TFTP To compile it as a module, choose M here. If unsure, say N. diff --git a/target/linux/generic/patches-2.6.36/202-mips_mem_functions_performance.patch b/target/linux/generic/patches-2.6.36/202-mips_mem_functions_performance.patch index 6ea9ba51ee..e4324717b4 100644 --- a/target/linux/generic/patches-2.6.36/202-mips_mem_functions_performance.patch +++ b/target/linux/generic/patches-2.6.36/202-mips_mem_functions_performance.patch @@ -1,6 +1,6 @@ --- a/arch/mips/include/asm/string.h +++ b/arch/mips/include/asm/string.h -@@ -133,11 +133,44 @@ strncmp(__const__ char *__cs, __const__ +@@ -133,11 +133,44 @@ strncmp(__const__ char *__cs, __const__ #define __HAVE_ARCH_MEMSET extern void *memset(void *__s, int __c, size_t __count); diff --git a/target/linux/generic/patches-2.6.36/203-slab_maxsize.patch b/target/linux/generic/patches-2.6.36/203-slab_maxsize.patch index 83fd6c3099..fe8cecfc77 100644 --- a/target/linux/generic/patches-2.6.36/203-slab_maxsize.patch +++ b/target/linux/generic/patches-2.6.36/203-slab_maxsize.patch @@ -1,6 +1,6 @@ --- a/include/linux/slab.h +++ b/include/linux/slab.h -@@ -130,8 +130,8 @@ int kmem_ptr_validate(struct kmem_cache +@@ -130,8 +130,8 @@ int kmem_ptr_validate(struct kmem_cache * to do various tricks to work around compiler limitations in order to * ensure proper constant folding. */ diff --git a/target/linux/generic/patches-2.6.36/204-jffs2_eofdetect.patch b/target/linux/generic/patches-2.6.36/204-jffs2_eofdetect.patch index c2bb20883e..c973766d32 100644 --- a/target/linux/generic/patches-2.6.36/204-jffs2_eofdetect.patch +++ b/target/linux/generic/patches-2.6.36/204-jffs2_eofdetect.patch @@ -1,6 +1,6 @@ --- a/fs/jffs2/build.c +++ b/fs/jffs2/build.c -@@ -111,6 +111,17 @@ static int jffs2_build_filesystem(struct +@@ -112,6 +112,17 @@ static int jffs2_build_filesystem(struct dbg_fsbuild("scanned flash completely\n"); jffs2_dbg_dump_block_lists_nolock(c); diff --git a/target/linux/generic/patches-2.6.36/209-mini_fo.patch b/target/linux/generic/patches-2.6.36/209-mini_fo.patch index 10900b4e18..d7e3220d24 100644 --- a/target/linux/generic/patches-2.6.36/209-mini_fo.patch +++ b/target/linux/generic/patches-2.6.36/209-mini_fo.patch @@ -7492,7 +7492,7 @@ + --- /dev/null +++ b/fs/mini_fo/super.c -@@ -0,0 +1,285 @@ +@@ -0,0 +1,281 @@ +/* + * Copyright (c) 1997-2003 Erez Zadok + * Copyright (c) 2001-2003 Stony Brook University @@ -7665,11 +7665,7 @@ + struct dentry *hidden_d; + + hidden_d = dtohd(d); -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36) -+ err = statfs_by_dentry(hidden_d, buf); -+#else + err = vfs_statfs(hidden_d, buf); -+#endif +#else + super_block_t *hidden_sb; + diff --git a/target/linux/generic/patches-2.6.36/210-mini_fo_2.6.25_fixes.patch b/target/linux/generic/patches-2.6.36/210-mini_fo_2.6.25_fixes.patch index d71e3b6faa..b64630d500 100644 --- a/target/linux/generic/patches-2.6.36/210-mini_fo_2.6.25_fixes.patch +++ b/target/linux/generic/patches-2.6.36/210-mini_fo_2.6.25_fixes.patch @@ -61,7 +61,7 @@ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) extern int mini_fo_create(inode_t *dir, dentry_t *dentry, int mode, struct nameidata *nd); -@@ -501,6 +505,29 @@ static inline void double_unlock(struct +@@ -501,6 +505,29 @@ static inline void double_unlock(struct #endif /* if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) */ #endif /* __KERNEL__ */ @@ -127,7 +127,7 @@ #endif /* defined(FIST_DEBUG) || defined(FIST_FILTER_SCA) */ --- a/fs/mini_fo/aux.c +++ b/fs/mini_fo/aux.c -@@ -164,11 +164,11 @@ dentry_t *bpath_walk(super_block_t *sb, +@@ -164,11 +164,11 @@ dentry_t *bpath_walk(super_block_t *sb, err = vfs_path_lookup(mnt->mnt_root, mnt, bpath+1, 0, &nd); /* validate */ diff --git a/target/linux/generic/patches-2.6.36/212-mini_fo_2.6.26_fixes.patch b/target/linux/generic/patches-2.6.36/212-mini_fo_2.6.26_fixes.patch index 8bd9ba3244..b5fa64e6a1 100644 --- a/target/linux/generic/patches-2.6.36/212-mini_fo_2.6.26_fixes.patch +++ b/target/linux/generic/patches-2.6.36/212-mini_fo_2.6.26_fixes.patch @@ -1,6 +1,6 @@ --- a/fs/mini_fo/super.c +++ b/fs/mini_fo/super.c -@@ -84,6 +84,7 @@ mini_fo_write_inode(inode_t *inode, int +@@ -84,6 +84,7 @@ mini_fo_write_inode(inode_t *inode, int #endif /* defined(FIST_DEBUG) || defined(FIST_FILTER_SCA) */ diff --git a/target/linux/generic/patches-2.6.36/222-partial_eraseblock_write.patch b/target/linux/generic/patches-2.6.36/222-partial_eraseblock_write.patch index 59cc19723c..f4031b66bd 100644 --- a/target/linux/generic/patches-2.6.36/222-partial_eraseblock_write.patch +++ b/target/linux/generic/patches-2.6.36/222-partial_eraseblock_write.patch @@ -1,6 +1,6 @@ --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c -@@ -21,6 +21,8 @@ +@@ -32,6 +32,8 @@ #include #include @@ -9,7 +9,7 @@ /* Our partition linked list */ static LIST_HEAD(mtd_partitions); -@@ -226,13 +228,60 @@ static int part_erase(struct mtd_info *m +@@ -237,13 +239,60 @@ static int part_erase(struct mtd_info *m return -EROFS; if (instr->addr >= mtd->size) return -EINVAL; @@ -70,7 +70,7 @@ return ret; } -@@ -240,7 +289,25 @@ void mtd_erase_callback(struct erase_inf +@@ -251,7 +300,25 @@ void mtd_erase_callback(struct erase_inf { if (instr->mtd->erase == part_erase) { struct mtd_part *part = PART(instr->mtd); @@ -96,7 +96,7 @@ if (instr->fail_addr != MTD_FAIL_ADDR_UNKNOWN) instr->fail_addr -= part->offset; instr->addr -= part->offset; -@@ -473,18 +540,24 @@ static struct mtd_part *add_one_partitio +@@ -494,18 +561,24 @@ static struct mtd_part *add_one_partitio if ((slave->mtd.flags & MTD_WRITEABLE) && mtd_mod_by_eb(slave->offset, &slave->mtd)) { /* Doesn't start on a boundary of major erase size */ @@ -133,7 +133,7 @@ if (master->block_isbad) { --- a/include/linux/mtd/mtd.h +++ b/include/linux/mtd/mtd.h -@@ -45,6 +45,10 @@ struct erase_info { +@@ -57,6 +57,10 @@ struct erase_info { u_long priv; u_char state; struct erase_info *next; diff --git a/target/linux/generic/patches-2.6.36/223-kobject-add-broadcast_uevent.patch b/target/linux/generic/patches-2.6.36/223-kobject-add-broadcast_uevent.patch index 7f50a199d4..cfe96f194e 100644 --- a/target/linux/generic/patches-2.6.36/223-kobject-add-broadcast_uevent.patch +++ b/target/linux/generic/patches-2.6.36/223-kobject-add-broadcast_uevent.patch @@ -20,7 +20,7 @@ #else static inline int kobject_uevent(struct kobject *kobj, enum kobject_action action) -@@ -229,6 +235,16 @@ static inline int add_uevent_var(struct +@@ -229,6 +235,16 @@ static inline int add_uevent_var(struct static inline int kobject_action_type(const char *buf, size_t count, enum kobject_action *type) { return -EINVAL; } diff --git a/target/linux/generic/patches-2.6.36/240-packet_socket_type.patch b/target/linux/generic/patches-2.6.36/240-packet_socket_type.patch index 31a0c0114c..204512ff11 100644 --- a/target/linux/generic/patches-2.6.36/240-packet_socket_type.patch +++ b/target/linux/generic/patches-2.6.36/240-packet_socket_type.patch @@ -26,15 +26,15 @@ Signed-off-by: Felix Fietkau unsigned int tp_packets; --- a/net/packet/af_packet.c +++ b/net/packet/af_packet.c -@@ -203,6 +203,7 @@ struct packet_sock { - unsigned int tp_reserve; +@@ -205,6 +205,7 @@ struct packet_sock { unsigned int tp_loss:1; + unsigned int tp_tstamp; struct packet_type prot_hook ____cacheline_aligned_in_smp; + unsigned int pkt_type; }; struct packet_skb_cb { -@@ -339,6 +340,7 @@ static int packet_rcv_spkt(struct sk_buf +@@ -341,6 +342,7 @@ static int packet_rcv_spkt(struct sk_buf { struct sock *sk; struct sockaddr_pkt *spkt; @@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau /* * When we registered the protocol we saved the socket in the data -@@ -346,6 +348,7 @@ static int packet_rcv_spkt(struct sk_buf +@@ -348,6 +350,7 @@ static int packet_rcv_spkt(struct sk_buf */ sk = pt->af_packet_priv; @@ -50,7 +50,7 @@ Signed-off-by: Felix Fietkau /* * Yank back the headers [hope the device set this -@@ -358,7 +361,7 @@ static int packet_rcv_spkt(struct sk_buf +@@ -360,7 +363,7 @@ static int packet_rcv_spkt(struct sk_buf * so that this procedure is noop. */ @@ -59,7 +59,7 @@ Signed-off-by: Felix Fietkau goto out; if (!net_eq(dev_net(dev), sock_net(sk))) -@@ -537,12 +540,12 @@ static int packet_rcv(struct sk_buff *sk +@@ -539,12 +542,12 @@ static int packet_rcv(struct sk_buff *sk int skb_len = skb->len; unsigned int snaplen, res; @@ -75,9 +75,9 @@ Signed-off-by: Felix Fietkau if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -657,12 +660,12 @@ static int tpacket_rcv(struct sk_buff *s - struct timeval tv; +@@ -660,12 +663,12 @@ static int tpacket_rcv(struct sk_buff *s struct timespec ts; + struct skb_shared_hwtstamps *shhwtstamps = skb_hwtstamps(skb); - if (skb->pkt_type == PACKET_LOOPBACK) - goto drop; @@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -1473,6 +1476,7 @@ static int packet_create(struct net *net +@@ -1488,6 +1491,7 @@ static int packet_create(struct net *net spin_lock_init(&po->bind_lock); mutex_init(&po->pg_vec_lock); po->prot_hook.func = packet_rcv; @@ -99,8 +99,8 @@ Signed-off-by: Felix Fietkau if (sock->type == SOCK_PACKET) po->prot_hook.func = packet_rcv_spkt; -@@ -2027,6 +2031,16 @@ packet_setsockopt(struct socket *sock, i - po->has_vnet_hdr = !!val; +@@ -2054,6 +2058,16 @@ packet_setsockopt(struct socket *sock, i + po->tp_tstamp = val; return 0; } + case PACKET_RECV_TYPE: @@ -116,7 +116,7 @@ Signed-off-by: Felix Fietkau default: return -ENOPROTOOPT; } -@@ -2084,6 +2098,13 @@ static int packet_getsockopt(struct sock +@@ -2111,6 +2125,13 @@ static int packet_getsockopt(struct sock data = &val; break; diff --git a/target/linux/generic/patches-2.6.36/250-pppoe_header_pad.patch b/target/linux/generic/patches-2.6.36/250-pppoe_header_pad.patch index 147b28366a..4875d5f23f 100644 --- a/target/linux/generic/patches-2.6.36/250-pppoe_header_pad.patch +++ b/target/linux/generic/patches-2.6.36/250-pppoe_header_pad.patch @@ -1,6 +1,6 @@ --- a/drivers/net/pppoe.c +++ b/drivers/net/pppoe.c -@@ -856,7 +856,7 @@ static int pppoe_sendmsg(struct kiocb *i +@@ -855,7 +855,7 @@ static int pppoe_sendmsg(struct kiocb *i goto end; @@ -9,7 +9,7 @@ 0, GFP_KERNEL); if (!skb) { error = -ENOMEM; -@@ -864,7 +864,7 @@ static int pppoe_sendmsg(struct kiocb *i +@@ -863,7 +863,7 @@ static int pppoe_sendmsg(struct kiocb *i } /* Reserve space for headers. */ diff --git a/target/linux/generic/patches-2.6.36/260-crypto_optional_tests.patch b/target/linux/generic/patches-2.6.36/260-crypto_optional_tests.patch index 9273a0f554..38113dfa70 100644 --- a/target/linux/generic/patches-2.6.36/260-crypto_optional_tests.patch +++ b/target/linux/generic/patches-2.6.36/260-crypto_optional_tests.patch @@ -1,8 +1,8 @@ --- a/crypto/Kconfig +++ b/crypto/Kconfig -@@ -104,6 +104,10 @@ config CRYPTO_MANAGER_TESTS - Run cryptomanager's tests for the new crypto algorithms being - registered. +@@ -109,6 +109,10 @@ config CRYPTO_MANAGER_DISABLE_TESTS + Disable run-time self tests that normally take place at + algorithm registration. +config CRYPTO_MANAGER_NO_TESTS + bool "Disable internal testsuite to save space" @@ -43,7 +43,7 @@ +#endif /* CONFIG_CRYPTO_MANAGER_NO_TESTS */ } - #endif /* CONFIG_CRYPTO_MANAGER_TESTS */ + #endif /* CONFIG_CRYPTO_MANAGER_DISABLE_TESTS */ --- a/crypto/testmgr.h +++ b/crypto/testmgr.h @@ -20,6 +20,8 @@ diff --git a/target/linux/generic/patches-2.6.36/400-ledtrig_morse.patch b/target/linux/generic/patches-2.6.36/400-ledtrig_morse.patch index 9630940bfe..f3f342f866 100644 --- a/target/linux/generic/patches-2.6.36/400-ledtrig_morse.patch +++ b/target/linux/generic/patches-2.6.36/400-ledtrig_morse.patch @@ -1,6 +1,6 @@ --- a/drivers/leds/Kconfig +++ b/drivers/leds/Kconfig -@@ -371,4 +371,8 @@ endif # LEDS_TRIGGERS +@@ -380,4 +380,8 @@ endif # LEDS_TRIGGERS endif # LEDS_CLASS @@ -11,7 +11,7 @@ endif # NEW_LEDS --- a/drivers/leds/Makefile +++ b/drivers/leds/Makefile -@@ -48,3 +48,4 @@ obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) += +@@ -49,3 +49,4 @@ obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) += obj-$(CONFIG_LEDS_TRIGGER_BACKLIGHT) += ledtrig-backlight.o obj-$(CONFIG_LEDS_TRIGGER_GPIO) += ledtrig-gpio.o obj-$(CONFIG_LEDS_TRIGGER_DEFAULT_ON) += ledtrig-default-on.o diff --git a/target/linux/generic/patches-2.6.36/402-ledtrig_netdev.patch b/target/linux/generic/patches-2.6.36/402-ledtrig_netdev.patch index 28f1c68ba0..9679ce14aa 100644 --- a/target/linux/generic/patches-2.6.36/402-ledtrig_netdev.patch +++ b/target/linux/generic/patches-2.6.36/402-ledtrig_netdev.patch @@ -14,19 +14,16 @@ endif # NEW_LEDS --- a/drivers/leds/Makefile +++ b/drivers/leds/Makefile -@@ -50,3 +50,4 @@ obj-$(CONFIG_LEDS_TRIGGER_BACKLIGHT) += +@@ -50,3 +50,4 @@ obj-$(CONFIG_LEDS_TRIGGER_BACKLIGHT) += obj-$(CONFIG_LEDS_TRIGGER_GPIO) += ledtrig-gpio.o obj-$(CONFIG_LEDS_TRIGGER_DEFAULT_ON) += ledtrig-default-on.o obj-$(CONFIG_LEDS_TRIGGER_MORSE) += ledtrig-morse.o +obj-$(CONFIG_LEDS_TRIGGER_NETDEV) += ledtrig-netdev.o --- a/drivers/leds/ledtrig-netdev.c +++ b/drivers/leds/ledtrig-netdev.c -@@ -307,8 +307,9 @@ done: - static void netdev_trig_timer(unsigned long arg) - { +@@ -309,6 +309,7 @@ static void netdev_trig_timer(unsigned l struct led_netdev_data *trigger_data = (struct led_netdev_data *)arg; -- const struct net_device_stats *dev_stats; -+ struct rtnl_link_stats64 *dev_stats; + const struct net_device_stats *dev_stats; unsigned new_activity; + struct rtnl_link_stats64 temp; diff --git a/target/linux/generic/patches-2.6.36/410-gpio_buttons.patch b/target/linux/generic/patches-2.6.36/410-gpio_buttons.patch index 0ca90237bc..b34d1175aa 100644 --- a/target/linux/generic/patches-2.6.36/410-gpio_buttons.patch +++ b/target/linux/generic/patches-2.6.36/410-gpio_buttons.patch @@ -1,8 +1,8 @@ --- a/drivers/input/misc/Kconfig +++ b/drivers/input/misc/Kconfig -@@ -390,4 +390,20 @@ config INPUT_PCAP +@@ -438,4 +438,20 @@ config INPUT_ADXL34X_SPI To compile this driver as a module, choose M here: the - module will be called pcap_keys. + module will be called adxl34x-spi. +config INPUT_GPIO_BUTTONS + tristate "Polled GPIO buttons interface" @@ -23,7 +23,7 @@ endif --- a/drivers/input/misc/Makefile +++ b/drivers/input/misc/Makefile -@@ -37,4 +37,5 @@ obj-$(CONFIG_INPUT_WINBOND_CIR) += winb +@@ -41,4 +41,5 @@ obj-$(CONFIG_INPUT_WINBOND_CIR) += winb obj-$(CONFIG_INPUT_WISTRON_BTNS) += wistron_btns.o obj-$(CONFIG_INPUT_WM831X_ON) += wm831x-on.o obj-$(CONFIG_INPUT_YEALINK) += yealink.o diff --git a/target/linux/generic/patches-2.6.36/420-gpiodev.patch b/target/linux/generic/patches-2.6.36/420-gpiodev.patch index cca5187f20..63ac5c7a80 100644 --- a/target/linux/generic/patches-2.6.36/420-gpiodev.patch +++ b/target/linux/generic/patches-2.6.36/420-gpiodev.patch @@ -17,7 +17,7 @@ depends on BLOCK --- a/drivers/char/Makefile +++ b/drivers/char/Makefile -@@ -96,6 +96,7 @@ obj-$(CONFIG_SCx200_GPIO) += scx200_gpio +@@ -98,6 +98,7 @@ obj-$(CONFIG_SCx200_GPIO) += scx200_gpio obj-$(CONFIG_PC8736x_GPIO) += pc8736x_gpio.o obj-$(CONFIG_NSC_GPIO) += nsc_gpio.o obj-$(CONFIG_CS5535_GPIO) += cs5535_gpio.o diff --git a/target/linux/generic/patches-2.6.36/511-yaffs-cvs-2009-04-24.patch b/target/linux/generic/patches-2.6.36/511-yaffs-cvs-2009-04-24.patch index 5c70e79a05..c334b17d08 100644 --- a/target/linux/generic/patches-2.6.36/511-yaffs-cvs-2009-04-24.patch +++ b/target/linux/generic/patches-2.6.36/511-yaffs-cvs-2009-04-24.patch @@ -601,7 +601,7 @@ dev->checkpointBlockList[i] = -1; } -@@ -191,18 +185,17 @@ int yaffs_GetCheckpointSum(yaffs_Device +@@ -191,18 +185,17 @@ int yaffs_GetCheckpointSum(yaffs_Device static int yaffs_CheckpointFlushBuffer(yaffs_Device *dev) { @@ -926,7 +926,7 @@ { unsigned char cDelta; /* column parity delta */ unsigned lDelta; /* line parity delta */ -@@ -294,8 +292,7 @@ int yaffs_ECCCorrectOther(unsigned char +@@ -294,8 +292,7 @@ int yaffs_ECCCorrectOther(unsigned char return 0; /* no error */ if (lDelta == ~lDeltaPrime && @@ -936,7 +936,7 @@ /* Single bit (recoverable) error in data */ bit = 0; -@@ -307,7 +304,7 @@ int yaffs_ECCCorrectOther(unsigned char +@@ -307,7 +304,7 @@ int yaffs_ECCCorrectOther(unsigned char if (cDelta & 0x02) bit |= 0x01; @@ -945,7 +945,7 @@ return -1; data[lDelta] ^= (1 << bit); -@@ -316,7 +313,7 @@ int yaffs_ECCCorrectOther(unsigned char +@@ -316,7 +313,7 @@ int yaffs_ECCCorrectOther(unsigned char } if ((yaffs_CountBits32(lDelta) + yaffs_CountBits32(lDeltaPrime) + @@ -954,7 +954,7 @@ /* Reccoverable error in ecc */ *read_ecc = *test_ecc; -@@ -326,6 +323,4 @@ int yaffs_ECCCorrectOther(unsigned char +@@ -326,6 +323,4 @@ int yaffs_ECCCorrectOther(unsigned char /* Unrecoverable error */ return -1; @@ -1398,7 +1398,7 @@ { unsigned char *alias; int ret; -@@ -329,7 +395,7 @@ static int yaffs_readlink(struct dentry +@@ -329,7 +395,7 @@ static int yaffs_readlink(struct dentry return ret; } @@ -1560,7 +1560,7 @@ static int yaffs_file_flush(struct file *file, fl_owner_t id) #else static int yaffs_file_flush(struct file *file) -@@ -513,8 +579,8 @@ static int yaffs_file_flush(struct file +@@ -513,8 +579,8 @@ static int yaffs_file_flush(struct file yaffs_Device *dev = obj->myDev; T(YAFFS_TRACE_OS, @@ -1571,7 +1571,7 @@ yaffs_GrossLock(dev); -@@ -535,15 +601,15 @@ static int yaffs_readpage_nolock(struct +@@ -535,15 +601,15 @@ static int yaffs_readpage_nolock(struct yaffs_Device *dev; @@ -1591,7 +1591,7 @@ BUG_ON(!PageLocked(pg)); #else if (!PageLocked(pg)) -@@ -555,9 +621,9 @@ static int yaffs_readpage_nolock(struct +@@ -555,9 +621,9 @@ static int yaffs_readpage_nolock(struct yaffs_GrossLock(dev); @@ -1604,7 +1604,7 @@ yaffs_GrossUnlock(dev); -@@ -575,7 +641,7 @@ static int yaffs_readpage_nolock(struct +@@ -575,7 +641,7 @@ static int yaffs_readpage_nolock(struct flush_dcache_page(pg); kunmap(pg); @@ -3193,7 +3193,7 @@ if (n < step) { n++; continue; -@@ -2119,7 +2356,7 @@ static int yaffs_proc_write(struct file +@@ -2119,7 +2356,7 @@ static int yaffs_proc_write(struct file char *end; char *mask_name; const char *x; @@ -3202,7 +3202,7 @@ int i; int done = 0; int add, len = 0; -@@ -2129,9 +2366,8 @@ static int yaffs_proc_write(struct file +@@ -2129,9 +2366,8 @@ static int yaffs_proc_write(struct file while (!done && (pos < count)) { done = 1; @@ -3213,7 +3213,7 @@ switch (buf[pos]) { case '+': -@@ -2148,20 +2384,21 @@ static int yaffs_proc_write(struct file +@@ -2148,20 +2384,21 @@ static int yaffs_proc_write(struct file mask_name = NULL; mask_bitfield = simple_strtoul(buf + pos, &end, 0); @@ -3240,7 +3240,7 @@ mask_name = mask_flags[i].mask_name; mask_bitfield = mask_flags[i].mask_bitfield; done = 0; -@@ -2172,7 +2409,7 @@ static int yaffs_proc_write(struct file +@@ -2172,7 +2409,7 @@ static int yaffs_proc_write(struct file if (mask_name != NULL) { done = 0; @@ -3249,7 +3249,7 @@ case '-': rg &= ~mask_bitfield; break; -@@ -2191,13 +2428,13 @@ static int yaffs_proc_write(struct file +@@ -2191,13 +2428,13 @@ static int yaffs_proc_write(struct file yaffs_traceMask = rg | YAFFS_TRACE_ALWAYS; @@ -5691,7 +5691,7 @@ { /* Get the real object in case we were fed a hard link as an equivalent object */ equivalentObject = yaffs_GetEquivalentObject(equivalentObject); -@@ -2363,33 +2396,31 @@ yaffs_Object *yaffs_Link(yaffs_Object * +@@ -2363,33 +2396,31 @@ yaffs_Object *yaffs_Link(yaffs_Object * } @@ -7622,7 +7622,7 @@ int nToCopy; int n = nBytes; int nDone = 0; -@@ -4600,27 +4665,26 @@ int yaffs_ReadDataFromFile(yaffs_Object +@@ -4600,27 +4665,26 @@ int yaffs_ReadDataFromFile(yaffs_Object dev = in->myDev; while (n > 0) { @@ -7657,7 +7657,7 @@ if (dev->nShortOpCaches > 0) { /* If we can't find the data in the cache, then load it up. */ -@@ -4641,14 +4705,9 @@ int yaffs_ReadDataFromFile(yaffs_Object +@@ -4641,14 +4705,9 @@ int yaffs_ReadDataFromFile(yaffs_Object cache->locked = 1; @@ -7673,7 +7673,7 @@ cache->locked = 0; } else { /* Read into the local buffer then copy..*/ -@@ -4657,41 +4716,19 @@ int yaffs_ReadDataFromFile(yaffs_Object +@@ -4657,41 +4716,19 @@ int yaffs_ReadDataFromFile(yaffs_Object yaffs_GetTempBuffer(dev, __LINE__); yaffs_ReadChunkDataFromObject(in, chunk, localBuffer); @@ -7718,7 +7718,7 @@ } n -= nToCopy; -@@ -4704,28 +4741,37 @@ int yaffs_ReadDataFromFile(yaffs_Object +@@ -4704,28 +4741,37 @@ int yaffs_ReadDataFromFile(yaffs_Object return nDone; } @@ -7923,7 +7923,7 @@ int newFullChunks; yaffs_Device *dev = in->myDev; -@@ -4955,13 +4981,11 @@ int yaffs_ResizeFile(yaffs_Object * in, +@@ -4955,13 +4981,11 @@ int yaffs_ResizeFile(yaffs_Object * in, yaffs_CheckGarbageCollection(dev); @@ -7941,7 +7941,7 @@ if (newSize < oldFileSize) { -@@ -4994,21 +5018,20 @@ int yaffs_ResizeFile(yaffs_Object * in, +@@ -4994,21 +5018,20 @@ int yaffs_ResizeFile(yaffs_Object * in, } @@ -7968,7 +7968,7 @@ { obj = yaffs_GetEquivalentObject(obj); -@@ -5024,7 +5047,7 @@ loff_t yaffs_GetFileSize(yaffs_Object * +@@ -5024,7 +5047,7 @@ loff_t yaffs_GetFileSize(yaffs_Object * @@ -9789,7 +9789,7 @@ { int init_failed = 0; unsigned x; -@@ -7040,6 +7126,8 @@ int yaffs_GutsInitialise(yaffs_Device * +@@ -7040,6 +7126,8 @@ int yaffs_GutsInitialise(yaffs_Device * dev->chunkOffset = 0; dev->nFreeChunks = 0; @@ -9798,7 +9798,7 @@ if (dev->startBlock == 0) { dev->internalStartBlock = dev->startBlock + 1; dev->internalEndBlock = dev->endBlock + 1; -@@ -7049,18 +7137,18 @@ int yaffs_GutsInitialise(yaffs_Device * +@@ -7049,18 +7137,18 @@ int yaffs_GutsInitialise(yaffs_Device * /* Check geometry parameters. */ @@ -9823,7 +9823,7 @@ return YAFFS_FAIL; } -@@ -7070,6 +7158,12 @@ int yaffs_GutsInitialise(yaffs_Device * +@@ -7070,6 +7158,12 @@ int yaffs_GutsInitialise(yaffs_Device * return YAFFS_FAIL; } @@ -9836,7 +9836,7 @@ /* Got the right mix of functions? */ if (!yaffs_CheckDevFunctions(dev)) { /* Function missing */ -@@ -7097,31 +7191,18 @@ int yaffs_GutsInitialise(yaffs_Device * +@@ -7097,31 +7191,18 @@ int yaffs_GutsInitialise(yaffs_Device * dev->isMounted = 1; @@ -9875,7 +9875,7 @@ /* * Calculate chunkGroupBits. -@@ -7133,16 +7214,15 @@ int yaffs_GutsInitialise(yaffs_Device * +@@ -7133,16 +7214,15 @@ int yaffs_GutsInitialise(yaffs_Device * bits = ShiftsGE(x); /* Set up tnode width if wide tnodes are enabled. */ @@ -9896,7 +9896,7 @@ dev->tnodeWidth = 16; dev->tnodeMask = (1<tnodeWidth)-1; -@@ -7193,7 +7273,7 @@ int yaffs_GutsInitialise(yaffs_Device * +@@ -7193,7 +7273,7 @@ int yaffs_GutsInitialise(yaffs_Device * dev->hasPendingPrioritisedGCs = 1; /* Assume the worst for now, will get fixed on first GC */ /* Initialise temporary buffers and caches. */ @@ -9905,7 +9905,7 @@ init_failed = 1; dev->srCache = NULL; -@@ -7203,25 +7283,26 @@ int yaffs_GutsInitialise(yaffs_Device * +@@ -7203,25 +7283,26 @@ int yaffs_GutsInitialise(yaffs_Device * if (!init_failed && dev->nShortOpCaches > 0) { int i; @@ -9940,7 +9940,7 @@ init_failed = 1; dev->srLastUse = 0; -@@ -7229,29 +7310,30 @@ int yaffs_GutsInitialise(yaffs_Device * +@@ -7229,29 +7310,30 @@ int yaffs_GutsInitialise(yaffs_Device * dev->cacheHits = 0; @@ -9979,7 +9979,7 @@ T(YAFFS_TRACE_ALWAYS, (TSTR("yaffs: restored from checkpoint" TENDSTR))); } else { -@@ -7273,24 +7355,25 @@ int yaffs_GutsInitialise(yaffs_Device * +@@ -7273,24 +7355,25 @@ int yaffs_GutsInitialise(yaffs_Device * dev->nBackgroundDeletions = 0; dev->oldestDirtySequence = 0; @@ -10011,7 +10011,7 @@ /* Clean up the mess */ T(YAFFS_TRACE_TRACING, (TSTR("yaffs: yaffs_GutsInitialise() aborted.\n" TENDSTR))); -@@ -7318,7 +7401,7 @@ int yaffs_GutsInitialise(yaffs_Device * +@@ -7318,7 +7401,7 @@ int yaffs_GutsInitialise(yaffs_Device * } @@ -10710,7 +10710,7 @@ { if (etags) { memset(etags, 0, sizeof(*etags)); -@@ -169,9 +169,9 @@ static int rettags(yaffs_ExtendedTags * +@@ -169,9 +169,9 @@ static int rettags(yaffs_ExtendedTags * * Returns YAFFS_OK or YAFFS_FAIL. */ int nandmtd1_ReadChunkWithTagsFromNAND(yaffs_Device *dev, @@ -11038,14 +11038,14 @@ + yaffs_UnpackTags2(tags, &pt); + } + } - -- if(tags && retval == -EBADMSG && tags->eccResult == YAFFS_ECC_RESULT_NO_ERROR) -- tags->eccResult = YAFFS_ECC_RESULT_UNFIXED; ++ + if (localData) + yaffs_ReleaseTempBuffer(dev, data, __LINE__); +- if(tags && retval == -EBADMSG && tags->eccResult == YAFFS_ECC_RESULT_NO_ERROR) + if (tags && retval == -EBADMSG && tags->eccResult == YAFFS_ECC_RESULT_NO_ERROR) -+ tags->eccResult = YAFFS_ECC_RESULT_UNFIXED; + tags->eccResult = YAFFS_ECC_RESULT_UNFIXED; +- if (retval == 0) return YAFFS_OK; else diff --git a/target/linux/generic/patches-2.6.36/511-yaffs-git-2010-10-01.patch b/target/linux/generic/patches-2.6.36/511-yaffs-git-2010-10-01.patch index 9d61508ad2..1ba5b1f468 100644 --- a/target/linux/generic/patches-2.6.36/511-yaffs-git-2010-10-01.patch +++ b/target/linux/generic/patches-2.6.36/511-yaffs-git-2010-10-01.patch @@ -1,6 +1,5 @@ -diff -Nrup a/fs/yaffs2/devextras.h b/fs/yaffs2/devextras.h ---- a/fs/yaffs2/devextras.h 2010-10-03 17:48:22.704000363 +0300 -+++ b/fs/yaffs2/devextras.h 2010-10-03 18:03:47.537000367 +0300 +--- a/fs/yaffs2/devextras.h ++++ b/fs/yaffs2/devextras.h @@ -1,7 +1,7 @@ /* * YAFFS: Yet another Flash File System . A NAND-flash specific file system. @@ -123,9 +122,8 @@ diff -Nrup a/fs/yaffs2/devextras.h b/fs/yaffs2/devextras.h #if !(defined __KERNEL__) -diff -Nrup a/fs/yaffs2/Kconfig b/fs/yaffs2/Kconfig ---- a/fs/yaffs2/Kconfig 2010-10-03 17:48:22.704000363 +0300 -+++ b/fs/yaffs2/Kconfig 2010-10-03 18:03:47.461000368 +0300 +--- a/fs/yaffs2/Kconfig ++++ b/fs/yaffs2/Kconfig @@ -90,23 +90,15 @@ config YAFFS_AUTO_YAFFS2 If unsure, say Y. @@ -203,9 +201,8 @@ diff -Nrup a/fs/yaffs2/Kconfig b/fs/yaffs2/Kconfig + If unsure, say Y. + + -diff -Nrup a/fs/yaffs2/Makefile b/fs/yaffs2/Makefile ---- a/fs/yaffs2/Makefile 2010-10-03 17:48:22.705000363 +0300 -+++ b/fs/yaffs2/Makefile 2010-10-03 18:03:47.460000369 +0300 +--- a/fs/yaffs2/Makefile ++++ b/fs/yaffs2/Makefile @@ -4,7 +4,14 @@ obj-$(CONFIG_YAFFS_FS) += yaffs.o @@ -223,9 +220,8 @@ diff -Nrup a/fs/yaffs2/Makefile b/fs/yaffs2/Makefile +yaffs-y += yaffs_bitmap.o +yaffs-y += yaffs_verify.o + -diff -Nrup a/fs/yaffs2/moduleconfig.h b/fs/yaffs2/moduleconfig.h ---- a/fs/yaffs2/moduleconfig.h 2010-10-03 17:48:22.705000363 +0300 -+++ b/fs/yaffs2/moduleconfig.h 2010-10-03 18:03:47.538000366 +0300 +--- a/fs/yaffs2/moduleconfig.h ++++ b/fs/yaffs2/moduleconfig.h @@ -1,7 +1,7 @@ /* * YAFFS: Yet another Flash File System . A NAND-flash specific file system. @@ -285,9 +281,8 @@ diff -Nrup a/fs/yaffs2/moduleconfig.h b/fs/yaffs2/moduleconfig.h /* Older-style on-NAND data format has a "pageStatus" byte to record -diff -Nrup a/fs/yaffs2/yaffs_allocator.c b/fs/yaffs2/yaffs_allocator.c ---- a/fs/yaffs2/yaffs_allocator.c 1970-01-01 02:00:00.000000000 +0200 -+++ b/fs/yaffs2/yaffs_allocator.c 2010-10-03 18:03:47.504000356 +0300 +--- /dev/null ++++ b/fs/yaffs2/yaffs_allocator.c @@ -0,0 +1,409 @@ +/* + * YAFFS: Yet another Flash File System . A NAND-flash specific file system. @@ -698,9 +693,8 @@ diff -Nrup a/fs/yaffs2/yaffs_allocator.c b/fs/yaffs2/yaffs_allocator.c + + +#endif -diff -Nrup a/fs/yaffs2/yaffs_allocator.h b/fs/yaffs2/yaffs_allocator.h ---- a/fs/yaffs2/yaffs_allocator.h 1970-01-01 02:00:00.000000000 +0200 -+++ b/fs/yaffs2/yaffs_allocator.h 2010-10-03 18:03:47.538000366 +0300 +--- /dev/null ++++ b/fs/yaffs2/yaffs_allocator.h @@ -0,0 +1,30 @@ +/* + * YAFFS: Yet another Flash File System . A NAND-flash specific file system. @@ -732,9 +726,8 @@ diff -Nrup a/fs/yaffs2/yaffs_allocator.h b/fs/yaffs2/yaffs_allocator.h +void yaffs_FreeRawObject(yaffs_Device *dev, yaffs_Object *obj); + +#endif -diff -Nrup a/fs/yaffs2/yaffs_bitmap.c b/fs/yaffs2/yaffs_bitmap.c ---- a/fs/yaffs2/yaffs_bitmap.c 1970-01-01 02:00:00.000000000 +0200 -+++ b/fs/yaffs2/yaffs_bitmap.c 2010-10-03 18:03:47.505000364 +0300 +--- /dev/null ++++ b/fs/yaffs2/yaffs_bitmap.c @@ -0,0 +1,105 @@ +/* + * YAFFS: Yet Another Flash File System. A NAND-flash specific file system. @@ -841,9 +834,8 @@ diff -Nrup a/fs/yaffs2/yaffs_bitmap.c b/fs/yaffs2/yaffs_bitmap.c + return n; +} + -diff -Nrup a/fs/yaffs2/yaffs_bitmap.h b/fs/yaffs2/yaffs_bitmap.h ---- a/fs/yaffs2/yaffs_bitmap.h 1970-01-01 02:00:00.000000000 +0200 -+++ b/fs/yaffs2/yaffs_bitmap.h 2010-10-03 18:03:47.539000363 +0300 +--- /dev/null ++++ b/fs/yaffs2/yaffs_bitmap.h @@ -0,0 +1,31 @@ +/* + * YAFFS: Yet Another Flash File System. A NAND-flash specific file system. @@ -876,9 +868,8 @@ diff -Nrup a/fs/yaffs2/yaffs_bitmap.h b/fs/yaffs2/yaffs_bitmap.h +int yaffs_CountChunkBits(yaffs_Device *dev, int blk); + +#endif -diff -Nrup a/fs/yaffs2/yaffs_checkptrw.c b/fs/yaffs2/yaffs_checkptrw.c ---- a/fs/yaffs2/yaffs_checkptrw.c 2010-10-03 17:48:22.706000363 +0300 -+++ b/fs/yaffs2/yaffs_checkptrw.c 2010-10-03 18:03:47.505000364 +0300 +--- a/fs/yaffs2/yaffs_checkptrw.c ++++ b/fs/yaffs2/yaffs_checkptrw.c @@ -1,7 +1,7 @@ /* * YAFFS: Yet Another Flash File System. A NAND-flash specific file system. @@ -1210,9 +1201,8 @@ diff -Nrup a/fs/yaffs2/yaffs_checkptrw.c b/fs/yaffs2/yaffs_checkptrw.c } -diff -Nrup a/fs/yaffs2/yaffs_checkptrw.h b/fs/yaffs2/yaffs_checkptrw.h ---- a/fs/yaffs2/yaffs_checkptrw.h 2010-10-03 17:48:22.706000363 +0300 -+++ b/fs/yaffs2/yaffs_checkptrw.h 2010-10-03 18:03:47.540000359 +0300 +--- a/fs/yaffs2/yaffs_checkptrw.h ++++ b/fs/yaffs2/yaffs_checkptrw.h @@ -1,7 +1,7 @@ /* * YAFFS: Yet another Flash File System . A NAND-flash specific file system. @@ -1247,9 +1237,8 @@ diff -Nrup a/fs/yaffs2/yaffs_checkptrw.h b/fs/yaffs2/yaffs_checkptrw.h #endif - -diff -Nrup a/fs/yaffs2/yaffs_ecc.c b/fs/yaffs2/yaffs_ecc.c ---- a/fs/yaffs2/yaffs_ecc.c 2010-10-03 17:48:22.706000363 +0300 -+++ b/fs/yaffs2/yaffs_ecc.c 2010-10-03 18:03:47.509000373 +0300 +--- a/fs/yaffs2/yaffs_ecc.c ++++ b/fs/yaffs2/yaffs_ecc.c @@ -1,7 +1,7 @@ /* * YAFFS: Yet Another Flash File System. A NAND-flash specific file system. @@ -1269,9 +1258,8 @@ diff -Nrup a/fs/yaffs2/yaffs_ecc.c b/fs/yaffs2/yaffs_ecc.c #include "yportenv.h" #include "yaffs_ecc.h" -diff -Nrup a/fs/yaffs2/yaffs_ecc.h b/fs/yaffs2/yaffs_ecc.h ---- a/fs/yaffs2/yaffs_ecc.h 2010-10-03 17:48:22.707000363 +0300 -+++ b/fs/yaffs2/yaffs_ecc.h 2010-10-03 18:03:47.541000359 +0300 +--- a/fs/yaffs2/yaffs_ecc.h ++++ b/fs/yaffs2/yaffs_ecc.h @@ -1,7 +1,7 @@ /* * YAFFS: Yet another Flash File System . A NAND-flash specific file system. @@ -1281,9 +1269,8 @@ diff -Nrup a/fs/yaffs2/yaffs_ecc.h b/fs/yaffs2/yaffs_ecc.h * for Toby Churchill Ltd and Brightstar Engineering * * Created by Charles Manning -diff -Nrup a/fs/yaffs2/yaffs_fs.c b/fs/yaffs2/yaffs_fs.c ---- a/fs/yaffs2/yaffs_fs.c 2010-10-03 17:48:22.708000363 +0300 -+++ b/fs/yaffs2/yaffs_fs.c 1970-01-01 02:00:00.000000000 +0200 +--- a/fs/yaffs2/yaffs_fs.c ++++ /dev/null @@ -1,2529 +0,0 @@ -/* - * YAFFS: Yet Another Flash File System. A NAND-flash specific file system. @@ -3814,9 +3801,8 @@ diff -Nrup a/fs/yaffs2/yaffs_fs.c b/fs/yaffs2/yaffs_fs.c -MODULE_DESCRIPTION("YAFFS2 - a NAND specific flash file system"); -MODULE_AUTHOR("Charles Manning, Aleph One Ltd., 2002-2006"); -MODULE_LICENSE("GPL"); -diff -Nrup a/fs/yaffs2/yaffs_getblockinfo.h b/fs/yaffs2/yaffs_getblockinfo.h ---- a/fs/yaffs2/yaffs_getblockinfo.h 2010-10-03 17:48:22.710000363 +0300 -+++ b/fs/yaffs2/yaffs_getblockinfo.h 2010-10-03 18:03:47.542000362 +0300 +--- a/fs/yaffs2/yaffs_getblockinfo.h ++++ b/fs/yaffs2/yaffs_getblockinfo.h @@ -1,7 +1,7 @@ /* * YAFFS: Yet another Flash File System . A NAND-flash specific file system. @@ -3834,9 +3820,8 @@ diff -Nrup a/fs/yaffs2/yaffs_getblockinfo.h b/fs/yaffs2/yaffs_getblockinfo.h /* Function to manipulate block info */ static Y_INLINE yaffs_BlockInfo *yaffs_GetBlockInfo(yaffs_Device * dev, int blk) -diff -Nrup a/fs/yaffs2/yaffs_guts.c b/fs/yaffs2/yaffs_guts.c ---- a/fs/yaffs2/yaffs_guts.c 2010-10-03 17:48:22.715000364 +0300 -+++ b/fs/yaffs2/yaffs_guts.c 2010-10-03 18:03:47.518000364 +0300 +--- a/fs/yaffs2/yaffs_guts.c ++++ b/fs/yaffs2/yaffs_guts.c @@ -1,7 +1,7 @@ /* * YAFFS: Yet Another Flash File System. A NAND-flash specific file system. @@ -14389,9 +14374,8 @@ diff -Nrup a/fs/yaffs2/yaffs_guts.c b/fs/yaffs2/yaffs_guts.c #ifndef CONFIG_YAFFS_WINCE yaffs_CheckStruct(yaffs_ObjectHeader, 512, "yaffs_ObjectHeader"); #endif -diff -Nrup a/fs/yaffs2/yaffs_guts.h b/fs/yaffs2/yaffs_guts.h ---- a/fs/yaffs2/yaffs_guts.h 2010-10-03 17:48:22.718000363 +0300 -+++ b/fs/yaffs2/yaffs_guts.h 2010-10-03 18:03:47.542000362 +0300 +--- a/fs/yaffs2/yaffs_guts.h ++++ b/fs/yaffs2/yaffs_guts.h @@ -1,7 +1,7 @@ /* * YAFFS: Yet another Flash File System . A NAND-flash specific file system. @@ -14983,9 +14967,8 @@ diff -Nrup a/fs/yaffs2/yaffs_guts.h b/fs/yaffs2/yaffs_guts.h +__u32 yaffs_GetChunkGroupBase(yaffs_Device *dev, yaffs_Tnode *tn, unsigned pos); + #endif -diff -Nrup a/fs/yaffs2/yaffsinterface.h b/fs/yaffs2/yaffsinterface.h ---- a/fs/yaffs2/yaffsinterface.h 2010-10-03 17:29:32.916000361 +0300 -+++ b/fs/yaffs2/yaffsinterface.h 2010-10-03 18:03:47.543000365 +0300 +--- a/fs/yaffs2/yaffsinterface.h ++++ b/fs/yaffs2/yaffsinterface.h @@ -1,7 +1,7 @@ /* * YAFFS: Yet another Flash File System . A NAND-flash specific file system. @@ -14995,9 +14978,8 @@ diff -Nrup a/fs/yaffs2/yaffsinterface.h b/fs/yaffs2/yaffsinterface.h * for Toby Churchill Ltd and Brightstar Engineering * * Created by Charles Manning -diff -Nrup a/fs/yaffs2/yaffs_linux_allocator.c b/fs/yaffs2/yaffs_linux_allocator.c ---- a/fs/yaffs2/yaffs_linux_allocator.c 1970-01-01 02:00:00.000000000 +0200 -+++ b/fs/yaffs2/yaffs_linux_allocator.c 2010-10-03 18:03:47.519000366 +0300 +--- /dev/null ++++ b/fs/yaffs2/yaffs_linux_allocator.c @@ -0,0 +1,200 @@ +/* + * YAFFS: Yet another Flash File System . A NAND-flash specific file system. @@ -15199,9 +15181,8 @@ diff -Nrup a/fs/yaffs2/yaffs_linux_allocator.c b/fs/yaffs2/yaffs_linux_allocator + yaffs_Allocator *allocator = dev->allocator; + kmem_cache_free(allocator->object_cache,obj); +} -diff -Nrup a/fs/yaffs2/yaffs_linux.h b/fs/yaffs2/yaffs_linux.h ---- a/fs/yaffs2/yaffs_linux.h 1970-01-01 02:00:00.000000000 +0200 -+++ b/fs/yaffs2/yaffs_linux.h 2010-10-03 18:03:47.544000367 +0300 +--- /dev/null ++++ b/fs/yaffs2/yaffs_linux.h @@ -0,0 +1,43 @@ +/* + * YAFFS: Yet another Flash File System . A NAND-flash specific file system. @@ -15246,9 +15227,8 @@ diff -Nrup a/fs/yaffs2/yaffs_linux.h b/fs/yaffs2/yaffs_linux.h + +#endif + -diff -Nrup a/fs/yaffs2/yaffs_list.h b/fs/yaffs2/yaffs_list.h ---- a/fs/yaffs2/yaffs_list.h 1970-01-01 02:00:00.000000000 +0200 -+++ b/fs/yaffs2/yaffs_list.h 2010-10-03 18:03:47.544000367 +0300 +--- /dev/null ++++ b/fs/yaffs2/yaffs_list.h @@ -0,0 +1,127 @@ +/* + * YAFFS: Yet another Flash File System . A NAND-flash specific file system. @@ -15377,9 +15357,8 @@ diff -Nrup a/fs/yaffs2/yaffs_list.h b/fs/yaffs2/yaffs_list.h + + +#endif -diff -Nrup a/fs/yaffs2/yaffs_mtdif1.c b/fs/yaffs2/yaffs_mtdif1.c ---- a/fs/yaffs2/yaffs_mtdif1.c 2010-10-03 17:48:22.719000363 +0300 -+++ b/fs/yaffs2/yaffs_mtdif1.c 2010-10-03 18:03:47.519000366 +0300 +--- a/fs/yaffs2/yaffs_mtdif1.c ++++ b/fs/yaffs2/yaffs_mtdif1.c @@ -2,7 +2,7 @@ * YAFFS: Yet another FFS. A NAND-flash specific file system. * yaffs_mtdif1.c NAND mtd interface functions for small-page NAND. @@ -15522,9 +15501,8 @@ diff -Nrup a/fs/yaffs2/yaffs_mtdif1.c b/fs/yaffs2/yaffs_mtdif1.c state = YAFFS_BLOCK_STATE_DEAD; } else if (etags.eccResult != YAFFS_ECC_RESULT_NO_ERROR) { /* bad tags, need to look more closely */ -diff -Nrup a/fs/yaffs2/yaffs_mtdif1-compat.c b/fs/yaffs2/yaffs_mtdif1-compat.c ---- a/fs/yaffs2/yaffs_mtdif1-compat.c 2010-10-03 17:29:32.916000361 +0300 -+++ b/fs/yaffs2/yaffs_mtdif1-compat.c 1970-01-01 02:00:00.000000000 +0200 +--- a/fs/yaffs2/yaffs_mtdif1-compat.c ++++ /dev/null @@ -1,434 +0,0 @@ -From ian@brightstareng.com Fri May 18 15:06:49 2007 -From ian@brightstareng.com Fri May 18 15:08:21 2007 @@ -15960,9 +15938,8 @@ diff -Nrup a/fs/yaffs2/yaffs_mtdif1-compat.c b/fs/yaffs2/yaffs_mtdif1-compat.c - - - -diff -Nrup a/fs/yaffs2/yaffs_mtdif1.h b/fs/yaffs2/yaffs_mtdif1.h ---- a/fs/yaffs2/yaffs_mtdif1.h 2010-10-03 17:48:22.719000363 +0300 -+++ b/fs/yaffs2/yaffs_mtdif1.h 2010-10-03 18:03:47.545000367 +0300 +--- a/fs/yaffs2/yaffs_mtdif1.h ++++ b/fs/yaffs2/yaffs_mtdif1.h @@ -1,7 +1,7 @@ /* * YAFFS: Yet another Flash File System. A NAND-flash specific file system. @@ -15972,9 +15949,8 @@ diff -Nrup a/fs/yaffs2/yaffs_mtdif1.h b/fs/yaffs2/yaffs_mtdif1.h * for Toby Churchill Ltd and Brightstar Engineering * * This program is free software; you can redistribute it and/or modify -diff -Nrup a/fs/yaffs2/yaffs_mtdif2.c b/fs/yaffs2/yaffs_mtdif2.c ---- a/fs/yaffs2/yaffs_mtdif2.c 2010-10-03 17:48:22.720000363 +0300 -+++ b/fs/yaffs2/yaffs_mtdif2.c 2010-10-03 18:03:47.520000367 +0300 +--- a/fs/yaffs2/yaffs_mtdif2.c ++++ b/fs/yaffs2/yaffs_mtdif2.c @@ -1,7 +1,7 @@ /* * YAFFS: Yet Another Flash File System. A NAND-flash specific file system. @@ -16221,9 +16197,8 @@ diff -Nrup a/fs/yaffs2/yaffs_mtdif2.c b/fs/yaffs2/yaffs_mtdif2.c &t); if (t.chunkUsed) { -diff -Nrup a/fs/yaffs2/yaffs_mtdif2.h b/fs/yaffs2/yaffs_mtdif2.h ---- a/fs/yaffs2/yaffs_mtdif2.h 2010-10-03 17:48:22.720000363 +0300 -+++ b/fs/yaffs2/yaffs_mtdif2.h 2010-10-03 18:03:47.545000367 +0300 +--- a/fs/yaffs2/yaffs_mtdif2.h ++++ b/fs/yaffs2/yaffs_mtdif2.h @@ -1,7 +1,7 @@ /* * YAFFS: Yet another Flash File System . A NAND-flash specific file system. @@ -16233,9 +16208,8 @@ diff -Nrup a/fs/yaffs2/yaffs_mtdif2.h b/fs/yaffs2/yaffs_mtdif2.h * for Toby Churchill Ltd and Brightstar Engineering * * Created by Charles Manning -diff -Nrup a/fs/yaffs2/yaffs_mtdif.c b/fs/yaffs2/yaffs_mtdif.c ---- a/fs/yaffs2/yaffs_mtdif.c 2010-10-03 17:48:22.720000363 +0300 -+++ b/fs/yaffs2/yaffs_mtdif.c 2010-10-03 18:03:47.521000367 +0300 +--- a/fs/yaffs2/yaffs_mtdif.c ++++ b/fs/yaffs2/yaffs_mtdif.c @@ -1,7 +1,7 @@ /* * YAFFS: Yet Another Flash File System. A NAND-flash specific file system. @@ -16470,9 +16444,8 @@ diff -Nrup a/fs/yaffs2/yaffs_mtdif.c b/fs/yaffs2/yaffs_mtdif.c retval = mtd->erase(mtd, &ei); if (retval == 0) -diff -Nrup a/fs/yaffs2/yaffs_mtdif.h b/fs/yaffs2/yaffs_mtdif.h ---- a/fs/yaffs2/yaffs_mtdif.h 2010-10-03 17:48:22.721000363 +0300 -+++ b/fs/yaffs2/yaffs_mtdif.h 2010-10-03 18:03:47.546000366 +0300 +--- a/fs/yaffs2/yaffs_mtdif.h ++++ b/fs/yaffs2/yaffs_mtdif.h @@ -1,7 +1,7 @@ /* * YAFFS: Yet another Flash File System . A NAND-flash specific file system. @@ -16494,9 +16467,8 @@ diff -Nrup a/fs/yaffs2/yaffs_mtdif.h b/fs/yaffs2/yaffs_mtdif.h int nandmtd_EraseBlockInNAND(yaffs_Device *dev, int blockNumber); int nandmtd_InitialiseNAND(yaffs_Device *dev); #endif -diff -Nrup a/fs/yaffs2/yaffs_nameval.c b/fs/yaffs2/yaffs_nameval.c ---- a/fs/yaffs2/yaffs_nameval.c 1970-01-01 02:00:00.000000000 +0200 -+++ b/fs/yaffs2/yaffs_nameval.c 2010-10-03 18:03:47.523000363 +0300 +--- /dev/null ++++ b/fs/yaffs2/yaffs_nameval.c @@ -0,0 +1,197 @@ +/* + * YAFFS: Yet Another Flash File System. A NAND-flash specific file system. @@ -16695,9 +16667,8 @@ diff -Nrup a/fs/yaffs2/yaffs_nameval.c b/fs/yaffs2/yaffs_nameval.c +{ + return nval_used(xb, xb_size) > 0; +} -diff -Nrup a/fs/yaffs2/yaffs_nameval.h b/fs/yaffs2/yaffs_nameval.h ---- a/fs/yaffs2/yaffs_nameval.h 1970-01-01 02:00:00.000000000 +0200 -+++ b/fs/yaffs2/yaffs_nameval.h 2010-10-03 18:03:47.546000366 +0300 +--- /dev/null ++++ b/fs/yaffs2/yaffs_nameval.h @@ -0,0 +1,25 @@ +/* + * YAFFS: Yet another Flash File System . A NAND-flash specific file system. @@ -16724,9 +16695,8 @@ diff -Nrup a/fs/yaffs2/yaffs_nameval.h b/fs/yaffs2/yaffs_nameval.h +int nval_list(const char *xb, int xb_size, char *buf, int bsize); +int nval_hasvalues(const char *xb, int xb_size); +#endif -diff -Nrup a/fs/yaffs2/yaffs_nand.c b/fs/yaffs2/yaffs_nand.c ---- a/fs/yaffs2/yaffs_nand.c 2010-10-03 17:48:22.721000363 +0300 -+++ b/fs/yaffs2/yaffs_nand.c 2010-10-03 18:03:47.524000359 +0300 +--- a/fs/yaffs2/yaffs_nand.c ++++ b/fs/yaffs2/yaffs_nand.c @@ -1,7 +1,7 @@ /* * YAFFS: Yet Another Flash File System. A NAND-flash specific file system. @@ -16840,9 +16810,8 @@ diff -Nrup a/fs/yaffs2/yaffs_nand.c b/fs/yaffs2/yaffs_nand.c } -diff -Nrup a/fs/yaffs2/yaffs_nandemul2k.h b/fs/yaffs2/yaffs_nandemul2k.h ---- a/fs/yaffs2/yaffs_nandemul2k.h 2010-10-03 17:48:22.721000364 +0300 -+++ b/fs/yaffs2/yaffs_nandemul2k.h 2010-10-03 18:03:47.546000366 +0300 +--- a/fs/yaffs2/yaffs_nandemul2k.h ++++ b/fs/yaffs2/yaffs_nandemul2k.h @@ -1,7 +1,7 @@ /* * YAFFS: Yet another Flash File System . A NAND-flash specific file system. @@ -16852,9 +16821,8 @@ diff -Nrup a/fs/yaffs2/yaffs_nandemul2k.h b/fs/yaffs2/yaffs_nandemul2k.h * for Toby Churchill Ltd and Brightstar Engineering * * Created by Charles Manning -diff -Nrup a/fs/yaffs2/yaffs_nand.h b/fs/yaffs2/yaffs_nand.h ---- a/fs/yaffs2/yaffs_nand.h 2010-10-03 17:48:22.721000364 +0300 -+++ b/fs/yaffs2/yaffs_nand.h 2010-10-03 18:03:47.547000363 +0300 +--- a/fs/yaffs2/yaffs_nand.h ++++ b/fs/yaffs2/yaffs_nand.h @@ -1,7 +1,7 @@ /* * YAFFS: Yet another Flash File System . A NAND-flash specific file system. @@ -16864,9 +16832,8 @@ diff -Nrup a/fs/yaffs2/yaffs_nand.h b/fs/yaffs2/yaffs_nand.h * for Toby Churchill Ltd and Brightstar Engineering * * Created by Charles Manning -diff -Nrup a/fs/yaffs2/yaffs_packedtags1.c b/fs/yaffs2/yaffs_packedtags1.c ---- a/fs/yaffs2/yaffs_packedtags1.c 2010-10-03 17:48:22.721000364 +0300 -+++ b/fs/yaffs2/yaffs_packedtags1.c 2010-10-03 18:03:47.524000359 +0300 +--- a/fs/yaffs2/yaffs_packedtags1.c ++++ b/fs/yaffs2/yaffs_packedtags1.c @@ -1,7 +1,7 @@ /* * YAFFS: Yet Another Flash File System. A NAND-flash specific file system. @@ -16876,9 +16843,8 @@ diff -Nrup a/fs/yaffs2/yaffs_packedtags1.c b/fs/yaffs2/yaffs_packedtags1.c * for Toby Churchill Ltd and Brightstar Engineering * * Created by Charles Manning -diff -Nrup a/fs/yaffs2/yaffs_packedtags1.h b/fs/yaffs2/yaffs_packedtags1.h ---- a/fs/yaffs2/yaffs_packedtags1.h 2010-10-03 17:48:22.721000364 +0300 -+++ b/fs/yaffs2/yaffs_packedtags1.h 2010-10-03 18:03:47.547000363 +0300 +--- a/fs/yaffs2/yaffs_packedtags1.h ++++ b/fs/yaffs2/yaffs_packedtags1.h @@ -1,7 +1,7 @@ /* * YAFFS: Yet another Flash File System . A NAND-flash specific file system. @@ -16888,9 +16854,8 @@ diff -Nrup a/fs/yaffs2/yaffs_packedtags1.h b/fs/yaffs2/yaffs_packedtags1.h * for Toby Churchill Ltd and Brightstar Engineering * * Created by Charles Manning -diff -Nrup a/fs/yaffs2/yaffs_packedtags2.c b/fs/yaffs2/yaffs_packedtags2.c ---- a/fs/yaffs2/yaffs_packedtags2.c 2010-10-03 17:48:22.722000365 +0300 -+++ b/fs/yaffs2/yaffs_packedtags2.c 2010-10-03 18:03:47.524000359 +0300 +--- a/fs/yaffs2/yaffs_packedtags2.c ++++ b/fs/yaffs2/yaffs_packedtags2.c @@ -1,7 +1,7 @@ /* * YAFFS: Yet Another Flash File System. A NAND-flash specific file system. @@ -16987,9 +16952,8 @@ diff -Nrup a/fs/yaffs2/yaffs_packedtags2.c b/fs/yaffs2/yaffs_packedtags2.c - } -diff -Nrup a/fs/yaffs2/yaffs_packedtags2.h b/fs/yaffs2/yaffs_packedtags2.h ---- a/fs/yaffs2/yaffs_packedtags2.h 2010-10-03 17:48:22.722000365 +0300 -+++ b/fs/yaffs2/yaffs_packedtags2.h 2010-10-03 18:03:47.547000363 +0300 +--- a/fs/yaffs2/yaffs_packedtags2.h ++++ b/fs/yaffs2/yaffs_packedtags2.h @@ -1,7 +1,7 @@ /* * YAFFS: Yet another Flash File System . A NAND-flash specific file system. @@ -17010,9 +16974,8 @@ diff -Nrup a/fs/yaffs2/yaffs_packedtags2.h b/fs/yaffs2/yaffs_packedtags2.h /* Only the tags part (no ECC for use with inband tags */ void yaffs_PackTags2TagsPart(yaffs_PackedTags2TagsPart *pt, const yaffs_ExtendedTags *t); -diff -Nrup a/fs/yaffs2/yaffs_qsort.h b/fs/yaffs2/yaffs_qsort.h ---- a/fs/yaffs2/yaffs_qsort.h 2010-10-03 17:48:22.724000363 +0300 -+++ b/fs/yaffs2/yaffs_qsort.h 2010-10-03 18:03:47.548000359 +0300 +--- a/fs/yaffs2/yaffs_qsort.h ++++ b/fs/yaffs2/yaffs_qsort.h @@ -1,7 +1,7 @@ /* * YAFFS: Yet another Flash File System . A NAND-flash specific file system. @@ -17041,9 +17004,8 @@ diff -Nrup a/fs/yaffs2/yaffs_qsort.h b/fs/yaffs2/yaffs_qsort.h #endif +#endif -diff -Nrup a/fs/yaffs2/yaffs_tagscompat.c b/fs/yaffs2/yaffs_tagscompat.c ---- a/fs/yaffs2/yaffs_tagscompat.c 2010-10-03 17:48:22.724000363 +0300 -+++ b/fs/yaffs2/yaffs_tagscompat.c 2010-10-03 18:03:47.525000359 +0300 +--- a/fs/yaffs2/yaffs_tagscompat.c ++++ b/fs/yaffs2/yaffs_tagscompat.c @@ -1,7 +1,7 @@ /* * YAFFS: Yet Another Flash File System. A NAND-flash specific file system. @@ -17171,9 +17133,8 @@ diff -Nrup a/fs/yaffs2/yaffs_tagscompat.c b/fs/yaffs2/yaffs_tagscompat.c &spare1, &dummy, 1); if (yaffs_CountBits(spare0.blockStatus & spare1.blockStatus) < 7) -diff -Nrup a/fs/yaffs2/yaffs_tagscompat.h b/fs/yaffs2/yaffs_tagscompat.h ---- a/fs/yaffs2/yaffs_tagscompat.h 2010-10-03 17:48:22.724000363 +0300 -+++ b/fs/yaffs2/yaffs_tagscompat.h 2010-10-03 18:03:47.548000359 +0300 +--- a/fs/yaffs2/yaffs_tagscompat.h ++++ b/fs/yaffs2/yaffs_tagscompat.h @@ -1,7 +1,7 @@ /* * YAFFS: Yet another Flash File System . A NAND-flash specific file system. @@ -17183,9 +17144,8 @@ diff -Nrup a/fs/yaffs2/yaffs_tagscompat.h b/fs/yaffs2/yaffs_tagscompat.h * for Toby Churchill Ltd and Brightstar Engineering * * Created by Charles Manning -diff -Nrup a/fs/yaffs2/yaffs_tagsvalidity.c b/fs/yaffs2/yaffs_tagsvalidity.c ---- a/fs/yaffs2/yaffs_tagsvalidity.c 2010-10-03 17:48:22.725000363 +0300 -+++ b/fs/yaffs2/yaffs_tagsvalidity.c 2010-10-03 18:03:47.526000362 +0300 +--- a/fs/yaffs2/yaffs_tagsvalidity.c ++++ b/fs/yaffs2/yaffs_tagsvalidity.c @@ -1,7 +1,7 @@ /* * YAFFS: Yet Another Flash File System. A NAND-flash specific file system. @@ -17195,9 +17155,8 @@ diff -Nrup a/fs/yaffs2/yaffs_tagsvalidity.c b/fs/yaffs2/yaffs_tagsvalidity.c * for Toby Churchill Ltd and Brightstar Engineering * * Created by Charles Manning -diff -Nrup a/fs/yaffs2/yaffs_tagsvalidity.h b/fs/yaffs2/yaffs_tagsvalidity.h ---- a/fs/yaffs2/yaffs_tagsvalidity.h 2010-10-03 17:48:22.725000363 +0300 -+++ b/fs/yaffs2/yaffs_tagsvalidity.h 2010-10-03 18:03:47.549000359 +0300 +--- a/fs/yaffs2/yaffs_tagsvalidity.h ++++ b/fs/yaffs2/yaffs_tagsvalidity.h @@ -1,7 +1,7 @@ /* * YAFFS: Yet another Flash File System . A NAND-flash specific file system. @@ -17207,9 +17166,8 @@ diff -Nrup a/fs/yaffs2/yaffs_tagsvalidity.h b/fs/yaffs2/yaffs_tagsvalidity.h * for Toby Churchill Ltd and Brightstar Engineering * * Created by Charles Manning -diff -Nrup a/fs/yaffs2/yaffs_trace.h b/fs/yaffs2/yaffs_trace.h ---- a/fs/yaffs2/yaffs_trace.h 1970-01-01 02:00:00.000000000 +0200 -+++ b/fs/yaffs2/yaffs_trace.h 2010-10-03 18:03:47.550000362 +0300 +--- /dev/null ++++ b/fs/yaffs2/yaffs_trace.h @@ -0,0 +1,60 @@ +/* + * YAFFS: Yet another Flash File System . A NAND-flash specific file system. @@ -17271,9 +17229,8 @@ diff -Nrup a/fs/yaffs2/yaffs_trace.h b/fs/yaffs2/yaffs_trace.h +#define T(mask, p) do { if ((mask) & (yaffs_traceMask | YAFFS_TRACE_ALWAYS)) TOUT(p); } while (0) + +#endif -diff -Nrup a/fs/yaffs2/yaffs_verify.c b/fs/yaffs2/yaffs_verify.c ---- a/fs/yaffs2/yaffs_verify.c 1970-01-01 02:00:00.000000000 +0200 -+++ b/fs/yaffs2/yaffs_verify.c 2010-10-03 18:03:47.527000365 +0300 +--- /dev/null ++++ b/fs/yaffs2/yaffs_verify.c @@ -0,0 +1,626 @@ +/* + * YAFFS: Yet Another Flash File System. A NAND-flash specific file system. @@ -17901,9 +17858,8 @@ diff -Nrup a/fs/yaffs2/yaffs_verify.c b/fs/yaffs2/yaffs_verify.c + return YAFFS_OK; +#endif +} -diff -Nrup a/fs/yaffs2/yaffs_verify.h b/fs/yaffs2/yaffs_verify.h ---- a/fs/yaffs2/yaffs_verify.h 1970-01-01 02:00:00.000000000 +0200 -+++ b/fs/yaffs2/yaffs_verify.h 2010-10-03 18:03:47.551000365 +0300 +--- /dev/null ++++ b/fs/yaffs2/yaffs_verify.h @@ -0,0 +1,39 @@ +/* + * YAFFS: Yet Another Flash File System. A NAND-flash specific file system. @@ -17944,9 +17900,8 @@ diff -Nrup a/fs/yaffs2/yaffs_verify.h b/fs/yaffs2/yaffs_verify.h + +#endif + -diff -Nrup a/fs/yaffs2/yaffs_vfs_glue.c b/fs/yaffs2/yaffs_vfs_glue.c ---- a/fs/yaffs2/yaffs_vfs_glue.c 1970-01-01 02:00:00.000000000 +0200 -+++ b/fs/yaffs2/yaffs_vfs_glue.c 2010-10-03 18:03:47.557000359 +0300 +--- /dev/null ++++ b/fs/yaffs2/yaffs_vfs_glue.c @@ -0,0 +1,3577 @@ +/* + * YAFFS: Yet Another Flash File System. A NAND-flash specific file system. @@ -21525,9 +21480,8 @@ diff -Nrup a/fs/yaffs2/yaffs_vfs_glue.c b/fs/yaffs2/yaffs_vfs_glue.c +MODULE_DESCRIPTION("YAFFS2 - a NAND specific flash file system"); +MODULE_AUTHOR("Charles Manning, Aleph One Ltd., 2002-2010"); +MODULE_LICENSE("GPL"); -diff -Nrup a/fs/yaffs2/yaffs_yaffs1.c b/fs/yaffs2/yaffs_yaffs1.c ---- a/fs/yaffs2/yaffs_yaffs1.c 1970-01-01 02:00:00.000000000 +0200 -+++ b/fs/yaffs2/yaffs_yaffs1.c 2010-10-03 18:03:47.535000365 +0300 +--- /dev/null ++++ b/fs/yaffs2/yaffs_yaffs1.c @@ -0,0 +1,465 @@ +/* + * YAFFS: Yet Another Flash File System. A NAND-flash specific file system. @@ -21994,9 +21948,8 @@ diff -Nrup a/fs/yaffs2/yaffs_yaffs1.c b/fs/yaffs2/yaffs_yaffs1.c + return YAFFS_OK; +} + -diff -Nrup a/fs/yaffs2/yaffs_yaffs1.h b/fs/yaffs2/yaffs_yaffs1.h ---- a/fs/yaffs2/yaffs_yaffs1.h 1970-01-01 02:00:00.000000000 +0200 -+++ b/fs/yaffs2/yaffs_yaffs1.h 2010-10-03 18:03:47.551000365 +0300 +--- /dev/null ++++ b/fs/yaffs2/yaffs_yaffs1.h @@ -0,0 +1,22 @@ +/* + * YAFFS: Yet another Flash File System . A NAND-flash specific file system. @@ -22020,9 +21973,8 @@ diff -Nrup a/fs/yaffs2/yaffs_yaffs1.h b/fs/yaffs2/yaffs_yaffs1.h +int yaffs1_Scan(yaffs_Device *dev); + +#endif -diff -Nrup a/fs/yaffs2/yaffs_yaffs2.c b/fs/yaffs2/yaffs_yaffs2.c ---- a/fs/yaffs2/yaffs_yaffs2.c 1970-01-01 02:00:00.000000000 +0200 -+++ b/fs/yaffs2/yaffs_yaffs2.c 2010-10-03 18:03:47.536000367 +0300 +--- /dev/null ++++ b/fs/yaffs2/yaffs_yaffs2.c @@ -0,0 +1,1540 @@ +/* + * YAFFS: Yet Another Flash File System. A NAND-flash specific file system. @@ -23564,9 +23516,8 @@ diff -Nrup a/fs/yaffs2/yaffs_yaffs2.c b/fs/yaffs2/yaffs_yaffs2.c + + return YAFFS_OK; +} -diff -Nrup a/fs/yaffs2/yaffs_yaffs2.h b/fs/yaffs2/yaffs_yaffs2.h ---- a/fs/yaffs2/yaffs_yaffs2.h 1970-01-01 02:00:00.000000000 +0200 -+++ b/fs/yaffs2/yaffs_yaffs2.h 2010-10-03 18:03:47.552000367 +0300 +--- /dev/null ++++ b/fs/yaffs2/yaffs_yaffs2.h @@ -0,0 +1,36 @@ +/* + * YAFFS: Yet Another Flash File System. A NAND-flash specific file system. @@ -23604,9 +23555,8 @@ diff -Nrup a/fs/yaffs2/yaffs_yaffs2.h b/fs/yaffs2/yaffs_yaffs2.h +int yaffs2_ScanBackwards(yaffs_Device *dev); + +#endif -diff -Nrup a/fs/yaffs2/yportenv.h b/fs/yaffs2/yportenv.h ---- a/fs/yaffs2/yportenv.h 2010-10-03 17:48:22.725000364 +0300 -+++ b/fs/yaffs2/yportenv.h 2010-10-03 18:03:47.555000363 +0300 +--- a/fs/yaffs2/yportenv.h ++++ b/fs/yaffs2/yportenv.h @@ -1,7 +1,7 @@ /* * YAFFS: Yet another Flash File System . A NAND-flash specific file system. diff --git a/target/linux/generic/patches-2.6.36/600-phy_extension.patch b/target/linux/generic/patches-2.6.36/600-phy_extension.patch index 5a042405a2..1e281dd927 100644 --- a/target/linux/generic/patches-2.6.36/600-phy_extension.patch +++ b/target/linux/generic/patches-2.6.36/600-phy_extension.patch @@ -51,7 +51,7 @@ /** * phy_mii_ioctl - generic PHY MII ioctl interface * @phydev: the phy_device struct -@@ -351,7 +395,7 @@ int phy_mii_ioctl(struct phy_device *phy +@@ -352,7 +396,7 @@ int phy_mii_ioctl(struct phy_device *phy } phy_write(phydev, mii_data->reg_num, val); @@ -60,7 +60,7 @@ if (mii_data->reg_num == MII_BMCR && val & BMCR_RESET && phydev->drv->config_init) { -@@ -465,7 +509,7 @@ static void phy_force_reduction(struct p +@@ -471,7 +515,7 @@ static void phy_force_reduction(struct p int idx; idx = phy_find_setting(phydev->speed, phydev->duplex); @@ -71,11 +71,11 @@ idx = phy_find_valid(idx, phydev->supported); --- a/include/linux/phy.h +++ b/include/linux/phy.h -@@ -497,6 +497,7 @@ void phy_start_machine(struct phy_device +@@ -519,6 +519,7 @@ void phy_start_machine(struct phy_device void phy_stop_machine(struct phy_device *phydev); int phy_ethtool_sset(struct phy_device *phydev, struct ethtool_cmd *cmd); int phy_ethtool_gset(struct phy_device *phydev, struct ethtool_cmd *cmd); +int phy_ethtool_ioctl(struct phy_device *phydev, void *useraddr); int phy_mii_ioctl(struct phy_device *phydev, - struct mii_ioctl_data *mii_data, int cmd); + struct ifreq *ifr, int cmd); int phy_start_interrupts(struct phy_device *phydev); diff --git a/target/linux/generic/patches-2.6.36/601-phy-add-aneg-done-function.patch b/target/linux/generic/patches-2.6.36/601-phy-add-aneg-done-function.patch index f64ecea245..94fd3db3f6 100644 --- a/target/linux/generic/patches-2.6.36/601-phy-add-aneg-done-function.patch +++ b/target/linux/generic/patches-2.6.36/601-phy-add-aneg-done-function.patch @@ -1,6 +1,6 @@ --- a/include/linux/phy.h +++ b/include/linux/phy.h -@@ -384,9 +384,18 @@ struct phy_driver { +@@ -386,9 +386,18 @@ struct phy_driver { */ int (*config_aneg)(struct phy_device *phydev); @@ -21,7 +21,7 @@ --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -710,6 +710,9 @@ int genphy_update_link(struct phy_device +@@ -714,6 +714,9 @@ int genphy_update_link(struct phy_device { int status; diff --git a/target/linux/generic/patches-2.6.36/630-phy_packets.patch b/target/linux/generic/patches-2.6.36/630-phy_packets.patch index 93ec8f947e..57fe19f41b 100644 --- a/target/linux/generic/patches-2.6.36/630-phy_packets.patch +++ b/target/linux/generic/patches-2.6.36/630-phy_packets.patch @@ -30,7 +30,7 @@ INIT_DELAYED_WORK(&dev->state_queue, phy_state_machine); --- a/include/linux/phy.h +++ b/include/linux/phy.h -@@ -330,6 +330,20 @@ struct phy_device { +@@ -332,6 +332,20 @@ struct phy_device { void (*adjust_link)(struct net_device *dev); void (*adjust_state)(struct net_device *dev); @@ -53,7 +53,7 @@ --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -932,6 +932,7 @@ struct net_device { +@@ -949,6 +949,7 @@ struct net_device { void *ax25_ptr; /* AX.25 specific data */ struct wireless_dev *ieee80211_ptr; /* IEEE 802.11 specific data, assign before registering */ diff --git a/target/linux/generic/patches-2.6.36/700-rtc7301.patch b/target/linux/generic/patches-2.6.36/700-rtc7301.patch index 7a2126b7e7..5d8cd7fc13 100644 --- a/target/linux/generic/patches-2.6.36/700-rtc7301.patch +++ b/target/linux/generic/patches-2.6.36/700-rtc7301.patch @@ -1,6 +1,6 @@ --- a/drivers/rtc/Kconfig +++ b/drivers/rtc/Kconfig -@@ -625,6 +625,15 @@ config RTC_DRV_NUC900 +@@ -654,6 +654,15 @@ config RTC_DRV_NUC900 If you say yes here you get support for the RTC subsystem of the NUC910/NUC920 used in embedded systems. @@ -18,7 +18,7 @@ config RTC_DRV_DAVINCI --- a/drivers/rtc/Makefile +++ b/drivers/rtc/Makefile -@@ -76,6 +76,7 @@ obj-$(CONFIG_RTC_DRV_RP5C01) += rtc-rp5c +@@ -80,6 +80,7 @@ obj-$(CONFIG_RTC_DRV_RP5C01) += rtc-rp5c obj-$(CONFIG_RTC_DRV_RS5C313) += rtc-rs5c313.o obj-$(CONFIG_RTC_DRV_RS5C348) += rtc-rs5c348.o obj-$(CONFIG_RTC_DRV_RS5C372) += rtc-rs5c372.o diff --git a/target/linux/generic/patches-2.6.36/750-glamo-headers.patch b/target/linux/generic/patches-2.6.36/750-glamo-headers.patch index 92ab238de1..c0195f7659 100644 --- a/target/linux/generic/patches-2.6.36/750-glamo-headers.patch +++ b/target/linux/generic/patches-2.6.36/750-glamo-headers.patch @@ -1,6 +1,6 @@ --- a/include/linux/fb.h +++ b/include/linux/fb.h -@@ -122,6 +122,7 @@ +@@ -125,6 +125,7 @@ #define FB_ACCEL_TRIDENT_BLADE3D 52 /* Trident Blade3D */ #define FB_ACCEL_TRIDENT_BLADEXP 53 /* Trident BladeXP */ #define FB_ACCEL_CIRRUS_ALPINE 53 /* Cirrus Logic 543x/544x/5480 */ diff --git a/target/linux/generic/patches-2.6.36/801-usb_serial_endpoint_size.patch b/target/linux/generic/patches-2.6.36/801-usb_serial_endpoint_size.patch index cfbcbe88fb..00a1a860ef 100644 --- a/target/linux/generic/patches-2.6.36/801-usb_serial_endpoint_size.patch +++ b/target/linux/generic/patches-2.6.36/801-usb_serial_endpoint_size.patch @@ -8,7 +8,7 @@ static int debug; /* initially all NULL */ static struct usb_serial *serial_table[SERIAL_TTY_MINORS]; -@@ -912,7 +913,7 @@ int usb_serial_probe(struct usb_interfac +@@ -901,7 +902,7 @@ int usb_serial_probe(struct usb_interfac } buffer_size = serial->type->bulk_in_size; if (!buffer_size) @@ -17,7 +17,7 @@ port->bulk_in_size = buffer_size; port->bulk_in_endpointAddress = endpoint->bEndpointAddress; port->bulk_in_buffer = kmalloc(buffer_size, GFP_KERNEL); -@@ -1382,3 +1383,5 @@ MODULE_LICENSE("GPL"); +@@ -1373,3 +1374,5 @@ MODULE_LICENSE("GPL"); module_param(debug, bool, S_IRUGO | S_IWUSR); MODULE_PARM_DESC(debug, "Debug enabled or not"); diff --git a/target/linux/generic/patches-2.6.36/840-unable_to_open_console.patch b/target/linux/generic/patches-2.6.36/840-unable_to_open_console.patch index de00f9f8db..e6252561d6 100644 --- a/target/linux/generic/patches-2.6.36/840-unable_to_open_console.patch +++ b/target/linux/generic/patches-2.6.36/840-unable_to_open_console.patch @@ -1,6 +1,6 @@ --- a/init/main.c +++ b/init/main.c -@@ -903,7 +903,7 @@ static int __init kernel_init(void * unu +@@ -894,7 +894,7 @@ static int __init kernel_init(void * unu /* Open the /dev/console on the rootfs, this should never fail */ if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0) diff --git a/target/linux/generic/patches-2.6.36/902-darwin_scripts_include.patch b/target/linux/generic/patches-2.6.36/902-darwin_scripts_include.patch index 864a017669..59cefe4f36 100644 --- a/target/linux/generic/patches-2.6.36/902-darwin_scripts_include.patch +++ b/target/linux/generic/patches-2.6.36/902-darwin_scripts_include.patch @@ -62,7 +62,7 @@ #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr[0])) --- a/scripts/kconfig/Makefile +++ b/scripts/kconfig/Makefile -@@ -144,6 +144,9 @@ check-lxdialog := $(srctree)/$(src)/lxd +@@ -147,6 +147,9 @@ check-lxdialog := $(srctree)/$(src)/lxd # we really need to do so. (Do not call gcc as part of make mrproper) HOST_EXTRACFLAGS = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ccflags) HOST_LOADLIBES = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC)) diff --git a/target/linux/generic/patches-2.6.36/903-hostap_txpower.patch b/target/linux/generic/patches-2.6.36/903-hostap_txpower.patch index 5c2d3825e0..e40053170c 100644 --- a/target/linux/generic/patches-2.6.36/903-hostap_txpower.patch +++ b/target/linux/generic/patches-2.6.36/903-hostap_txpower.patch @@ -1,6 +1,6 @@ --- a/drivers/net/wireless/hostap/hostap_ap.c +++ b/drivers/net/wireless/hostap/hostap_ap.c -@@ -2336,13 +2336,13 @@ int prism2_ap_get_sta_qual(local_info_t +@@ -2335,13 +2335,13 @@ int prism2_ap_get_sta_qual(local_info_t addr[count].sa_family = ARPHRD_ETHER; memcpy(addr[count].sa_data, sta->addr, ETH_ALEN); if (sta->last_rx_silence == 0) @@ -20,7 +20,7 @@ qual[count].updated = sta->last_rx_updated; sta->last_rx_updated = IW_QUAL_DBM; -@@ -2408,13 +2408,13 @@ int prism2_ap_translate_scan(struct net_ +@@ -2407,13 +2407,13 @@ int prism2_ap_translate_scan(struct net_ memset(&iwe, 0, sizeof(iwe)); iwe.cmd = IWEVQUAL; if (sta->last_rx_silence == 0) diff --git a/target/linux/generic/patches-2.6.36/922-gpiommc.patch b/target/linux/generic/patches-2.6.36/922-gpiommc.patch index 379f4f9382..887bb3ca45 100644 --- a/target/linux/generic/patches-2.6.36/922-gpiommc.patch +++ b/target/linux/generic/patches-2.6.36/922-gpiommc.patch @@ -611,7 +611,7 @@ +module_exit(gpiommc_modexit); --- a/drivers/mmc/host/Kconfig +++ b/drivers/mmc/host/Kconfig -@@ -382,6 +382,31 @@ config MMC_TMIO +@@ -392,6 +392,31 @@ config MMC_TMIO This provides support for the SD/MMC cell found in TC6393XB, T7L66XB and also HTC ASIC3 @@ -645,14 +645,14 @@ depends on PCI --- a/drivers/mmc/host/Makefile +++ b/drivers/mmc/host/Makefile -@@ -34,6 +34,7 @@ obj-$(CONFIG_MMC_SDRICOH_CS) += sdricoh_ +@@ -33,6 +33,7 @@ obj-$(CONFIG_MMC_SDRICOH_CS) += sdricoh_ obj-$(CONFIG_MMC_TMIO) += tmio_mmc.o obj-$(CONFIG_MMC_CB710) += cb710-mmc.o obj-$(CONFIG_MMC_VIA_SDMMC) += via-sdmmc.o +obj-$(CONFIG_GPIOMMC) += gpiommc.o obj-$(CONFIG_SDH_BFIN) += bfin_sdh.o obj-$(CONFIG_MMC_SH_MMCIF) += sh_mmcif.o - + obj-$(CONFIG_MMC_JZ4740) += jz4740_mmc.o --- /dev/null +++ b/include/linux/mmc/gpiommc.h @@ -0,0 +1,71 @@ @@ -829,7 +829,7 @@ +be done automatically. --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -2591,6 +2591,11 @@ T: git git://git.kernel.org/pub/scm/linu +@@ -2662,6 +2662,11 @@ T: git git://git.kernel.org/pub/scm/linu S: Maintained F: drivers/media/video/gspca/ @@ -839,5 +839,5 @@ +S: Maintained + HARDWARE MONITORING - L: lm-sensors@lm-sensors.org - W: http://www.lm-sensors.org/ + M: Jean Delvare + M: Guenter Roeck diff --git a/target/linux/generic/patches-2.6.36/924-cs5535_gpio.patch b/target/linux/generic/patches-2.6.36/924-cs5535_gpio.patch index 4cb3031db5..9081be84a4 100644 --- a/target/linux/generic/patches-2.6.36/924-cs5535_gpio.patch +++ b/target/linux/generic/patches-2.6.36/924-cs5535_gpio.patch @@ -8,7 +8,7 @@ #include #include -@@ -48,6 +49,7 @@ static struct pci_device_id divil_pci[] +@@ -48,6 +49,7 @@ static struct pci_device_id divil_pci[] MODULE_DEVICE_TABLE(pci, divil_pci); static struct cdev cs5535_gpio_cdev; diff --git a/target/linux/generic/patches-2.6.36/930-crashlog.patch b/target/linux/generic/patches-2.6.36/930-crashlog.patch index a927392b9e..fcffa1db0a 100644 --- a/target/linux/generic/patches-2.6.36/930-crashlog.patch +++ b/target/linux/generic/patches-2.6.36/930-crashlog.patch @@ -15,7 +15,7 @@ +#endif --- a/init/Kconfig +++ b/init/Kconfig -@@ -749,6 +749,10 @@ config NET_NS +@@ -753,6 +753,10 @@ config NET_NS Allow user space to create what appear to be multiple instances of the network stack. @@ -28,7 +28,7 @@ depends on BROKEN || !FRV --- a/kernel/Makefile +++ b/kernel/Makefile -@@ -105,6 +105,7 @@ obj-$(CONFIG_PERF_EVENTS) += perf_event. +@@ -104,6 +104,7 @@ obj-$(CONFIG_PERF_EVENTS) += perf_event. obj-$(CONFIG_HAVE_HW_BREAKPOINT) += hw_breakpoint.o obj-$(CONFIG_USER_RETURN_NOTIFIER) += user-return-notifier.o obj-$(CONFIG_PADATA) += padata.o diff --git a/target/linux/generic/patches-2.6.36/940-wireless_mesh_header.patch b/target/linux/generic/patches-2.6.36/940-wireless_mesh_header.patch index 8f6bdde542..271f8e3591 100644 --- a/target/linux/generic/patches-2.6.36/940-wireless_mesh_header.patch +++ b/target/linux/generic/patches-2.6.36/940-wireless_mesh_header.patch @@ -1,6 +1,6 @@ --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -139,7 +139,7 @@ static inline bool dev_xmit_complete(int +@@ -145,7 +145,7 @@ static inline bool dev_xmit_complete(int */ #if defined(CONFIG_WLAN) || defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE) diff --git a/target/linux/generic/patches-2.6.36/970-ocf_kbuild_integration.patch b/target/linux/generic/patches-2.6.36/970-ocf_kbuild_integration.patch index 1e95858e46..f0ac7cb887 100644 --- a/target/linux/generic/patches-2.6.36/970-ocf_kbuild_integration.patch +++ b/target/linux/generic/patches-2.6.36/970-ocf_kbuild_integration.patch @@ -1,6 +1,6 @@ --- a/crypto/Kconfig +++ b/crypto/Kconfig -@@ -844,3 +844,6 @@ config CRYPTO_ANSI_CPRNG +@@ -849,3 +849,6 @@ config CRYPTO_ANSI_CPRNG source "drivers/crypto/Kconfig" endif # if CRYPTO diff --git a/target/linux/generic/patches-2.6.36/971-ocf_20100325.patch b/target/linux/generic/patches-2.6.36/971-ocf_20100325.patch index fe96d7937a..e3ecbbeaa0 100644 --- a/target/linux/generic/patches-2.6.36/971-ocf_20100325.patch +++ b/target/linux/generic/patches-2.6.36/971-ocf_20100325.patch @@ -24,7 +24,7 @@ * All of these routines try to estimate how many bits of randomness a * particular randomness source. They do this by keeping track of the * first and second order deltas of the event timings. -@@ -715,6 +725,61 @@ void add_disk_randomness(struct gendisk +@@ -715,6 +725,61 @@ void add_disk_randomness(struct gendisk } #endif @@ -160,7 +160,7 @@ --- a/kernel/pid.c +++ b/kernel/pid.c -@@ -389,6 +389,7 @@ struct task_struct *find_task_by_vpid(pi +@@ -423,6 +423,7 @@ struct task_struct *find_task_by_vpid(pi { return find_task_by_pid_ns(vnr, current->nsproxy->pid_ns); } diff --git a/target/linux/generic/patches-2.6.36/977-textsearch_kconfig_hacks.patch b/target/linux/generic/patches-2.6.36/977-textsearch_kconfig_hacks.patch index e9577ba5a0..5b4084ee8c 100644 --- a/target/linux/generic/patches-2.6.36/977-textsearch_kconfig_hacks.patch +++ b/target/linux/generic/patches-2.6.36/977-textsearch_kconfig_hacks.patch @@ -1,6 +1,6 @@ --- a/lib/Kconfig +++ b/lib/Kconfig -@@ -158,16 +158,16 @@ config REED_SOLOMON_DEC16 +@@ -161,16 +161,16 @@ config REED_SOLOMON_DEC16 # Textsearch support is select'ed if needed # config TEXTSEARCH diff --git a/target/linux/generic/patches-2.6.36/980-vm_exports.patch b/target/linux/generic/patches-2.6.36/980-vm_exports.patch index c372e95703..8cd8b16c53 100644 --- a/target/linux/generic/patches-2.6.36/980-vm_exports.patch +++ b/target/linux/generic/patches-2.6.36/980-vm_exports.patch @@ -1,14 +1,14 @@ --- a/mm/shmem.c +++ b/mm/shmem.c -@@ -29,6 +29,7 @@ - #include +@@ -30,6 +30,7 @@ #include + #include #include +#include static struct vfsmount *shm_mnt; -@@ -2675,6 +2676,16 @@ out: +@@ -2702,6 +2703,16 @@ out: /* common code */ @@ -25,7 +25,7 @@ /** * shmem_file_setup - get an unlinked file living in tmpfs * @name: name for dentry (to be seen in /proc//maps -@@ -2752,9 +2763,6 @@ int shmem_zero_setup(struct vm_area_stru +@@ -2779,9 +2790,6 @@ int shmem_zero_setup(struct vm_area_stru if (IS_ERR(file)) return PTR_ERR(file); @@ -38,7 +38,7 @@ } --- a/fs/file.c +++ b/fs/file.c -@@ -271,6 +271,7 @@ int expand_files(struct files_struct *fi +@@ -264,6 +264,7 @@ int expand_files(struct files_struct *fi /* All good, so we try */ return expand_fdtable(files, nr); } @@ -76,7 +76,7 @@ * macro override instead of weak attribute alias, to workaround --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -4261,6 +4261,7 @@ int can_nice(const struct task_struct *p +@@ -4446,6 +4446,7 @@ int can_nice(const struct task_struct *p return (nice_rlim <= task_rlimit(p, RLIMIT_NICE) || capable(CAP_SYS_NICE)); } @@ -86,7 +86,7 @@ --- a/mm/memory.c +++ b/mm/memory.c -@@ -1203,6 +1203,7 @@ unsigned long zap_page_range(struct vm_a +@@ -1201,6 +1201,7 @@ unsigned long zap_page_range(struct vm_a tlb_finish_mmu(tlb, address, end); return end; } @@ -94,7 +94,7 @@ /** * zap_vma_ptes - remove ptes mapping the vma -@@ -2615,6 +2616,7 @@ int vmtruncate_range(struct inode *inode +@@ -2612,6 +2613,7 @@ int vmtruncate_range(struct inode *inode return 0; } @@ -104,7 +104,7 @@ * We enter with non-exclusive mmap_sem (to exclude vma changes, --- a/mm/vmalloc.c +++ b/mm/vmalloc.c -@@ -1173,6 +1173,7 @@ void unmap_kernel_range(unsigned long ad +@@ -1177,6 +1177,7 @@ void unmap_kernel_range(unsigned long ad vunmap_page_range(addr, end); flush_tlb_kernel_range(addr, end); } @@ -112,7 +112,7 @@ int map_vm_area(struct vm_struct *area, pgprot_t prot, struct page ***pages) { -@@ -1288,6 +1289,7 @@ struct vm_struct *get_vm_area(unsigned l +@@ -1292,6 +1293,7 @@ struct vm_struct *get_vm_area(unsigned l return __get_vm_area_node(size, 1, flags, VMALLOC_START, VMALLOC_END, -1, GFP_KERNEL, __builtin_return_address(0)); } @@ -122,7 +122,7 @@ void *caller) --- a/include/linux/mm.h +++ b/include/linux/mm.h -@@ -732,6 +732,7 @@ extern void show_free_areas(void); +@@ -736,6 +736,7 @@ extern void show_free_areas(void); int shmem_lock(struct file *file, int lock, struct user_struct *user); struct file *shmem_file_setup(const char *name, loff_t size, unsigned long flags); diff --git a/target/linux/generic/patches-2.6.36/998-openwrt_lzma_options.patch b/target/linux/generic/patches-2.6.36/998-openwrt_lzma_options.patch index e63d733be9..77161f684d 100644 --- a/target/linux/generic/patches-2.6.36/998-openwrt_lzma_options.patch +++ b/target/linux/generic/patches-2.6.36/998-openwrt_lzma_options.patch @@ -1,6 +1,6 @@ --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib -@@ -238,7 +238,7 @@ cmd_bzip2 = (cat $(filter-out FORCE,$^) +@@ -238,7 +238,7 @@ cmd_bzip2 = (cat $(filter-out FORCE,$^) quiet_cmd_lzma = LZMA $@ cmd_lzma = (cat $(filter-out FORCE,$^) | \ diff --git a/target/linux/generic/patches-2.6.36/999-use_preinit_as_init.patch b/target/linux/generic/patches-2.6.36/999-use_preinit_as_init.patch index 836586a40a..32a799a2f1 100644 --- a/target/linux/generic/patches-2.6.36/999-use_preinit_as_init.patch +++ b/target/linux/generic/patches-2.6.36/999-use_preinit_as_init.patch @@ -1,6 +1,6 @@ --- a/init/main.c +++ b/init/main.c -@@ -854,10 +854,7 @@ static noinline int init_post(void) +@@ -848,10 +848,7 @@ static noinline int init_post(void) printk(KERN_WARNING "Failed to execute %s. Attempting " "defaults...\n", execute_command); }