diff options
Diffstat (limited to 'target/linux/generic-2.6/patches-2.6.23')
63 files changed, 819 insertions, 1383 deletions
diff --git a/target/linux/generic-2.6/patches-2.6.23/001-squashfs.patch b/target/linux/generic-2.6/patches-2.6.23/001-squashfs.patch index a5d4a0b..6fa0f0c 100644 --- a/target/linux/generic-2.6/patches-2.6.23/001-squashfs.patch +++ b/target/linux/generic-2.6/patches-2.6.23/001-squashfs.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/fs/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/fs/Kconfig -+++ linux-2.6.23.17/fs/Kconfig -@@ -1364,6 +1364,71 @@ config CRAMFS +--- a/fs/Kconfig ++++ b/fs/Kconfig +@@ -1364,6 +1364,71 @@ If unsure, say N. @@ -74,11 +72,9 @@ Index: linux-2.6.23.17/fs/Kconfig config VXFS_FS tristate "FreeVxFS file system support (VERITAS VxFS(TM) compatible)" depends on BLOCK -Index: linux-2.6.23.17/fs/Makefile -=================================================================== ---- linux-2.6.23.17.orig/fs/Makefile -+++ linux-2.6.23.17/fs/Makefile -@@ -72,6 +72,7 @@ obj-$(CONFIG_JBD) += jbd/ +--- a/fs/Makefile ++++ b/fs/Makefile +@@ -72,6 +72,7 @@ obj-$(CONFIG_JBD2) += jbd2/ obj-$(CONFIG_EXT2_FS) += ext2/ obj-$(CONFIG_CRAMFS) += cramfs/ @@ -86,10 +82,8 @@ Index: linux-2.6.23.17/fs/Makefile obj-$(CONFIG_RAMFS) += ramfs/ obj-$(CONFIG_HUGETLBFS) += hugetlbfs/ obj-$(CONFIG_CODA_FS) += coda/ -Index: linux-2.6.23.17/fs/squashfs/inode.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/fs/squashfs/inode.c ++++ b/fs/squashfs/inode.c @@ -0,0 +1,2122 @@ +/* + * Squashfs - a compressed read only filesystem for Linux @@ -2213,10 +2207,8 @@ Index: linux-2.6.23.17/fs/squashfs/inode.c +MODULE_DESCRIPTION("squashfs, a compressed read-only filesystem"); +MODULE_AUTHOR("Phillip Lougher <phillip@lougher.org.uk>"); +MODULE_LICENSE("GPL"); -Index: linux-2.6.23.17/fs/squashfs/Makefile -=================================================================== --- /dev/null -+++ linux-2.6.23.17/fs/squashfs/Makefile ++++ b/fs/squashfs/Makefile @@ -0,0 +1,7 @@ +# +# Makefile for the linux squashfs routines. @@ -2225,10 +2217,8 @@ Index: linux-2.6.23.17/fs/squashfs/Makefile +obj-$(CONFIG_SQUASHFS) += squashfs.o +squashfs-y += inode.o +squashfs-y += squashfs2_0.o -Index: linux-2.6.23.17/fs/squashfs/squashfs2_0.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/fs/squashfs/squashfs2_0.c ++++ b/fs/squashfs/squashfs2_0.c @@ -0,0 +1,758 @@ +/* + * Squashfs - a compressed read only filesystem for Linux @@ -2988,10 +2978,8 @@ Index: linux-2.6.23.17/fs/squashfs/squashfs2_0.c + + return 1; +} -Index: linux-2.6.23.17/fs/squashfs/squashfs.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/fs/squashfs/squashfs.h ++++ b/fs/squashfs/squashfs.h @@ -0,0 +1,86 @@ +/* + * Squashfs - a compressed read only filesystem for Linux @@ -3079,10 +3067,8 @@ Index: linux-2.6.23.17/fs/squashfs/squashfs.h + return 0; +} +#endif -Index: linux-2.6.23.17/include/linux/magic.h -=================================================================== ---- linux-2.6.23.17.orig/include/linux/magic.h -+++ linux-2.6.23.17/include/linux/magic.h +--- a/include/linux/magic.h ++++ b/include/linux/magic.h @@ -35,6 +35,9 @@ #define REISER2FS_SUPER_MAGIC_STRING "ReIsEr2Fs" #define REISER2FS_JR_SUPER_MAGIC_STRING "ReIsEr3Fs" @@ -3093,10 +3079,8 @@ Index: linux-2.6.23.17/include/linux/magic.h #define SMB_SUPER_MAGIC 0x517B #define USBDEVICE_SUPER_MAGIC 0x9fa2 -Index: linux-2.6.23.17/include/linux/squashfs_fs.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/squashfs_fs.h ++++ b/include/linux/squashfs_fs.h @@ -0,0 +1,911 @@ +#ifndef SQUASHFS_FS +#define SQUASHFS_FS @@ -4009,10 +3993,8 @@ Index: linux-2.6.23.17/include/linux/squashfs_fs.h + +#endif +#endif -Index: linux-2.6.23.17/include/linux/squashfs_fs_i.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/squashfs_fs_i.h ++++ b/include/linux/squashfs_fs_i.h @@ -0,0 +1,45 @@ +#ifndef SQUASHFS_FS_I +#define SQUASHFS_FS_I @@ -4059,10 +4041,8 @@ Index: linux-2.6.23.17/include/linux/squashfs_fs_i.h + struct inode vfs_inode; +}; +#endif -Index: linux-2.6.23.17/include/linux/squashfs_fs_sb.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/squashfs_fs_sb.h ++++ b/include/linux/squashfs_fs_sb.h @@ -0,0 +1,74 @@ +#ifndef SQUASHFS_FS_SB +#define SQUASHFS_FS_SB @@ -4138,10 +4118,8 @@ Index: linux-2.6.23.17/include/linux/squashfs_fs_sb.h + int (*read_fragment_index_table)(struct super_block *s); +}; +#endif -Index: linux-2.6.23.17/init/do_mounts_rd.c -=================================================================== ---- linux-2.6.23.17.orig/init/do_mounts_rd.c -+++ linux-2.6.23.17/init/do_mounts_rd.c +--- a/init/do_mounts_rd.c ++++ b/init/do_mounts_rd.c @@ -5,6 +5,7 @@ #include <linux/ext2_fs.h> #include <linux/romfs_fs.h> @@ -4150,7 +4128,7 @@ Index: linux-2.6.23.17/init/do_mounts_rd.c #include <linux/initrd.h> #include <linux/string.h> -@@ -39,6 +40,7 @@ static int __init crd_load(int in_fd, in +@@ -39,6 +40,7 @@ * numbers could not be found. * * We currently check for the following magic numbers: @@ -4158,7 +4136,7 @@ Index: linux-2.6.23.17/init/do_mounts_rd.c * minix * ext2 * romfs -@@ -53,6 +55,7 @@ identify_ramdisk_image(int fd, int start +@@ -53,6 +55,7 @@ struct ext2_super_block *ext2sb; struct romfs_super_block *romfsb; struct cramfs_super *cramfsb; @@ -4166,7 +4144,7 @@ Index: linux-2.6.23.17/init/do_mounts_rd.c int nblocks = -1; unsigned char *buf; -@@ -64,6 +67,7 @@ identify_ramdisk_image(int fd, int start +@@ -64,6 +67,7 @@ ext2sb = (struct ext2_super_block *) buf; romfsb = (struct romfs_super_block *) buf; cramfsb = (struct cramfs_super *) buf; @@ -4174,7 +4152,7 @@ Index: linux-2.6.23.17/init/do_mounts_rd.c memset(buf, 0xe5, size); /* -@@ -101,6 +105,15 @@ identify_ramdisk_image(int fd, int start +@@ -101,6 +105,15 @@ goto done; } diff --git a/target/linux/generic-2.6/patches-2.6.23/002-lzma_decompress.patch b/target/linux/generic-2.6/patches-2.6.23/002-lzma_decompress.patch index a191ae2..d6c7e31 100644 --- a/target/linux/generic-2.6/patches-2.6.23/002-lzma_decompress.patch +++ b/target/linux/generic-2.6/patches-2.6.23/002-lzma_decompress.patch @@ -1,7 +1,5 @@ -Index: linux-2.6.23.17/include/linux/LzmaDecode.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/LzmaDecode.h ++++ b/include/linux/LzmaDecode.h @@ -0,0 +1,100 @@ +/* + LzmaDecode.h @@ -103,10 +101,8 @@ Index: linux-2.6.23.17/include/linux/LzmaDecode.h + UInt32 *outSizeProcessed); + +#endif -Index: linux-2.6.23.17/lib/LzmaDecode.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/lib/LzmaDecode.c ++++ b/lib/LzmaDecode.c @@ -0,0 +1,663 @@ +/* + LzmaDecode.c @@ -771,11 +767,9 @@ Index: linux-2.6.23.17/lib/LzmaDecode.c + *outSizeProcessed = nowPos; + return LZMA_RESULT_OK; +} -Index: linux-2.6.23.17/lib/Makefile -=================================================================== ---- linux-2.6.23.17.orig/lib/Makefile -+++ linux-2.6.23.17/lib/Makefile -@@ -13,7 +13,7 @@ lib-$(CONFIG_SMP) += cpumask.o +--- a/lib/Makefile ++++ b/lib/Makefile +@@ -13,7 +13,7 @@ lib-y += kobject.o kref.o kobject_uevent.o klist.o obj-y += div64.o sort.o parser.o halfmd4.o debug_locks.o random32.o \ @@ -784,7 +778,7 @@ Index: linux-2.6.23.17/lib/Makefile ifeq ($(CONFIG_DEBUG_KOBJECT),y) CFLAGS_kobject.o += -DDEBUG -@@ -62,6 +62,7 @@ obj-$(CONFIG_SMP) += percpu_counter.o +@@ -62,6 +62,7 @@ obj-$(CONFIG_AUDIT_GENERIC) += audit.o obj-$(CONFIG_SWIOTLB) += swiotlb.o diff --git a/target/linux/generic-2.6/patches-2.6.23/003-squashfs_lzma.patch b/target/linux/generic-2.6/patches-2.6.23/003-squashfs_lzma.patch index cfcbcba..16cc873 100644 --- a/target/linux/generic-2.6/patches-2.6.23/003-squashfs_lzma.patch +++ b/target/linux/generic-2.6/patches-2.6.23/003-squashfs_lzma.patch @@ -1,7 +1,5 @@ -Index: linux-2.6.23.17/fs/squashfs/inode.c -=================================================================== ---- linux-2.6.23.17.orig/fs/squashfs/inode.c -+++ linux-2.6.23.17/fs/squashfs/inode.c +--- a/fs/squashfs/inode.c ++++ b/fs/squashfs/inode.c @@ -4,6 +4,9 @@ * Copyright (c) 2002, 2003, 2004, 2005, 2006 * Phillip Lougher <phillip@lougher.org.uk> @@ -40,7 +38,7 @@ Index: linux-2.6.23.17/fs/squashfs/inode.c static void squashfs_put_super(struct super_block *); static int squashfs_statfs(struct dentry *, struct kstatfs *); static int squashfs_symlink_readpage(struct file *file, struct page *page); -@@ -64,7 +81,11 @@ static int squashfs_get_sb(struct file_s +@@ -64,7 +81,11 @@ const char *, void *, struct vfsmount *); @@ -52,7 +50,7 @@ Index: linux-2.6.23.17/fs/squashfs/inode.c static struct file_system_type squashfs_fs_type = { .owner = THIS_MODULE, -@@ -249,6 +270,15 @@ SQSH_EXTERN unsigned int squashfs_read_d +@@ -249,6 +270,15 @@ if (compressed) { int zlib_err; @@ -68,7 +66,7 @@ Index: linux-2.6.23.17/fs/squashfs/inode.c stream.next_in = c_buffer; stream.avail_in = c_byte; stream.next_out = buffer; -@@ -263,7 +293,7 @@ SQSH_EXTERN unsigned int squashfs_read_d +@@ -263,7 +293,7 @@ bytes = 0; } else bytes = stream.total_out; @@ -77,7 +75,7 @@ Index: linux-2.6.23.17/fs/squashfs/inode.c up(&msblk->read_data_mutex); } -@@ -2045,15 +2075,19 @@ static int __init init_squashfs_fs(void) +@@ -2045,15 +2075,19 @@ printk(KERN_INFO "squashfs: version 3.0 (2006/03/15) " "Phillip Lougher\n"); @@ -97,7 +95,7 @@ Index: linux-2.6.23.17/fs/squashfs/inode.c destroy_inodecache(); } -@@ -2064,7 +2098,9 @@ out: +@@ -2064,7 +2098,9 @@ static void __exit exit_squashfs_fs(void) { diff --git a/target/linux/generic-2.6/patches-2.6.23/004-extra_optimization.patch b/target/linux/generic-2.6/patches-2.6.23/004-extra_optimization.patch index 6587064..7ee86d4 100644 --- a/target/linux/generic-2.6/patches-2.6.23/004-extra_optimization.patch +++ b/target/linux/generic-2.6/patches-2.6.23/004-extra_optimization.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/Makefile -=================================================================== ---- linux-2.6.23.17.orig/Makefile -+++ linux-2.6.23.17/Makefile -@@ -508,6 +508,9 @@ CFLAGS += $(call cc-option, -fn +--- a/Makefile ++++ b/Makefile +@@ -508,6 +508,9 @@ NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include) CHECKFLAGS += $(NOSTDINC_FLAGS) diff --git a/target/linux/generic-2.6/patches-2.6.23/006-gcc4_inline_fix.patch b/target/linux/generic-2.6/patches-2.6.23/006-gcc4_inline_fix.patch index 7ec5531..fac27e8 100644 --- a/target/linux/generic-2.6/patches-2.6.23/006-gcc4_inline_fix.patch +++ b/target/linux/generic-2.6/patches-2.6.23/006-gcc4_inline_fix.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/include/asm-mips/system.h -=================================================================== ---- linux-2.6.23.17.orig/include/asm-mips/system.h -+++ linux-2.6.23.17/include/asm-mips/system.h -@@ -181,7 +181,7 @@ extern __u64 __xchg_u64_unsupported_on_3 +--- a/include/asm-mips/system.h ++++ b/include/asm-mips/system.h +@@ -181,7 +181,7 @@ if something tries to do an invalid xchg(). */ extern void __xchg_called_with_bad_pointer(void); diff --git a/target/linux/generic-2.6/patches-2.6.23/007-samsung_flash.patch b/target/linux/generic-2.6/patches-2.6.23/007-samsung_flash.patch index 090e10a..335ffd9 100644 --- a/target/linux/generic-2.6/patches-2.6.23/007-samsung_flash.patch +++ b/target/linux/generic-2.6/patches-2.6.23/007-samsung_flash.patch @@ -1,7 +1,5 @@ -Index: linux-2.6.23.17/drivers/mtd/chips/cfi_cmdset_0002.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/mtd/chips/cfi_cmdset_0002.c -+++ linux-2.6.23.17/drivers/mtd/chips/cfi_cmdset_0002.c +--- a/drivers/mtd/chips/cfi_cmdset_0002.c ++++ b/drivers/mtd/chips/cfi_cmdset_0002.c @@ -51,6 +51,7 @@ #define SST49LF040B 0x0050 #define SST49LF008A 0x005a @@ -10,7 +8,7 @@ Index: linux-2.6.23.17/drivers/mtd/chips/cfi_cmdset_0002.c static int cfi_amdstd_read (struct mtd_info *, loff_t, size_t, size_t *, u_char *); static int cfi_amdstd_write_words(struct mtd_info *, loff_t, size_t, size_t *, const u_char *); -@@ -294,12 +295,19 @@ struct mtd_info *cfi_cmdset_0002(struct +@@ -294,12 +295,19 @@ if (extp->MajorVersion != '1' || (extp->MinorVersion < '0' || extp->MinorVersion > '4')) { diff --git a/target/linux/generic-2.6/patches-2.6.23/009-revert_intel_flash_breakage.patch b/target/linux/generic-2.6/patches-2.6.23/009-revert_intel_flash_breakage.patch index 5e70198..51b84a7 100644 --- a/target/linux/generic-2.6/patches-2.6.23/009-revert_intel_flash_breakage.patch +++ b/target/linux/generic-2.6/patches-2.6.23/009-revert_intel_flash_breakage.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/drivers/mtd/chips/cfi_cmdset_0001.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/mtd/chips/cfi_cmdset_0001.c -+++ linux-2.6.23.17/drivers/mtd/chips/cfi_cmdset_0001.c -@@ -933,7 +933,7 @@ static void __xipram xip_enable(struct m +--- a/drivers/mtd/chips/cfi_cmdset_0001.c ++++ b/drivers/mtd/chips/cfi_cmdset_0001.c +@@ -933,7 +933,7 @@ static int __xipram xip_wait_for_operation( struct map_info *map, struct flchip *chip, @@ -11,7 +9,7 @@ Index: linux-2.6.23.17/drivers/mtd/chips/cfi_cmdset_0001.c { struct cfi_private *cfi = map->fldrv_priv; struct cfi_pri_intelext *cfip = cfi->cmdset_priv; -@@ -942,7 +942,7 @@ static int __xipram xip_wait_for_operati +@@ -942,7 +942,7 @@ flstate_t oldstate, newstate; start = xip_currtime(); @@ -20,7 +18,7 @@ Index: linux-2.6.23.17/drivers/mtd/chips/cfi_cmdset_0001.c if (usec == 0) usec = 500000; done = 0; -@@ -1052,8 +1052,8 @@ static int __xipram xip_wait_for_operati +@@ -1052,8 +1052,8 @@ #define XIP_INVAL_CACHED_RANGE(map, from, size) \ INVALIDATE_CACHED_RANGE(map, from, size) @@ -31,7 +29,7 @@ Index: linux-2.6.23.17/drivers/mtd/chips/cfi_cmdset_0001.c #else -@@ -1065,65 +1065,65 @@ static int __xipram xip_wait_for_operati +@@ -1065,65 +1065,65 @@ static int inval_cache_and_wait_for_operation( struct map_info *map, struct flchip *chip, unsigned long cmd_adr, unsigned long inval_adr, int inval_len, @@ -132,7 +130,7 @@ Index: linux-2.6.23.17/drivers/mtd/chips/cfi_cmdset_0001.c /* Done and happy. */ chip->state = FL_STATUS; return 0; -@@ -1132,7 +1132,8 @@ static int inval_cache_and_wait_for_oper +@@ -1132,7 +1132,8 @@ #endif #define WAIT_TIMEOUT(map, chip, adr, udelay) \ @@ -142,7 +140,7 @@ Index: linux-2.6.23.17/drivers/mtd/chips/cfi_cmdset_0001.c static int do_point_onechip (struct map_info *map, struct flchip *chip, loff_t adr, size_t len) -@@ -1356,7 +1357,7 @@ static int __xipram do_write_oneword(str +@@ -1356,7 +1357,7 @@ ret = INVAL_CACHE_AND_WAIT(map, chip, adr, adr, map_bankwidth(map), @@ -151,7 +149,7 @@ Index: linux-2.6.23.17/drivers/mtd/chips/cfi_cmdset_0001.c if (ret) { xip_enable(map, chip, adr); printk(KERN_ERR "%s: word write error (status timeout)\n", map->name); -@@ -1593,7 +1594,7 @@ static int __xipram do_write_buffer(stru +@@ -1593,7 +1594,7 @@ ret = INVAL_CACHE_AND_WAIT(map, chip, cmd_adr, adr, len, @@ -160,7 +158,7 @@ Index: linux-2.6.23.17/drivers/mtd/chips/cfi_cmdset_0001.c if (ret) { map_write(map, CMD(0x70), cmd_adr); chip->state = FL_STATUS; -@@ -1728,7 +1729,7 @@ static int __xipram do_erase_oneblock(st +@@ -1728,7 +1729,7 @@ ret = INVAL_CACHE_AND_WAIT(map, chip, adr, adr, len, diff --git a/target/linux/generic-2.6/patches-2.6.23/010-disable_old_squashfs_compatibility.patch b/target/linux/generic-2.6/patches-2.6.23/010-disable_old_squashfs_compatibility.patch index 96155c1..01e2757 100644 --- a/target/linux/generic-2.6/patches-2.6.23/010-disable_old_squashfs_compatibility.patch +++ b/target/linux/generic-2.6/patches-2.6.23/010-disable_old_squashfs_compatibility.patch @@ -1,16 +1,12 @@ -Index: linux-2.6.23.17/fs/squashfs/Makefile -=================================================================== ---- linux-2.6.23.17.orig/fs/squashfs/Makefile -+++ linux-2.6.23.17/fs/squashfs/Makefile +--- a/fs/squashfs/Makefile ++++ b/fs/squashfs/Makefile @@ -4,4 +4,3 @@ obj-$(CONFIG_SQUASHFS) += squashfs.o squashfs-y += inode.o -squashfs-y += squashfs2_0.o -Index: linux-2.6.23.17/fs/squashfs/squashfs.h -=================================================================== ---- linux-2.6.23.17.orig/fs/squashfs/squashfs.h -+++ linux-2.6.23.17/fs/squashfs/squashfs.h +--- a/fs/squashfs/squashfs.h ++++ b/fs/squashfs/squashfs.h @@ -24,6 +24,9 @@ #ifdef CONFIG_SQUASHFS_1_0_COMPATIBILITY #undef CONFIG_SQUASHFS_1_0_COMPATIBILITY diff --git a/target/linux/generic-2.6/patches-2.6.23/011-mips_boot.patch b/target/linux/generic-2.6/patches-2.6.23/011-mips_boot.patch index 887f020..1bea326 100644 --- a/target/linux/generic-2.6/patches-2.6.23/011-mips_boot.patch +++ b/target/linux/generic-2.6/patches-2.6.23/011-mips_boot.patch @@ -1,7 +1,5 @@ -Index: linux-2.6.23.17/arch/mips/kernel/head.S -=================================================================== ---- linux-2.6.23.17.orig/arch/mips/kernel/head.S -+++ linux-2.6.23.17/arch/mips/kernel/head.S +--- a/arch/mips/kernel/head.S ++++ b/arch/mips/kernel/head.S @@ -130,6 +130,8 @@ #endif .endm diff --git a/target/linux/generic-2.6/patches-2.6.23/012-mips_cpu_tlb.patch b/target/linux/generic-2.6/patches-2.6.23/012-mips_cpu_tlb.patch index 4a9d5e7..b750df7 100644 --- a/target/linux/generic-2.6/patches-2.6.23/012-mips_cpu_tlb.patch +++ b/target/linux/generic-2.6/patches-2.6.23/012-mips_cpu_tlb.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/arch/mips/mm/tlbex.c -=================================================================== ---- linux-2.6.23.17.orig/arch/mips/mm/tlbex.c -+++ linux-2.6.23.17/arch/mips/mm/tlbex.c -@@ -902,7 +902,6 @@ static __init void build_tlb_write_entry +--- a/arch/mips/mm/tlbex.c ++++ b/arch/mips/mm/tlbex.c +@@ -902,7 +902,6 @@ case CPU_R10000: case CPU_R12000: case CPU_R14000: @@ -10,7 +8,7 @@ Index: linux-2.6.23.17/arch/mips/mm/tlbex.c case CPU_SB1: case CPU_SB1A: case CPU_4KSC: -@@ -933,6 +932,7 @@ static __init void build_tlb_write_entry +@@ -933,6 +932,7 @@ tlbw(p); break; diff --git a/target/linux/generic-2.6/patches-2.6.23/013-mips_gdb_stub.patch b/target/linux/generic-2.6/patches-2.6.23/013-mips_gdb_stub.patch index 4ce6cc1..b50a0de 100644 --- a/target/linux/generic-2.6/patches-2.6.23/013-mips_gdb_stub.patch +++ b/target/linux/generic-2.6/patches-2.6.23/013-mips_gdb_stub.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/arch/mips/kernel/gdb-stub.c -=================================================================== ---- linux-2.6.23.17.orig/arch/mips/kernel/gdb-stub.c -+++ linux-2.6.23.17/arch/mips/kernel/gdb-stub.c -@@ -656,6 +656,7 @@ void set_async_breakpoint(unsigned long +--- a/arch/mips/kernel/gdb-stub.c ++++ b/arch/mips/kernel/gdb-stub.c +@@ -656,6 +656,7 @@ *epc = (unsigned long)async_breakpoint; } @@ -10,7 +8,7 @@ Index: linux-2.6.23.17/arch/mips/kernel/gdb-stub.c static void kgdb_wait(void *arg) { unsigned flags; -@@ -668,6 +669,7 @@ static void kgdb_wait(void *arg) +@@ -668,6 +669,7 @@ local_irq_restore(flags); } diff --git a/target/linux/generic-2.6/patches-2.6.23/060-block2mtd_init.patch b/target/linux/generic-2.6/patches-2.6.23/060-block2mtd_init.patch index 72dbb9c..e92499f 100644 --- a/target/linux/generic-2.6/patches-2.6.23/060-block2mtd_init.patch +++ b/target/linux/generic-2.6/patches-2.6.23/060-block2mtd_init.patch @@ -1,7 +1,5 @@ -Index: linux-2.6.23.17/drivers/mtd/devices/block2mtd.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/mtd/devices/block2mtd.c -+++ linux-2.6.23.17/drivers/mtd/devices/block2mtd.c +--- a/drivers/mtd/devices/block2mtd.c ++++ b/drivers/mtd/devices/block2mtd.c @@ -16,6 +16,7 @@ #include <linux/list.h> #include <linux/init.h> @@ -10,7 +8,7 @@ Index: linux-2.6.23.17/drivers/mtd/devices/block2mtd.c #include <linux/buffer_head.h> #include <linux/mutex.h> #include <linux/mount.h> -@@ -237,10 +238,11 @@ static void block2mtd_free_device(struct +@@ -237,10 +238,11 @@ /* FIXME: ensure that mtd->size % erase_size == 0 */ @@ -23,7 +21,7 @@ Index: linux-2.6.23.17/drivers/mtd/devices/block2mtd.c if (!devname) return NULL; -@@ -279,14 +281,18 @@ static struct block2mtd_dev *add_device( +@@ -279,14 +281,18 @@ /* Setup the MTD structure */ /* make the name contain the block device in */ @@ -47,7 +45,7 @@ Index: linux-2.6.23.17/drivers/mtd/devices/block2mtd.c dev->mtd.erasesize = erase_size; dev->mtd.writesize = 1; dev->mtd.type = MTD_RAM; -@@ -298,15 +304,18 @@ static struct block2mtd_dev *add_device( +@@ -298,15 +304,18 @@ dev->mtd.read = block2mtd_read; dev->mtd.priv = dev; dev->mtd.owner = THIS_MODULE; @@ -70,7 +68,7 @@ Index: linux-2.6.23.17/drivers/mtd/devices/block2mtd.c return dev; devinit_err: -@@ -379,9 +388,9 @@ static char block2mtd_paramline[80 + 12] +@@ -379,9 +388,9 @@ static int block2mtd_setup2(const char *val) { @@ -82,7 +80,7 @@ Index: linux-2.6.23.17/drivers/mtd/devices/block2mtd.c char *name; size_t erase_size = PAGE_SIZE; int i, ret; -@@ -392,7 +401,7 @@ static int block2mtd_setup2(const char * +@@ -392,7 +401,7 @@ strcpy(str, val); kill_final_newline(str); @@ -91,7 +89,7 @@ Index: linux-2.6.23.17/drivers/mtd/devices/block2mtd.c token[i] = strsep(&str, ","); if (str) -@@ -412,8 +421,10 @@ static int block2mtd_setup2(const char * +@@ -412,8 +421,10 @@ parse_err("illegal erase size"); } } @@ -103,7 +101,7 @@ Index: linux-2.6.23.17/drivers/mtd/devices/block2mtd.c return 0; } -@@ -447,7 +458,7 @@ static int block2mtd_setup(const char *v +@@ -447,7 +458,7 @@ module_param_call(block2mtd, block2mtd_setup, NULL, NULL, 0200); diff --git a/target/linux/generic-2.6/patches-2.6.23/065-rootfs_split.patch b/target/linux/generic-2.6/patches-2.6.23/065-rootfs_split.patch index 2fb69dd..7be0911 100644 --- a/target/linux/generic-2.6/patches-2.6.23/065-rootfs_split.patch +++ b/target/linux/generic-2.6/patches-2.6.23/065-rootfs_split.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/drivers/mtd/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/drivers/mtd/Kconfig -+++ linux-2.6.23.17/drivers/mtd/Kconfig -@@ -47,6 +47,16 @@ config MTD_PARTITIONS +--- a/drivers/mtd/Kconfig ++++ b/drivers/mtd/Kconfig +@@ -47,6 +47,16 @@ devices. Partitioning on NFTL 'devices' is a different - that's the 'normal' form of partitioning used on a block device. @@ -19,10 +17,8 @@ Index: linux-2.6.23.17/drivers/mtd/Kconfig config MTD_REDBOOT_PARTS tristate "RedBoot partition table parsing" depends on MTD_PARTITIONS -Index: linux-2.6.23.17/drivers/mtd/mtdpart.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/mtd/mtdpart.c -+++ linux-2.6.23.17/drivers/mtd/mtdpart.c +--- a/drivers/mtd/mtdpart.c ++++ b/drivers/mtd/mtdpart.c @@ -20,6 +20,8 @@ #include <linux/mtd/mtd.h> #include <linux/mtd/partitions.h> @@ -32,7 +28,7 @@ Index: linux-2.6.23.17/drivers/mtd/mtdpart.c /* Our partition linked list */ static LIST_HEAD(mtd_partitions); -@@ -39,7 +41,7 @@ struct mtd_part { +@@ -39,7 +41,7 @@ * the pointer to that structure with this macro. */ #define PART(x) ((struct mtd_part *)(x)) @@ -41,7 +37,7 @@ Index: linux-2.6.23.17/drivers/mtd/mtdpart.c /* * MTD methods which simply translate the effective address and pass through -@@ -308,6 +310,312 @@ int del_mtd_partitions(struct mtd_info * +@@ -308,6 +310,312 @@ return 0; } @@ -354,7 +350,7 @@ Index: linux-2.6.23.17/drivers/mtd/mtdpart.c /* * This function, given a master MTD object and a partition table, creates * and registers slave MTD objects which are bound to the master according to -@@ -320,168 +628,31 @@ int add_mtd_partitions(struct mtd_info * +@@ -320,168 +628,31 @@ int nbparts) { struct mtd_part *slave; @@ -544,7 +540,7 @@ Index: linux-2.6.23.17/drivers/mtd/mtdpart.c } } -@@ -557,6 +728,32 @@ int parse_mtd_partitions(struct mtd_info +@@ -557,6 +728,32 @@ return ret; } @@ -577,11 +573,9 @@ Index: linux-2.6.23.17/drivers/mtd/mtdpart.c +EXPORT_SYMBOL_GPL(refresh_mtd_partitions); EXPORT_SYMBOL_GPL(register_mtd_parser); EXPORT_SYMBOL_GPL(deregister_mtd_parser); -Index: linux-2.6.23.17/drivers/mtd/devices/block2mtd.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/mtd/devices/block2mtd.c -+++ linux-2.6.23.17/drivers/mtd/devices/block2mtd.c -@@ -34,6 +34,8 @@ struct block2mtd_dev { +--- a/drivers/mtd/devices/block2mtd.c ++++ b/drivers/mtd/devices/block2mtd.c +@@ -34,6 +34,8 @@ struct block_device *blkdev; struct mtd_info mtd; struct mutex write_mutex; @@ -590,7 +584,7 @@ Index: linux-2.6.23.17/drivers/mtd/devices/block2mtd.c }; -@@ -86,6 +88,12 @@ static int block2mtd_erase(struct mtd_in +@@ -86,6 +88,12 @@ size_t len = instr->len; int err; @@ -603,7 +597,7 @@ Index: linux-2.6.23.17/drivers/mtd/devices/block2mtd.c instr->state = MTD_ERASING; mutex_lock(&dev->write_mutex); err = _block2mtd_erase(dev, from, len); -@@ -98,6 +106,10 @@ static int block2mtd_erase(struct mtd_in +@@ -98,6 +106,10 @@ instr->state = MTD_ERASE_DONE; mtd_erase_callback(instr); @@ -614,7 +608,7 @@ Index: linux-2.6.23.17/drivers/mtd/devices/block2mtd.c return err; } -@@ -109,10 +121,14 @@ static int block2mtd_read(struct mtd_inf +@@ -109,10 +121,14 @@ struct page *page; int index = from >> PAGE_SHIFT; int offset = from & (PAGE_SIZE-1); @@ -632,7 +626,7 @@ Index: linux-2.6.23.17/drivers/mtd/devices/block2mtd.c if (from + len > mtd->size) len = mtd->size - from; -@@ -127,10 +143,14 @@ static int block2mtd_read(struct mtd_inf +@@ -127,10 +143,14 @@ len = len - cpylen; page = page_read(dev->blkdev->bd_inode->i_mapping, index); @@ -651,7 +645,7 @@ Index: linux-2.6.23.17/drivers/mtd/devices/block2mtd.c memcpy(buf, page_address(page) + offset, cpylen); page_cache_release(page); -@@ -141,7 +161,10 @@ static int block2mtd_read(struct mtd_inf +@@ -141,7 +161,10 @@ offset = 0; index++; } @@ -663,7 +657,7 @@ Index: linux-2.6.23.17/drivers/mtd/devices/block2mtd.c } -@@ -193,12 +216,22 @@ static int block2mtd_write(struct mtd_in +@@ -193,12 +216,22 @@ size_t *retlen, const u_char *buf) { struct block2mtd_dev *dev = mtd->priv; @@ -690,7 +684,7 @@ Index: linux-2.6.23.17/drivers/mtd/devices/block2mtd.c if (to + len > mtd->size) len = mtd->size - to; -@@ -207,6 +240,9 @@ static int block2mtd_write(struct mtd_in +@@ -207,6 +240,9 @@ mutex_unlock(&dev->write_mutex); if (err > 0) err = 0; @@ -700,7 +694,7 @@ Index: linux-2.6.23.17/drivers/mtd/devices/block2mtd.c return err; } -@@ -215,51 +251,29 @@ static int block2mtd_write(struct mtd_in +@@ -215,51 +251,29 @@ static void block2mtd_sync(struct mtd_info *mtd) { struct block2mtd_dev *dev = mtd->priv; @@ -760,7 +754,7 @@ Index: linux-2.6.23.17/drivers/mtd/devices/block2mtd.c if (devt) { bdev = open_by_devnum(devt, FMODE_WRITE | FMODE_READ); } -@@ -267,17 +281,96 @@ static struct block2mtd_dev *add_device( +@@ -267,17 +281,96 @@ #endif if (IS_ERR(bdev)) { @@ -860,7 +854,7 @@ Index: linux-2.6.23.17/drivers/mtd/devices/block2mtd.c /* Setup the MTD structure */ /* make the name contain the block device in */ -@@ -304,6 +397,7 @@ static struct block2mtd_dev *add_device( +@@ -304,6 +397,7 @@ dev->mtd.read = block2mtd_read; dev->mtd.priv = dev; dev->mtd.owner = THIS_MODULE; @@ -868,10 +862,8 @@ Index: linux-2.6.23.17/drivers/mtd/devices/block2mtd.c part = kzalloc(sizeof(struct mtd_partition), GFP_KERNEL); part->name = dev->mtd.name; -Index: linux-2.6.23.17/drivers/mtd/mtdchar.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/mtd/mtdchar.c -+++ linux-2.6.23.17/drivers/mtd/mtdchar.c +--- a/drivers/mtd/mtdchar.c ++++ b/drivers/mtd/mtdchar.c @@ -17,6 +17,7 @@ #include <linux/mtd/mtd.h> @@ -880,7 +872,7 @@ Index: linux-2.6.23.17/drivers/mtd/mtdchar.c #include <asm/uaccess.h> -@@ -753,6 +754,13 @@ static int mtd_ioctl(struct inode *inode +@@ -753,6 +754,13 @@ file->f_pos = 0; break; } @@ -894,11 +886,9 @@ Index: linux-2.6.23.17/drivers/mtd/mtdchar.c default: ret = -ENOTTY; -Index: linux-2.6.23.17/include/linux/mtd/mtd.h -=================================================================== ---- linux-2.6.23.17.orig/include/linux/mtd/mtd.h -+++ linux-2.6.23.17/include/linux/mtd/mtd.h -@@ -98,6 +98,7 @@ struct mtd_oob_ops { +--- a/include/linux/mtd/mtd.h ++++ b/include/linux/mtd/mtd.h +@@ -98,6 +98,7 @@ uint8_t *oobbuf; }; @@ -906,7 +896,7 @@ Index: linux-2.6.23.17/include/linux/mtd/mtd.h struct mtd_info { u_char type; u_int32_t flags; -@@ -195,6 +196,9 @@ struct mtd_info { +@@ -195,6 +196,9 @@ struct module *owner; int usecount; @@ -916,10 +906,8 @@ Index: linux-2.6.23.17/include/linux/mtd/mtd.h /* If the driver is something smart, like UBI, it may need to maintain * its own reference counting. The below functions are only for driver. * The driver may register its callbacks. These callbacks are not -Index: linux-2.6.23.17/include/linux/mtd/partitions.h -=================================================================== ---- linux-2.6.23.17.orig/include/linux/mtd/partitions.h -+++ linux-2.6.23.17/include/linux/mtd/partitions.h +--- a/include/linux/mtd/partitions.h ++++ b/include/linux/mtd/partitions.h @@ -36,6 +36,7 @@ * erasesize aligned (e.g. use MTDPART_OFS_NEXTBLK). */ @@ -928,7 +916,7 @@ Index: linux-2.6.23.17/include/linux/mtd/partitions.h struct mtd_partition { char *name; /* identifier string */ u_int32_t size; /* partition size */ -@@ -43,6 +44,7 @@ struct mtd_partition { +@@ -43,6 +44,7 @@ u_int32_t mask_flags; /* master MTD flags to mask out for this partition */ struct nand_ecclayout *ecclayout; /* out of band layout for this partition (NAND only)*/ struct mtd_info **mtdp; /* pointer to store the MTD object */ @@ -936,7 +924,7 @@ Index: linux-2.6.23.17/include/linux/mtd/partitions.h }; #define MTDPART_OFS_NXTBLK (-2) -@@ -52,6 +54,7 @@ struct mtd_partition { +@@ -52,6 +54,7 @@ int add_mtd_partitions(struct mtd_info *, const struct mtd_partition *, int); int del_mtd_partitions(struct mtd_info *); @@ -944,11 +932,9 @@ Index: linux-2.6.23.17/include/linux/mtd/partitions.h /* * Functions dealing with the various ways of partitioning the space -Index: linux-2.6.23.17/include/mtd/mtd-abi.h -=================================================================== ---- linux-2.6.23.17.orig/include/mtd/mtd-abi.h -+++ linux-2.6.23.17/include/mtd/mtd-abi.h -@@ -95,6 +95,7 @@ struct otp_info { +--- a/include/mtd/mtd-abi.h ++++ b/include/mtd/mtd-abi.h +@@ -95,6 +95,7 @@ #define ECCGETLAYOUT _IOR('M', 17, struct nand_ecclayout) #define ECCGETSTATS _IOR('M', 18, struct mtd_ecc_stats) #define MTDFILEMODE _IO('M', 19) diff --git a/target/linux/generic-2.6/patches-2.6.23/070-redboot_space.patch b/target/linux/generic-2.6/patches-2.6.23/070-redboot_space.patch index 6384324..2f31555 100644 --- a/target/linux/generic-2.6/patches-2.6.23/070-redboot_space.patch +++ b/target/linux/generic-2.6/patches-2.6.23/070-redboot_space.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/drivers/mtd/redboot.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/mtd/redboot.c -+++ linux-2.6.23.17/drivers/mtd/redboot.c -@@ -236,14 +236,21 @@ static int parse_redboot_partitions(stru +--- a/drivers/mtd/redboot.c ++++ b/drivers/mtd/redboot.c +@@ -236,14 +236,21 @@ #endif names += strlen(names)+1; diff --git a/target/linux/generic-2.6/patches-2.6.23/100-netfilter_layer7_2.17.patch b/target/linux/generic-2.6/patches-2.6.23/100-netfilter_layer7_2.17.patch index 118e7e1..d94fd3c 100644 --- a/target/linux/generic-2.6/patches-2.6.23/100-netfilter_layer7_2.17.patch +++ b/target/linux/generic-2.6/patches-2.6.23/100-netfilter_layer7_2.17.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/net/netfilter/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/net/netfilter/Kconfig -+++ linux-2.6.23.17/net/netfilter/Kconfig -@@ -633,6 +633,27 @@ config NETFILTER_XT_MATCH_STATE +--- a/net/netfilter/Kconfig ++++ b/net/netfilter/Kconfig +@@ -633,6 +633,27 @@ To compile it as a module, choose M here. If unsure, say N. @@ -30,11 +28,9 @@ Index: linux-2.6.23.17/net/netfilter/Kconfig config NETFILTER_XT_MATCH_STATISTIC tristate '"statistic" match support' depends on NETFILTER_XTABLES -Index: linux-2.6.23.17/net/netfilter/Makefile -=================================================================== ---- linux-2.6.23.17.orig/net/netfilter/Makefile -+++ linux-2.6.23.17/net/netfilter/Makefile -@@ -71,6 +71,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_QUOTA) + +--- a/net/netfilter/Makefile ++++ b/net/netfilter/Makefile +@@ -71,6 +71,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_REALM) += xt_realm.o obj-$(CONFIG_NETFILTER_XT_MATCH_SCTP) += xt_sctp.o obj-$(CONFIG_NETFILTER_XT_MATCH_STATE) += xt_state.o @@ -42,10 +38,8 @@ Index: linux-2.6.23.17/net/netfilter/Makefile obj-$(CONFIG_NETFILTER_XT_MATCH_STATISTIC) += xt_statistic.o obj-$(CONFIG_NETFILTER_XT_MATCH_STRING) += xt_string.o obj-$(CONFIG_NETFILTER_XT_MATCH_TCPMSS) += xt_tcpmss.o -Index: linux-2.6.23.17/net/netfilter/xt_layer7.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/net/netfilter/xt_layer7.c ++++ b/net/netfilter/xt_layer7.c @@ -0,0 +1,634 @@ +/* + Kernel module to match application layer (OSI layer 7) data in connections. @@ -681,10 +675,8 @@ Index: linux-2.6.23.17/net/netfilter/xt_layer7.c + +module_init(xt_layer7_init); +module_exit(xt_layer7_fini); -Index: linux-2.6.23.17/net/netfilter/regexp/regexp.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/net/netfilter/regexp/regexp.c ++++ b/net/netfilter/regexp/regexp.c @@ -0,0 +1,1197 @@ +/* + * regcomp and regexec -- regsub and regerror are elsewhere @@ -1883,10 +1875,8 @@ Index: linux-2.6.23.17/net/netfilter/regexp/regexp.c +#endif + + -Index: linux-2.6.23.17/net/netfilter/regexp/regexp.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/net/netfilter/regexp/regexp.h ++++ b/net/netfilter/regexp/regexp.h @@ -0,0 +1,41 @@ +/* + * Definitions etc. for regexp(3) routines. @@ -1929,20 +1919,16 @@ Index: linux-2.6.23.17/net/netfilter/regexp/regexp.h +void regerror(char *s); + +#endif -Index: linux-2.6.23.17/net/netfilter/regexp/regmagic.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/net/netfilter/regexp/regmagic.h ++++ b/net/netfilter/regexp/regmagic.h @@ -0,0 +1,5 @@ +/* + * The first byte of the regexp internal "program" is actually this magic + * number; the start node begins in the second byte. + */ +#define MAGIC 0234 -Index: linux-2.6.23.17/net/netfilter/regexp/regsub.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/net/netfilter/regexp/regsub.c ++++ b/net/netfilter/regexp/regsub.c @@ -0,0 +1,95 @@ +/* + * regsub @@ -2039,11 +2025,9 @@ Index: linux-2.6.23.17/net/netfilter/regexp/regsub.c + } + *dst++ = '\0'; +} -Index: linux-2.6.23.17/net/netfilter/nf_conntrack_core.c -=================================================================== ---- linux-2.6.23.17.orig/net/netfilter/nf_conntrack_core.c -+++ linux-2.6.23.17/net/netfilter/nf_conntrack_core.c -@@ -207,6 +207,14 @@ destroy_conntrack(struct nf_conntrack *n +--- a/net/netfilter/nf_conntrack_core.c ++++ b/net/netfilter/nf_conntrack_core.c +@@ -207,6 +207,14 @@ * too. */ nf_ct_remove_expectations(ct); @@ -2058,11 +2042,9 @@ Index: linux-2.6.23.17/net/netfilter/nf_conntrack_core.c /* We overload first tuple to link into unconfirmed list. */ if (!nf_ct_is_confirmed(ct)) { BUG_ON(hlist_unhashed(&ct->tuplehash[IP_CT_DIR_ORIGINAL].hnode)); -Index: linux-2.6.23.17/net/netfilter/nf_conntrack_standalone.c -=================================================================== ---- linux-2.6.23.17.orig/net/netfilter/nf_conntrack_standalone.c -+++ linux-2.6.23.17/net/netfilter/nf_conntrack_standalone.c -@@ -179,7 +179,12 @@ static int ct_seq_show(struct seq_file * +--- a/net/netfilter/nf_conntrack_standalone.c ++++ b/net/netfilter/nf_conntrack_standalone.c +@@ -179,7 +179,12 @@ return -ENOSPC; #endif @@ -2076,11 +2058,9 @@ Index: linux-2.6.23.17/net/netfilter/nf_conntrack_standalone.c return -ENOSPC; return 0; -Index: linux-2.6.23.17/include/net/netfilter/nf_conntrack.h -=================================================================== ---- linux-2.6.23.17.orig/include/net/netfilter/nf_conntrack.h -+++ linux-2.6.23.17/include/net/netfilter/nf_conntrack.h -@@ -127,6 +127,22 @@ struct nf_conn +--- a/include/net/netfilter/nf_conntrack.h ++++ b/include/net/netfilter/nf_conntrack.h +@@ -127,6 +127,22 @@ u_int32_t secmark; #endif @@ -2103,10 +2083,8 @@ Index: linux-2.6.23.17/include/net/netfilter/nf_conntrack.h /* Storage reserved for other modules: */ union nf_conntrack_proto proto; -Index: linux-2.6.23.17/include/linux/netfilter/xt_layer7.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/netfilter/xt_layer7.h ++++ b/include/linux/netfilter/xt_layer7.h @@ -0,0 +1,13 @@ +#ifndef _XT_LAYER7_H +#define _XT_LAYER7_H diff --git a/target/linux/generic-2.6/patches-2.6.23/101-netfilter_layer7_pktmatch.patch b/target/linux/generic-2.6/patches-2.6.23/101-netfilter_layer7_pktmatch.patch index 77b2d14..167d578 100644 --- a/target/linux/generic-2.6/patches-2.6.23/101-netfilter_layer7_pktmatch.patch +++ b/target/linux/generic-2.6/patches-2.6.23/101-netfilter_layer7_pktmatch.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/include/linux/netfilter/xt_layer7.h -=================================================================== ---- linux-2.6.23.17.orig/include/linux/netfilter/xt_layer7.h -+++ linux-2.6.23.17/include/linux/netfilter/xt_layer7.h -@@ -8,6 +8,7 @@ struct xt_layer7_info { +--- a/include/linux/netfilter/xt_layer7.h ++++ b/include/linux/netfilter/xt_layer7.h +@@ -8,6 +8,7 @@ char protocol[MAX_PROTOCOL_LEN]; char pattern[MAX_PATTERN_LEN]; u_int8_t invert; @@ -10,11 +8,9 @@ Index: linux-2.6.23.17/include/linux/netfilter/xt_layer7.h }; #endif /* _XT_LAYER7_H */ -Index: linux-2.6.23.17/net/netfilter/xt_layer7.c -=================================================================== ---- linux-2.6.23.17.orig/net/netfilter/xt_layer7.c -+++ linux-2.6.23.17/net/netfilter/xt_layer7.c -@@ -297,34 +297,36 @@ static int match_no_append(struct nf_con +--- a/net/netfilter/xt_layer7.c ++++ b/net/netfilter/xt_layer7.c +@@ -297,34 +297,36 @@ } /* add the new app data to the conntrack. Return number of bytes added. */ @@ -65,7 +61,7 @@ Index: linux-2.6.23.17/net/netfilter/xt_layer7.c return length; } -@@ -411,7 +413,7 @@ match(const struct sk_buff *skbin, +@@ -411,7 +413,7 @@ const struct xt_layer7_info * info = matchinfo; enum ip_conntrack_info master_ctinfo, ctinfo; struct nf_conn *master_conntrack, *conntrack; @@ -74,7 +70,7 @@ Index: linux-2.6.23.17/net/netfilter/xt_layer7.c unsigned int pattern_result, appdatalen; regexp * comppattern; -@@ -439,8 +441,8 @@ match(const struct sk_buff *skbin, +@@ -439,8 +441,8 @@ master_conntrack = master_ct(master_conntrack); /* if we've classified it or seen too many packets */ @@ -85,7 +81,7 @@ Index: linux-2.6.23.17/net/netfilter/xt_layer7.c pattern_result = match_no_append(conntrack, master_conntrack, ctinfo, master_ctinfo, info); -@@ -473,6 +475,25 @@ match(const struct sk_buff *skbin, +@@ -473,6 +475,25 @@ /* the return value gets checked later, when we're ready to use it */ comppattern = compile_and_cache(info->pattern, info->protocol); diff --git a/target/linux/generic-2.6/patches-2.6.23/110-ipp2p_0.8.1rc1.patch b/target/linux/generic-2.6/patches-2.6.23/110-ipp2p_0.8.1rc1.patch index efc61ba..88e27a3 100644 --- a/target/linux/generic-2.6/patches-2.6.23/110-ipp2p_0.8.1rc1.patch +++ b/target/linux/generic-2.6/patches-2.6.23/110-ipp2p_0.8.1rc1.patch @@ -1,7 +1,5 @@ -Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ipt_ipp2p.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/netfilter_ipv4/ipt_ipp2p.h ++++ b/include/linux/netfilter_ipv4/ipt_ipp2p.h @@ -0,0 +1,31 @@ +#ifndef __IPT_IPP2P_H +#define __IPT_IPP2P_H @@ -34,10 +32,8 @@ Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ipt_ipp2p.h +#define IPP2P_MUTE (1 << 14) +#define IPP2P_WASTE (1 << 15) +#define IPP2P_XDCC (1 << 16) -Index: linux-2.6.23.17/net/ipv4/netfilter/ipt_ipp2p.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/net/ipv4/netfilter/ipt_ipp2p.c ++++ b/net/ipv4/netfilter/ipt_ipp2p.c @@ -0,0 +1,856 @@ +#if defined(MODVERSIONS) +#include <linux/modversions.h> @@ -895,11 +891,9 @@ Index: linux-2.6.23.17/net/ipv4/netfilter/ipt_ipp2p.c +module_exit(fini); + + -Index: linux-2.6.23.17/net/ipv4/netfilter/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/net/ipv4/netfilter/Kconfig -+++ linux-2.6.23.17/net/ipv4/netfilter/Kconfig -@@ -63,6 +63,12 @@ config IP_NF_MATCH_IPRANGE +--- a/net/ipv4/netfilter/Kconfig ++++ b/net/ipv4/netfilter/Kconfig +@@ -63,6 +63,12 @@ To compile it as a module, choose M here. If unsure, say N. @@ -912,11 +906,9 @@ Index: linux-2.6.23.17/net/ipv4/netfilter/Kconfig config IP_NF_MATCH_TOS tristate "TOS match support" depends on IP_NF_IPTABLES -Index: linux-2.6.23.17/net/ipv4/netfilter/Makefile -=================================================================== ---- linux-2.6.23.17.orig/net/ipv4/netfilter/Makefile -+++ linux-2.6.23.17/net/ipv4/netfilter/Makefile -@@ -50,6 +50,8 @@ obj-$(CONFIG_IP_NF_MATCH_AH) += ipt_ah.o +--- a/net/ipv4/netfilter/Makefile ++++ b/net/ipv4/netfilter/Makefile +@@ -50,6 +50,8 @@ obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o obj-$(CONFIG_IP_NF_MATCH_ADDRTYPE) += ipt_addrtype.o diff --git a/target/linux/generic-2.6/patches-2.6.23/120-openswan-2.4.0.kernel-2.6-natt.patch b/target/linux/generic-2.6/patches-2.6.23/120-openswan-2.4.0.kernel-2.6-natt.patch index 8790733..71b7377 100644 --- a/target/linux/generic-2.6/patches-2.6.23/120-openswan-2.4.0.kernel-2.6-natt.patch +++ b/target/linux/generic-2.6/patches-2.6.23/120-openswan-2.4.0.kernel-2.6-natt.patch @@ -1,7 +1,5 @@ -Index: linux-2.6.23.17/include/net/xfrmudp.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/net/xfrmudp.h ++++ b/include/net/xfrmudp.h @@ -0,0 +1,10 @@ +/* + * pointer to function for type that xfrm4_input wants, to permit @@ -13,11 +11,9 @@ Index: linux-2.6.23.17/include/net/xfrmudp.h +extern int udp4_register_esp_rcvencap(xfrm4_rcv_encap_t func + , xfrm4_rcv_encap_t *oldfunc); +extern int udp4_unregister_esp_rcvencap(xfrm4_rcv_encap_t func); -Index: linux-2.6.23.17/net/ipv4/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/net/ipv4/Kconfig -+++ linux-2.6.23.17/net/ipv4/Kconfig -@@ -224,6 +224,12 @@ config NET_IPGRE_BROADCAST +--- a/net/ipv4/Kconfig ++++ b/net/ipv4/Kconfig +@@ -224,6 +224,12 @@ Network), but can be distributed all over the Internet. If you want to do that, say Y here and to "IP multicast routing" below. @@ -30,10 +26,8 @@ Index: linux-2.6.23.17/net/ipv4/Kconfig config IP_MROUTE bool "IP: multicast routing" depends on IP_MULTICAST -Index: linux-2.6.23.17/net/ipv4/xfrm4_input.c -=================================================================== ---- linux-2.6.23.17.orig/net/ipv4/xfrm4_input.c -+++ linux-2.6.23.17/net/ipv4/xfrm4_input.c +--- a/net/ipv4/xfrm4_input.c ++++ b/net/ipv4/xfrm4_input.c @@ -15,6 +15,7 @@ #include <linux/netfilter_ipv4.h> #include <net/ip.h> @@ -42,7 +36,7 @@ Index: linux-2.6.23.17/net/ipv4/xfrm4_input.c static int xfrm4_parse_spi(struct sk_buff *skb, u8 nexthdr, __be32 *spi, __be32 *seq) { -@@ -161,6 +162,29 @@ drop: +@@ -161,6 +162,29 @@ return 0; } @@ -72,7 +66,7 @@ Index: linux-2.6.23.17/net/ipv4/xfrm4_input.c /* If it's a keepalive packet, then just eat it. * If it's an encapsulated packet, then pass it to the * IPsec xfrm input. -@@ -251,7 +275,13 @@ int xfrm4_udp_encap_rcv(struct sock *sk, +@@ -251,7 +275,13 @@ iph->protocol = IPPROTO_ESP; /* process ESP */ @@ -86,7 +80,7 @@ Index: linux-2.6.23.17/net/ipv4/xfrm4_input.c return ret; drop: -@@ -265,3 +295,8 @@ int xfrm4_rcv(struct sk_buff *skb) +@@ -265,3 +295,8 @@ } EXPORT_SYMBOL(xfrm4_rcv); diff --git a/target/linux/generic-2.6/patches-2.6.23/130-netfilter_ipset.patch b/target/linux/generic-2.6/patches-2.6.23/130-netfilter_ipset.patch index 9852c83..25b2172 100644 --- a/target/linux/generic-2.6/patches-2.6.23/130-netfilter_ipset.patch +++ b/target/linux/generic-2.6/patches-2.6.23/130-netfilter_ipset.patch @@ -1,7 +1,5 @@ -Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set.h ++++ b/include/linux/netfilter_ipv4/ip_set.h @@ -0,0 +1,498 @@ +#ifndef _IP_SET_H +#define _IP_SET_H @@ -501,10 +499,8 @@ Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set.h +#endif /* __KERNEL__ */ + +#endif /*_IP_SET_H*/ -Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_iphash.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_iphash.h ++++ b/include/linux/netfilter_ipv4/ip_set_iphash.h @@ -0,0 +1,30 @@ +#ifndef __IP_SET_IPHASH_H +#define __IP_SET_IPHASH_H @@ -536,10 +532,8 @@ Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_iphash.h +}; + +#endif /* __IP_SET_IPHASH_H */ -Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_ipmap.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_ipmap.h ++++ b/include/linux/netfilter_ipv4/ip_set_ipmap.h @@ -0,0 +1,56 @@ +#ifndef __IP_SET_IPMAP_H +#define __IP_SET_IPMAP_H @@ -597,10 +591,8 @@ Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_ipmap.h +} + +#endif /* __IP_SET_IPMAP_H */ -Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_ipporthash.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_ipporthash.h ++++ b/include/linux/netfilter_ipv4/ip_set_ipporthash.h @@ -0,0 +1,34 @@ +#ifndef __IP_SET_IPPORTHASH_H +#define __IP_SET_IPPORTHASH_H @@ -636,10 +628,8 @@ Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_ipporthash.h +}; + +#endif /* __IP_SET_IPPORTHASH_H */ -Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_iptree.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_iptree.h ++++ b/include/linux/netfilter_ipv4/ip_set_iptree.h @@ -0,0 +1,40 @@ +#ifndef __IP_SET_IPTREE_H +#define __IP_SET_IPTREE_H @@ -681,10 +671,8 @@ Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_iptree.h +}; + +#endif /* __IP_SET_IPTREE_H */ -Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_iptreemap.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_iptreemap.h ++++ b/include/linux/netfilter_ipv4/ip_set_iptreemap.h @@ -0,0 +1,40 @@ +#ifndef __IP_SET_IPTREEMAP_H +#define __IP_SET_IPTREEMAP_H @@ -726,10 +714,8 @@ Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_iptreemap.h +}; + +#endif /* __IP_SET_IPTREEMAP_H */ -Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_jhash.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_jhash.h ++++ b/include/linux/netfilter_ipv4/ip_set_jhash.h @@ -0,0 +1,148 @@ +#ifndef _LINUX_IPSET_JHASH_H +#define _LINUX_IPSET_JHASH_H @@ -879,10 +865,8 @@ Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_jhash.h +} + +#endif /* _LINUX_IPSET_JHASH_H */ -Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_macipmap.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_macipmap.h ++++ b/include/linux/netfilter_ipv4/ip_set_macipmap.h @@ -0,0 +1,38 @@ +#ifndef __IP_SET_MACIPMAP_H +#define __IP_SET_MACIPMAP_H @@ -922,10 +906,8 @@ Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_macipmap.h +}; + +#endif /* __IP_SET_MACIPMAP_H */ -Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_malloc.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_malloc.h ++++ b/include/linux/netfilter_ipv4/ip_set_malloc.h @@ -0,0 +1,116 @@ +#ifndef _IP_SET_MALLOC_H +#define _IP_SET_MALLOC_H @@ -1043,10 +1025,8 @@ Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_malloc.h +#endif /* __KERNEL__ */ + +#endif /*_IP_SET_MALLOC_H*/ -Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_nethash.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_nethash.h ++++ b/include/linux/netfilter_ipv4/ip_set_nethash.h @@ -0,0 +1,55 @@ +#ifndef __IP_SET_NETHASH_H +#define __IP_SET_NETHASH_H @@ -1103,10 +1083,8 @@ Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_nethash.h +} + +#endif /* __IP_SET_NETHASH_H */ -Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_portmap.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_portmap.h ++++ b/include/linux/netfilter_ipv4/ip_set_portmap.h @@ -0,0 +1,25 @@ +#ifndef __IP_SET_PORTMAP_H +#define __IP_SET_PORTMAP_H @@ -1133,10 +1111,8 @@ Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_portmap.h +}; + +#endif /* __IP_SET_PORTMAP_H */ -Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ipt_set.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/netfilter_ipv4/ipt_set.h ++++ b/include/linux/netfilter_ipv4/ipt_set.h @@ -0,0 +1,21 @@ +#ifndef _IPT_SET_H +#define _IPT_SET_H @@ -1159,10 +1135,8 @@ Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ipt_set.h +}; + +#endif /*_IPT_SET_H*/ -Index: linux-2.6.23.17/net/ipv4/netfilter/ip_set.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/net/ipv4/netfilter/ip_set.c ++++ b/net/ipv4/netfilter/ip_set.c @@ -0,0 +1,2003 @@ +/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu> + * Patrick Schaaf <bof@bof.de> @@ -3167,10 +3141,8 @@ Index: linux-2.6.23.17/net/ipv4/netfilter/ip_set.c + +module_init(ip_set_init); +module_exit(ip_set_fini); -Index: linux-2.6.23.17/net/ipv4/netfilter/ip_set_iphash.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/net/ipv4/netfilter/ip_set_iphash.c ++++ b/net/ipv4/netfilter/ip_set_iphash.c @@ -0,0 +1,429 @@ +/* Copyright (C) 2003-2004 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> + * @@ -3601,10 +3573,8 @@ Index: linux-2.6.23.17/net/ipv4/netfilter/ip_set_iphash.c + +module_init(ip_set_iphash_init); +module_exit(ip_set_iphash_fini); -Index: linux-2.6.23.17/net/ipv4/netfilter/ip_set_ipmap.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/net/ipv4/netfilter/ip_set_ipmap.c ++++ b/net/ipv4/netfilter/ip_set_ipmap.c @@ -0,0 +1,336 @@ +/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu> + * Patrick Schaaf <bof@bof.de> @@ -3942,10 +3912,8 @@ Index: linux-2.6.23.17/net/ipv4/netfilter/ip_set_ipmap.c + +module_init(ip_set_ipmap_init); +module_exit(ip_set_ipmap_fini); -Index: linux-2.6.23.17/net/ipv4/netfilter/ip_set_ipporthash.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/net/ipv4/netfilter/ip_set_ipporthash.c ++++ b/net/ipv4/netfilter/ip_set_ipporthash.c @@ -0,0 +1,581 @@ +/* Copyright (C) 2003-2004 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> + * @@ -4528,10 +4496,8 @@ Index: linux-2.6.23.17/net/ipv4/netfilter/ip_set_ipporthash.c + +module_init(ip_set_ipporthash_init); +module_exit(ip_set_ipporthash_fini); -Index: linux-2.6.23.17/net/ipv4/netfilter/ip_set_iptree.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/net/ipv4/netfilter/ip_set_iptree.c ++++ b/net/ipv4/netfilter/ip_set_iptree.c @@ -0,0 +1,612 @@ +/* Copyright (C) 2005 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> + * @@ -5145,10 +5111,8 @@ Index: linux-2.6.23.17/net/ipv4/netfilter/ip_set_iptree.c + +module_init(ip_set_iptree_init); +module_exit(ip_set_iptree_fini); -Index: linux-2.6.23.17/net/ipv4/netfilter/ip_set_iptreemap.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/net/ipv4/netfilter/ip_set_iptreemap.c ++++ b/net/ipv4/netfilter/ip_set_iptreemap.c @@ -0,0 +1,829 @@ +/* Copyright (C) 2007 Sven Wegener <sven.wegener@stealer.net> + * @@ -5979,10 +5943,8 @@ Index: linux-2.6.23.17/net/ipv4/netfilter/ip_set_iptreemap.c + +module_init(ip_set_iptreemap_init); +module_exit(ip_set_iptreemap_fini); -Index: linux-2.6.23.17/net/ipv4/netfilter/ip_set_macipmap.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/net/ipv4/netfilter/ip_set_macipmap.c ++++ b/net/ipv4/netfilter/ip_set_macipmap.c @@ -0,0 +1,375 @@ +/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu> + * Patrick Schaaf <bof@bof.de> @@ -6359,10 +6321,8 @@ Index: linux-2.6.23.17/net/ipv4/netfilter/ip_set_macipmap.c + +module_init(ip_set_macipmap_init); +module_exit(ip_set_macipmap_fini); -Index: linux-2.6.23.17/net/ipv4/netfilter/ip_set_nethash.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/net/ipv4/netfilter/ip_set_nethash.c ++++ b/net/ipv4/netfilter/ip_set_nethash.c @@ -0,0 +1,497 @@ +/* Copyright (C) 2003-2004 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> + * @@ -6861,10 +6821,8 @@ Index: linux-2.6.23.17/net/ipv4/netfilter/ip_set_nethash.c + +module_init(ip_set_nethash_init); +module_exit(ip_set_nethash_fini); -Index: linux-2.6.23.17/net/ipv4/netfilter/ip_set_portmap.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/net/ipv4/netfilter/ip_set_portmap.c ++++ b/net/ipv4/netfilter/ip_set_portmap.c @@ -0,0 +1,346 @@ +/* Copyright (C) 2003-2004 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> + * @@ -7212,10 +7170,8 @@ Index: linux-2.6.23.17/net/ipv4/netfilter/ip_set_portmap.c + +module_init(ip_set_portmap_init); +module_exit(ip_set_portmap_fini); -Index: linux-2.6.23.17/net/ipv4/netfilter/ipt_set.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/net/ipv4/netfilter/ipt_set.c ++++ b/net/ipv4/netfilter/ipt_set.c @@ -0,0 +1,160 @@ +/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu> + * Patrick Schaaf <bof@bof.de> @@ -7377,10 +7333,8 @@ Index: linux-2.6.23.17/net/ipv4/netfilter/ipt_set.c + +module_init(ipt_ipset_init); +module_exit(ipt_ipset_fini); -Index: linux-2.6.23.17/net/ipv4/netfilter/ipt_SET.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/net/ipv4/netfilter/ipt_SET.c ++++ b/net/ipv4/netfilter/ipt_SET.c @@ -0,0 +1,172 @@ +/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu> + * Patrick Schaaf <bof@bof.de> @@ -7554,11 +7508,9 @@ Index: linux-2.6.23.17/net/ipv4/netfilter/ipt_SET.c + +module_init(ipt_SET_init); +module_exit(ipt_SET_fini); -Index: linux-2.6.23.17/net/ipv4/netfilter/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/net/ipv4/netfilter/Kconfig -+++ linux-2.6.23.17/net/ipv4/netfilter/Kconfig -@@ -408,5 +408,122 @@ config IP_NF_ARP_MANGLE +--- a/net/ipv4/netfilter/Kconfig ++++ b/net/ipv4/netfilter/Kconfig +@@ -408,5 +408,122 @@ Allows altering the ARP packet payload: source and destination hardware and network addresses. @@ -7681,11 +7633,9 @@ Index: linux-2.6.23.17/net/ipv4/netfilter/Kconfig + endmenu -Index: linux-2.6.23.17/net/ipv4/netfilter/Makefile -=================================================================== ---- linux-2.6.23.17.orig/net/ipv4/netfilter/Makefile -+++ linux-2.6.23.17/net/ipv4/netfilter/Makefile -@@ -48,6 +48,7 @@ obj-$(CONFIG_IP_NF_MATCH_RECENT) += ipt_ +--- a/net/ipv4/netfilter/Makefile ++++ b/net/ipv4/netfilter/Makefile +@@ -48,6 +48,7 @@ obj-$(CONFIG_IP_NF_MATCH_ECN) += ipt_ecn.o obj-$(CONFIG_IP_NF_MATCH_AH) += ipt_ah.o obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o @@ -7693,7 +7643,7 @@ Index: linux-2.6.23.17/net/ipv4/netfilter/Makefile obj-$(CONFIG_IP_NF_MATCH_ADDRTYPE) += ipt_addrtype.o obj-$(CONFIG_IP_NF_MATCH_IPP2P) += ipt_ipp2p.o -@@ -64,6 +65,18 @@ obj-$(CONFIG_IP_NF_TARGET_LOG) += ipt_LO +@@ -64,6 +65,18 @@ obj-$(CONFIG_IP_NF_TARGET_ULOG) += ipt_ULOG.o obj-$(CONFIG_IP_NF_TARGET_CLUSTERIP) += ipt_CLUSTERIP.o obj-$(CONFIG_IP_NF_TARGET_TTL) += ipt_TTL.o diff --git a/target/linux/generic-2.6/patches-2.6.23/140-netfilter_time.patch b/target/linux/generic-2.6/patches-2.6.23/140-netfilter_time.patch index 54d43a7..033b241 100644 --- a/target/linux/generic-2.6/patches-2.6.23/140-netfilter_time.patch +++ b/target/linux/generic-2.6/patches-2.6.23/140-netfilter_time.patch @@ -1,7 +1,5 @@ -Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ipt_time.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/netfilter_ipv4/ipt_time.h ++++ b/include/linux/netfilter_ipv4/ipt_time.h @@ -0,0 +1,18 @@ +#ifndef __ipt_time_h_included__ +#define __ipt_time_h_included__ @@ -21,10 +19,8 @@ Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ipt_time.h + + +#endif /* __ipt_time_h_included__ */ -Index: linux-2.6.23.17/net/ipv4/netfilter/ipt_time.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/net/ipv4/netfilter/ipt_time.c ++++ b/net/ipv4/netfilter/ipt_time.c @@ -0,0 +1,180 @@ +/* + This is a module which is used for time matching @@ -206,11 +202,9 @@ Index: linux-2.6.23.17/net/ipv4/netfilter/ipt_time.c + r->tm_mon=i; + r->tm_mday=work-__spm[i]+1; +} -Index: linux-2.6.23.17/net/ipv4/netfilter/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/net/ipv4/netfilter/Kconfig -+++ linux-2.6.23.17/net/ipv4/netfilter/Kconfig -@@ -78,6 +78,22 @@ config IP_NF_MATCH_TOS +--- a/net/ipv4/netfilter/Kconfig ++++ b/net/ipv4/netfilter/Kconfig +@@ -78,6 +78,22 @@ To compile it as a module, choose M here. If unsure, say N. @@ -233,11 +227,9 @@ Index: linux-2.6.23.17/net/ipv4/netfilter/Kconfig config IP_NF_MATCH_RECENT tristate "recent match support" depends on IP_NF_IPTABLES -Index: linux-2.6.23.17/net/ipv4/netfilter/Makefile -=================================================================== ---- linux-2.6.23.17.orig/net/ipv4/netfilter/Makefile -+++ linux-2.6.23.17/net/ipv4/netfilter/Makefile -@@ -44,6 +44,7 @@ obj-$(CONFIG_IP_NF_RAW) += iptable_raw.o +--- a/net/ipv4/netfilter/Makefile ++++ b/net/ipv4/netfilter/Makefile +@@ -44,6 +44,7 @@ obj-$(CONFIG_IP_NF_MATCH_IPRANGE) += ipt_iprange.o obj-$(CONFIG_IP_NF_MATCH_OWNER) += ipt_owner.o obj-$(CONFIG_IP_NF_MATCH_TOS) += ipt_tos.o diff --git a/target/linux/generic-2.6/patches-2.6.23/150-netfilter_imq.patch b/target/linux/generic-2.6/patches-2.6.23/150-netfilter_imq.patch index 0ad47eb..ad149cf 100644 --- a/target/linux/generic-2.6/patches-2.6.23/150-netfilter_imq.patch +++ b/target/linux/generic-2.6/patches-2.6.23/150-netfilter_imq.patch @@ -1,7 +1,5 @@ -Index: linux-2.6.23.17/drivers/net/imq.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/drivers/net/imq.c ++++ b/drivers/net/imq.c @@ -0,0 +1,400 @@ +/* + * Pseudo-driver for the intermediate queue device. @@ -403,11 +401,9 @@ Index: linux-2.6.23.17/drivers/net/imq.c +MODULE_AUTHOR("http://www.linuximq.net"); +MODULE_DESCRIPTION("Pseudo-driver for the intermediate queue device. See http://www.linuximq.net/ for more information."); +MODULE_LICENSE("GPL"); -Index: linux-2.6.23.17/drivers/net/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/drivers/net/Kconfig -+++ linux-2.6.23.17/drivers/net/Kconfig -@@ -112,6 +112,129 @@ config EQUALIZER +--- a/drivers/net/Kconfig ++++ b/drivers/net/Kconfig +@@ -112,6 +112,129 @@ To compile this driver as a module, choose M here: the module will be called eql. If unsure, say N. @@ -537,11 +533,9 @@ Index: linux-2.6.23.17/drivers/net/Kconfig config TUN tristate "Universal TUN/TAP device driver support" select CRC32 -Index: linux-2.6.23.17/drivers/net/Makefile -=================================================================== ---- linux-2.6.23.17.orig/drivers/net/Makefile -+++ linux-2.6.23.17/drivers/net/Makefile -@@ -131,6 +131,7 @@ obj-$(CONFIG_SLHC) += slhc.o +--- a/drivers/net/Makefile ++++ b/drivers/net/Makefile +@@ -131,6 +131,7 @@ obj-$(CONFIG_XEN_NETDEV_FRONTEND) += xen-netfront.o obj-$(CONFIG_DUMMY) += dummy.o @@ -549,10 +543,8 @@ Index: linux-2.6.23.17/drivers/net/Makefile obj-$(CONFIG_IFB) += ifb.o obj-$(CONFIG_MACVLAN) += macvlan.o obj-$(CONFIG_DE600) += de600.o -Index: linux-2.6.23.17/include/linux/imq.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/imq.h ++++ b/include/linux/imq.h @@ -0,0 +1,9 @@ +#ifndef _IMQ_H +#define _IMQ_H @@ -563,10 +555,8 @@ Index: linux-2.6.23.17/include/linux/imq.h +#define IMQ_F_ENQUEUE 0x80 + +#endif /* _IMQ_H */ -Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ipt_IMQ.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/netfilter_ipv4/ipt_IMQ.h ++++ b/include/linux/netfilter_ipv4/ipt_IMQ.h @@ -0,0 +1,8 @@ +#ifndef _IPT_IMQ_H +#define _IPT_IMQ_H @@ -576,10 +566,8 @@ Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ipt_IMQ.h +}; + +#endif /* _IPT_IMQ_H */ -Index: linux-2.6.23.17/include/linux/netfilter_ipv6/ip6t_IMQ.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/netfilter_ipv6/ip6t_IMQ.h ++++ b/include/linux/netfilter_ipv6/ip6t_IMQ.h @@ -0,0 +1,8 @@ +#ifndef _IP6T_IMQ_H +#define _IP6T_IMQ_H @@ -589,11 +577,9 @@ Index: linux-2.6.23.17/include/linux/netfilter_ipv6/ip6t_IMQ.h +}; + +#endif /* _IP6T_IMQ_H */ -Index: linux-2.6.23.17/include/linux/skbuff.h -=================================================================== ---- linux-2.6.23.17.orig/include/linux/skbuff.h -+++ linux-2.6.23.17/include/linux/skbuff.h -@@ -295,6 +295,10 @@ struct sk_buff { +--- a/include/linux/skbuff.h ++++ b/include/linux/skbuff.h +@@ -295,6 +295,10 @@ struct nf_conntrack *nfct; struct sk_buff *nfct_reasm; #endif @@ -604,7 +590,7 @@ Index: linux-2.6.23.17/include/linux/skbuff.h #ifdef CONFIG_BRIDGE_NETFILTER struct nf_bridge_info *nf_bridge; #endif -@@ -1725,6 +1729,10 @@ static inline void __nf_copy(struct sk_b +@@ -1725,6 +1729,10 @@ dst->nfct_reasm = src->nfct_reasm; nf_conntrack_get_reasm(src->nfct_reasm); #endif @@ -615,10 +601,8 @@ Index: linux-2.6.23.17/include/linux/skbuff.h #ifdef CONFIG_BRIDGE_NETFILTER dst->nf_bridge = src->nf_bridge; nf_bridge_get(src->nf_bridge); -Index: linux-2.6.23.17/net/core/dev.c -=================================================================== ---- linux-2.6.23.17.orig/net/core/dev.c -+++ linux-2.6.23.17/net/core/dev.c +--- a/net/core/dev.c ++++ b/net/core/dev.c @@ -94,6 +94,9 @@ #include <linux/skbuff.h> #include <net/sock.h> @@ -629,7 +613,7 @@ Index: linux-2.6.23.17/net/core/dev.c #include <linux/proc_fs.h> #include <linux/seq_file.h> #include <linux/stat.h> -@@ -1462,7 +1465,11 @@ static int dev_gso_segment(struct sk_buf +@@ -1462,7 +1465,11 @@ int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) { if (likely(!skb->next)) { @@ -642,10 +626,8 @@ Index: linux-2.6.23.17/net/core/dev.c dev_queue_xmit_nit(skb, dev); if (netif_needs_gso(dev, skb)) { -Index: linux-2.6.23.17/net/ipv4/netfilter/ipt_IMQ.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/net/ipv4/netfilter/ipt_IMQ.c ++++ b/net/ipv4/netfilter/ipt_IMQ.c @@ -0,0 +1,69 @@ +/* + * This target marks packets to be enqueued to an imq device @@ -716,11 +698,9 @@ Index: linux-2.6.23.17/net/ipv4/netfilter/ipt_IMQ.c +MODULE_AUTHOR("http://www.linuximq.net"); +MODULE_DESCRIPTION("Pseudo-driver for the intermediate queue device. See http://www.linuximq.net/ for more information."); +MODULE_LICENSE("GPL"); -Index: linux-2.6.23.17/net/ipv4/netfilter/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/net/ipv4/netfilter/Kconfig -+++ linux-2.6.23.17/net/ipv4/netfilter/Kconfig -@@ -333,6 +333,17 @@ config IP_NF_MANGLE +--- a/net/ipv4/netfilter/Kconfig ++++ b/net/ipv4/netfilter/Kconfig +@@ -333,6 +333,17 @@ To compile it as a module, choose M here. If unsure, say N. @@ -738,11 +718,9 @@ Index: linux-2.6.23.17/net/ipv4/netfilter/Kconfig config IP_NF_TARGET_TOS tristate "TOS target support" depends on IP_NF_MANGLE -Index: linux-2.6.23.17/net/ipv4/netfilter/Makefile -=================================================================== ---- linux-2.6.23.17.orig/net/ipv4/netfilter/Makefile -+++ linux-2.6.23.17/net/ipv4/netfilter/Makefile -@@ -58,6 +58,7 @@ obj-$(CONFIG_IP_NF_MATCH_IPP2P) += ipt_i +--- a/net/ipv4/netfilter/Makefile ++++ b/net/ipv4/netfilter/Makefile +@@ -58,6 +58,7 @@ obj-$(CONFIG_IP_NF_TARGET_REJECT) += ipt_REJECT.o obj-$(CONFIG_IP_NF_TARGET_TOS) += ipt_TOS.o obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_ECN.o @@ -750,10 +728,8 @@ Index: linux-2.6.23.17/net/ipv4/netfilter/Makefile obj-$(CONFIG_IP_NF_TARGET_MASQUERADE) += ipt_MASQUERADE.o obj-$(CONFIG_IP_NF_TARGET_REDIRECT) += ipt_REDIRECT.o obj-$(CONFIG_IP_NF_TARGET_NETMAP) += ipt_NETMAP.o -Index: linux-2.6.23.17/net/ipv6/netfilter/ip6t_IMQ.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/net/ipv6/netfilter/ip6t_IMQ.c ++++ b/net/ipv6/netfilter/ip6t_IMQ.c @@ -0,0 +1,69 @@ +/* + * This target marks packets to be enqueued to an imq device @@ -824,11 +800,9 @@ Index: linux-2.6.23.17/net/ipv6/netfilter/ip6t_IMQ.c +MODULE_AUTHOR("http://www.linuximq.net"); +MODULE_DESCRIPTION("Pseudo-driver for the intermediate queue device. See http://www.linuximq.net/ for more information."); +MODULE_LICENSE("GPL"); -Index: linux-2.6.23.17/net/ipv6/netfilter/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/net/ipv6/netfilter/Kconfig -+++ linux-2.6.23.17/net/ipv6/netfilter/Kconfig -@@ -173,6 +173,15 @@ config IP6_NF_MANGLE +--- a/net/ipv6/netfilter/Kconfig ++++ b/net/ipv6/netfilter/Kconfig +@@ -173,6 +173,15 @@ To compile it as a module, choose M here. If unsure, say N. @@ -844,11 +818,9 @@ Index: linux-2.6.23.17/net/ipv6/netfilter/Kconfig config IP6_NF_TARGET_HL tristate 'HL (hoplimit) target support' depends on IP6_NF_MANGLE -Index: linux-2.6.23.17/net/ipv6/netfilter/Makefile -=================================================================== ---- linux-2.6.23.17.orig/net/ipv6/netfilter/Makefile -+++ linux-2.6.23.17/net/ipv6/netfilter/Makefile -@@ -13,6 +13,7 @@ obj-$(CONFIG_IP6_NF_MATCH_EUI64) += ip6t +--- a/net/ipv6/netfilter/Makefile ++++ b/net/ipv6/netfilter/Makefile +@@ -13,6 +13,7 @@ obj-$(CONFIG_IP6_NF_MATCH_OWNER) += ip6t_owner.o obj-$(CONFIG_IP6_NF_FILTER) += ip6table_filter.o obj-$(CONFIG_IP6_NF_MANGLE) += ip6table_mangle.o @@ -856,11 +828,9 @@ Index: linux-2.6.23.17/net/ipv6/netfilter/Makefile obj-$(CONFIG_IP6_NF_TARGET_HL) += ip6t_HL.o obj-$(CONFIG_IP6_NF_QUEUE) += ip6_queue.o obj-$(CONFIG_IP6_NF_TARGET_LOG) += ip6t_LOG.o -Index: linux-2.6.23.17/net/sched/sch_generic.c -=================================================================== ---- linux-2.6.23.17.orig/net/sched/sch_generic.c -+++ linux-2.6.23.17/net/sched/sch_generic.c -@@ -191,6 +191,11 @@ static inline int qdisc_restart(struct n +--- a/net/sched/sch_generic.c ++++ b/net/sched/sch_generic.c +@@ -191,6 +191,11 @@ return ret; } @@ -872,7 +842,7 @@ Index: linux-2.6.23.17/net/sched/sch_generic.c void __qdisc_run(struct net_device *dev) { do { -@@ -620,3 +625,4 @@ EXPORT_SYMBOL(qdisc_destroy); +@@ -620,3 +625,4 @@ EXPORT_SYMBOL(qdisc_reset); EXPORT_SYMBOL(qdisc_lock_tree); EXPORT_SYMBOL(qdisc_unlock_tree); diff --git a/target/linux/generic-2.6/patches-2.6.23/160-netfilter_route.patch b/target/linux/generic-2.6/patches-2.6.23/160-netfilter_route.patch index d7fefaa..7441b27 100644 --- a/target/linux/generic-2.6/patches-2.6.23/160-netfilter_route.patch +++ b/target/linux/generic-2.6/patches-2.6.23/160-netfilter_route.patch @@ -1,7 +1,5 @@ -Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ipt_ROUTE.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/netfilter_ipv4/ipt_ROUTE.h ++++ b/include/linux/netfilter_ipv4/ipt_ROUTE.h @@ -0,0 +1,23 @@ +/* Header file for iptables ipt_ROUTE target + * @@ -26,10 +24,8 @@ Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ipt_ROUTE.h +#define IPT_ROUTE_TEE 0x02 + +#endif /*_IPT_ROUTE_H_target*/ -Index: linux-2.6.23.17/include/linux/netfilter_ipv6/ip6t_ROUTE.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/netfilter_ipv6/ip6t_ROUTE.h ++++ b/include/linux/netfilter_ipv6/ip6t_ROUTE.h @@ -0,0 +1,23 @@ +/* Header file for iptables ip6t_ROUTE target + * @@ -54,10 +50,8 @@ Index: linux-2.6.23.17/include/linux/netfilter_ipv6/ip6t_ROUTE.h +#define IP6T_ROUTE_TEE 0x02 + +#endif /*_IP6T_ROUTE_H_target*/ -Index: linux-2.6.23.17/net/ipv4/netfilter/ipt_ROUTE.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/net/ipv4/netfilter/ipt_ROUTE.c ++++ b/net/ipv4/netfilter/ipt_ROUTE.c @@ -0,0 +1,463 @@ +/* + * This implements the ROUTE target, which enables you to setup unusual @@ -522,11 +516,9 @@ Index: linux-2.6.23.17/net/ipv4/netfilter/ipt_ROUTE.c + +module_init(init); +module_exit(fini); -Index: linux-2.6.23.17/net/ipv4/netfilter/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/net/ipv4/netfilter/Kconfig -+++ linux-2.6.23.17/net/ipv4/netfilter/Kconfig -@@ -552,5 +552,22 @@ config IP_NF_TARGET_SET +--- a/net/ipv4/netfilter/Kconfig ++++ b/net/ipv4/netfilter/Kconfig +@@ -552,5 +552,22 @@ To compile it as a module, choose M here. If unsure, say N. @@ -549,11 +541,9 @@ Index: linux-2.6.23.17/net/ipv4/netfilter/Kconfig + endmenu -Index: linux-2.6.23.17/net/ipv4/netfilter/Makefile -=================================================================== ---- linux-2.6.23.17.orig/net/ipv4/netfilter/Makefile -+++ linux-2.6.23.17/net/ipv4/netfilter/Makefile -@@ -61,6 +61,7 @@ obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_EC +--- a/net/ipv4/netfilter/Makefile ++++ b/net/ipv4/netfilter/Makefile +@@ -61,6 +61,7 @@ obj-$(CONFIG_IP_NF_TARGET_IMQ) += ipt_IMQ.o obj-$(CONFIG_IP_NF_TARGET_MASQUERADE) += ipt_MASQUERADE.o obj-$(CONFIG_IP_NF_TARGET_REDIRECT) += ipt_REDIRECT.o @@ -561,11 +551,9 @@ Index: linux-2.6.23.17/net/ipv4/netfilter/Makefile obj-$(CONFIG_IP_NF_TARGET_NETMAP) += ipt_NETMAP.o obj-$(CONFIG_IP_NF_TARGET_SAME) += ipt_SAME.o obj-$(CONFIG_IP_NF_TARGET_LOG) += ipt_LOG.o -Index: linux-2.6.23.17/net/ipv6/ndisc.c -=================================================================== ---- linux-2.6.23.17.orig/net/ipv6/ndisc.c -+++ linux-2.6.23.17/net/ipv6/ndisc.c -@@ -154,6 +154,8 @@ struct neigh_table nd_tbl = { +--- a/net/ipv6/ndisc.c ++++ b/net/ipv6/ndisc.c +@@ -154,6 +154,8 @@ .gc_thresh3 = 1024, }; @@ -574,10 +562,8 @@ Index: linux-2.6.23.17/net/ipv6/ndisc.c /* ND options */ struct ndisc_options { struct nd_opt_hdr *nd_opt_array[__ND_OPT_ARRAY_MAX]; -Index: linux-2.6.23.17/net/ipv6/netfilter/ip6t_ROUTE.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/net/ipv6/netfilter/ip6t_ROUTE.c ++++ b/net/ipv6/netfilter/ip6t_ROUTE.c @@ -0,0 +1,330 @@ +/* + * This implements the ROUTE v6 target, which enables you to setup unusual @@ -909,11 +895,9 @@ Index: linux-2.6.23.17/net/ipv6/netfilter/ip6t_ROUTE.c +module_init(init); +module_exit(fini); +MODULE_LICENSE("GPL"); -Index: linux-2.6.23.17/net/ipv6/netfilter/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/net/ipv6/netfilter/Kconfig -+++ linux-2.6.23.17/net/ipv6/netfilter/Kconfig -@@ -209,5 +209,18 @@ config IP6_NF_RAW +--- a/net/ipv6/netfilter/Kconfig ++++ b/net/ipv6/netfilter/Kconfig +@@ -209,5 +209,18 @@ If you want to compile it as a module, say M here and read <file:Documentation/kbuild/modules.txt>. If unsure, say `N'. @@ -932,11 +916,9 @@ Index: linux-2.6.23.17/net/ipv6/netfilter/Kconfig + endmenu -Index: linux-2.6.23.17/net/ipv6/netfilter/Makefile -=================================================================== ---- linux-2.6.23.17.orig/net/ipv6/netfilter/Makefile -+++ linux-2.6.23.17/net/ipv6/netfilter/Makefile -@@ -20,6 +20,7 @@ obj-$(CONFIG_IP6_NF_TARGET_LOG) += ip6t_ +--- a/net/ipv6/netfilter/Makefile ++++ b/net/ipv6/netfilter/Makefile +@@ -20,6 +20,7 @@ obj-$(CONFIG_IP6_NF_RAW) += ip6table_raw.o obj-$(CONFIG_IP6_NF_MATCH_HL) += ip6t_hl.o obj-$(CONFIG_IP6_NF_TARGET_REJECT) += ip6t_REJECT.o diff --git a/target/linux/generic-2.6/patches-2.6.23/170-netfilter_chaostables_0.8.patch b/target/linux/generic-2.6/patches-2.6.23/170-netfilter_chaostables_0.8.patch index 231921d..32cb145 100644 --- a/target/linux/generic-2.6/patches-2.6.23/170-netfilter_chaostables_0.8.patch +++ b/target/linux/generic-2.6/patches-2.6.23/170-netfilter_chaostables_0.8.patch @@ -1,17 +1,13 @@ -Index: linux-2.6.23.17/include/linux/netfilter/oot_conntrack.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/netfilter/oot_conntrack.h ++++ b/include/linux/netfilter/oot_conntrack.h @@ -0,0 +1,5 @@ +#if defined(CONFIG_IP_NF_CONNTRACK) || defined(CONFIG_IP_NF_CONNTRACK_MODULE) +# include <linux/netfilter_ipv4/ip_conntrack.h> +#else /* linux-2.6.20+ */ +# include <net/netfilter/nf_nat_rule.h> +#endif -Index: linux-2.6.23.17/include/linux/netfilter/oot_trans.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/netfilter/oot_trans.h ++++ b/include/linux/netfilter/oot_trans.h @@ -0,0 +1,14 @@ +/* Out of tree workarounds */ +#include <linux/version.h> @@ -27,10 +23,8 @@ Index: linux-2.6.23.17/include/linux/netfilter/oot_trans.h +# define tcp_v4_check(tcph, tcph_sz, s, d, csp) \ + tcp_v4_check((tcph_sz), (s), (d), (csp)) +#endif -Index: linux-2.6.23.17/include/linux/netfilter/xt_CHAOS.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/netfilter/xt_CHAOS.h ++++ b/include/linux/netfilter/xt_CHAOS.h @@ -0,0 +1,14 @@ +#ifndef _LINUX_NETFILTER_XT_CHAOS_H +#define _LINUX_NETFILTER_XT_CHAOS_H 1 @@ -46,10 +40,8 @@ Index: linux-2.6.23.17/include/linux/netfilter/xt_CHAOS.h +}; + +#endif /* _LINUX_NETFILTER_XT_CHAOS_H */ -Index: linux-2.6.23.17/include/linux/netfilter/xt_portscan.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/netfilter/xt_portscan.h ++++ b/include/linux/netfilter/xt_portscan.h @@ -0,0 +1,8 @@ +#ifndef _LINUX_NETFILTER_XT_PORTSCAN_H +#define _LINUX_NETFILTER_XT_PORTSCAN_H 1 @@ -59,10 +51,8 @@ Index: linux-2.6.23.17/include/linux/netfilter/xt_portscan.h +}; + +#endif /* _LINUX_NETFILTER_XT_PORTSCAN_H */ -Index: linux-2.6.23.17/net/netfilter/find_match.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/net/netfilter/find_match.c ++++ b/net/netfilter/find_match.c @@ -0,0 +1,39 @@ +/* + xt_request_find_match @@ -103,11 +93,9 @@ Index: linux-2.6.23.17/net/netfilter/find_match.c + +/* In case it goes into mainline, let this out-of-tree package compile */ +#define xt_request_find_match xt_request_find_match_lo -Index: linux-2.6.23.17/net/netfilter/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/net/netfilter/Kconfig -+++ linux-2.6.23.17/net/netfilter/Kconfig -@@ -265,6 +265,14 @@ config NETFILTER_XTABLES +--- a/net/netfilter/Kconfig ++++ b/net/netfilter/Kconfig +@@ -265,6 +265,14 @@ # alphabetically ordered list of targets @@ -122,7 +110,7 @@ Index: linux-2.6.23.17/net/netfilter/Kconfig config NETFILTER_XT_TARGET_CLASSIFY tristate '"CLASSIFY" target support' depends on NETFILTER_XTABLES -@@ -292,6 +300,14 @@ config NETFILTER_XT_TARGET_CONNMARK +@@ -292,6 +300,14 @@ <file:Documentation/kbuild/modules.txt>. The module will be called ipt_CONNMARK.ko. If unsure, say `N'. @@ -137,7 +125,7 @@ Index: linux-2.6.23.17/net/netfilter/Kconfig config NETFILTER_XT_TARGET_DSCP tristate '"DSCP" target support' depends on NETFILTER_XTABLES -@@ -556,6 +572,14 @@ config NETFILTER_XT_MATCH_POLICY +@@ -556,6 +572,14 @@ To compile it as a module, choose M here. If unsure, say N. @@ -152,11 +140,9 @@ Index: linux-2.6.23.17/net/netfilter/Kconfig config NETFILTER_XT_MATCH_MULTIPORT tristate "Multiple port match support" depends on NETFILTER_XTABLES -Index: linux-2.6.23.17/net/netfilter/Makefile -=================================================================== ---- linux-2.6.23.17.orig/net/netfilter/Makefile -+++ linux-2.6.23.17/net/netfilter/Makefile -@@ -49,6 +49,8 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_TRACE) +--- a/net/netfilter/Makefile ++++ b/net/netfilter/Makefile +@@ -49,6 +49,8 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_SECMARK) += xt_SECMARK.o obj-$(CONFIG_NETFILTER_XT_TARGET_TCPMSS) += xt_TCPMSS.o obj-$(CONFIG_NETFILTER_XT_TARGET_CONNSECMARK) += xt_CONNSECMARK.o @@ -165,15 +151,13 @@ Index: linux-2.6.23.17/net/netfilter/Makefile # matches obj-$(CONFIG_NETFILTER_XT_MATCH_COMMENT) += xt_comment.o -@@ -78,3 +80,4 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_TCPMSS) +@@ -78,3 +80,4 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_PHYSDEV) += xt_physdev.o obj-$(CONFIG_NETFILTER_XT_MATCH_U32) += xt_u32.o obj-$(CONFIG_NETFILTER_XT_MATCH_HASHLIMIT) += xt_hashlimit.o +obj-$(CONFIG_NETFILTER_XT_MATCH_PORTSCAN) += xt_portscan.o -Index: linux-2.6.23.17/net/netfilter/xt_CHAOS.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/net/netfilter/xt_CHAOS.c ++++ b/net/netfilter/xt_CHAOS.c @@ -0,0 +1,200 @@ +/* + * CHAOS target for netfilter @@ -375,10 +359,8 @@ Index: linux-2.6.23.17/net/netfilter/xt_CHAOS.c +MODULE_DESCRIPTION("netfilter \"CHAOS\" target"); +MODULE_LICENSE("GPL"); +MODULE_ALIAS("ipt_CHAOS"); -Index: linux-2.6.23.17/net/netfilter/xt_DELUDE.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/net/netfilter/xt_DELUDE.c ++++ b/net/netfilter/xt_DELUDE.c @@ -0,0 +1,197 @@ +/* + * DELUDE target @@ -577,10 +559,8 @@ Index: linux-2.6.23.17/net/netfilter/xt_DELUDE.c +MODULE_DESCRIPTION("netfilter \"DELUDE\" target"); +MODULE_LICENSE("GPL"); +MODULE_ALIAS("ipt_DELUDE"); -Index: linux-2.6.23.17/net/netfilter/xt_portscan.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/net/netfilter/xt_portscan.c ++++ b/net/netfilter/xt_portscan.c @@ -0,0 +1,269 @@ +/* + * portscan match for netfilter @@ -851,11 +831,9 @@ Index: linux-2.6.23.17/net/netfilter/xt_portscan.c +MODULE_DESCRIPTION("netfilter \"portscan\" match"); +MODULE_LICENSE("GPL"); +MODULE_ALIAS("ipt_portscan"); -Index: linux-2.6.23.17/drivers/char/random.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/char/random.c -+++ linux-2.6.23.17/drivers/char/random.c -@@ -1564,6 +1564,8 @@ __u32 secure_tcp_sequence_number(__be32 +--- a/drivers/char/random.c ++++ b/drivers/char/random.c +@@ -1564,6 +1564,8 @@ return seq; } diff --git a/target/linux/generic-2.6/patches-2.6.23/171-netfilter_tarpit.patch b/target/linux/generic-2.6/patches-2.6.23/171-netfilter_tarpit.patch index 847d474..e74c9d9 100644 --- a/target/linux/generic-2.6/patches-2.6.23/171-netfilter_tarpit.patch +++ b/target/linux/generic-2.6/patches-2.6.23/171-netfilter_tarpit.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/net/netfilter/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/net/netfilter/Kconfig -+++ linux-2.6.23.17/net/netfilter/Kconfig -@@ -401,6 +401,23 @@ config NETFILTER_XT_TARGET_CONNSECMARK +--- a/net/netfilter/Kconfig ++++ b/net/netfilter/Kconfig +@@ -401,6 +401,23 @@ To compile it as a module, choose M here. If unsure, say N. @@ -26,11 +24,9 @@ Index: linux-2.6.23.17/net/netfilter/Kconfig config NETFILTER_XT_TARGET_TCPMSS tristate '"TCPMSS" target support' depends on NETFILTER_XTABLES && (IPV6 || IPV6=n) -Index: linux-2.6.23.17/net/netfilter/Makefile -=================================================================== ---- linux-2.6.23.17.orig/net/netfilter/Makefile -+++ linux-2.6.23.17/net/netfilter/Makefile -@@ -47,6 +47,7 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_NFLOG) +--- a/net/netfilter/Makefile ++++ b/net/netfilter/Makefile +@@ -47,6 +47,7 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_NOTRACK) += xt_NOTRACK.o obj-$(CONFIG_NETFILTER_XT_TARGET_TRACE) += xt_TRACE.o obj-$(CONFIG_NETFILTER_XT_TARGET_SECMARK) += xt_SECMARK.o @@ -38,10 +34,8 @@ Index: linux-2.6.23.17/net/netfilter/Makefile obj-$(CONFIG_NETFILTER_XT_TARGET_TCPMSS) += xt_TCPMSS.o obj-$(CONFIG_NETFILTER_XT_TARGET_CONNSECMARK) += xt_CONNSECMARK.o obj-$(CONFIG_NETFILTER_XT_TARGET_CHAOS) += xt_CHAOS.o -Index: linux-2.6.23.17/net/netfilter/xt_TARPIT.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/net/netfilter/xt_TARPIT.c ++++ b/net/netfilter/xt_TARPIT.c @@ -0,0 +1,280 @@ +/* + * Kernel module to capture and hold incoming TCP connections using diff --git a/target/linux/generic-2.6/patches-2.6.23/180-netfilter_depends.patch b/target/linux/generic-2.6/patches-2.6.23/180-netfilter_depends.patch index 41a9c20..bb5de23 100644 --- a/target/linux/generic-2.6/patches-2.6.23/180-netfilter_depends.patch +++ b/target/linux/generic-2.6/patches-2.6.23/180-netfilter_depends.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/net/netfilter/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/net/netfilter/Kconfig -+++ linux-2.6.23.17/net/netfilter/Kconfig -@@ -143,7 +143,7 @@ config NF_CONNTRACK_FTP +--- a/net/netfilter/Kconfig ++++ b/net/netfilter/Kconfig +@@ -143,7 +143,7 @@ config NF_CONNTRACK_H323 tristate "H.323 protocol support (EXPERIMENTAL)" @@ -11,7 +9,7 @@ Index: linux-2.6.23.17/net/netfilter/Kconfig help H.323 is a VoIP signalling protocol from ITU-T. As one of the most important VoIP protocols, it is widely used by voice hardware and -@@ -420,7 +420,7 @@ config NETFILTER_XT_TARGET_TARPIT +@@ -420,7 +420,7 @@ config NETFILTER_XT_TARGET_TCPMSS tristate '"TCPMSS" target support' diff --git a/target/linux/generic-2.6/patches-2.6.23/190-netfilter_rtsp.patch b/target/linux/generic-2.6/patches-2.6.23/190-netfilter_rtsp.patch index bda3d74..ad9bc2a 100644 --- a/target/linux/generic-2.6/patches-2.6.23/190-netfilter_rtsp.patch +++ b/target/linux/generic-2.6/patches-2.6.23/190-netfilter_rtsp.patch @@ -1,7 +1,5 @@ -Index: linux-2.6.23.17/include/linux/netfilter/nf_conntrack_rtsp.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/netfilter/nf_conntrack_rtsp.h ++++ b/include/linux/netfilter/nf_conntrack_rtsp.h @@ -0,0 +1,63 @@ +/* + * RTSP extension for IP connection tracking. @@ -66,10 +64,8 @@ Index: linux-2.6.23.17/include/linux/netfilter/nf_conntrack_rtsp.h +#endif /* __KERNEL__ */ + +#endif /* _IP_CONNTRACK_RTSP_H */ -Index: linux-2.6.23.17/include/linux/netfilter_helpers.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/netfilter_helpers.h ++++ b/include/linux/netfilter_helpers.h @@ -0,0 +1,133 @@ +/* + * Helpers for netfiler modules. This file provides implementations for basic @@ -204,10 +200,8 @@ Index: linux-2.6.23.17/include/linux/netfilter_helpers.h +#endif /* __KERNEL__ */ + +#endif /* _NETFILTER_HELPERS_H */ -Index: linux-2.6.23.17/include/linux/netfilter_mime.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/netfilter_mime.h ++++ b/include/linux/netfilter_mime.h @@ -0,0 +1,89 @@ +/* + * MIME functions for netfilter modules. This file provides implementations @@ -298,11 +292,9 @@ Index: linux-2.6.23.17/include/linux/netfilter_mime.h +#endif /* __KERNEL__ */ + +#endif /* _NETFILTER_MIME_H */ -Index: linux-2.6.23.17/net/ipv4/netfilter/Makefile -=================================================================== ---- linux-2.6.23.17.orig/net/ipv4/netfilter/Makefile -+++ linux-2.6.23.17/net/ipv4/netfilter/Makefile -@@ -23,6 +23,7 @@ obj-$(CONFIG_NF_NAT_AMANDA) += nf_nat_am +--- a/net/ipv4/netfilter/Makefile ++++ b/net/ipv4/netfilter/Makefile +@@ -23,6 +23,7 @@ obj-$(CONFIG_NF_NAT_FTP) += nf_nat_ftp.o obj-$(CONFIG_NF_NAT_H323) += nf_nat_h323.o obj-$(CONFIG_NF_NAT_IRC) += nf_nat_irc.o @@ -310,11 +302,9 @@ Index: linux-2.6.23.17/net/ipv4/netfilter/Makefile obj-$(CONFIG_NF_NAT_PPTP) += nf_nat_pptp.o obj-$(CONFIG_NF_NAT_SIP) += nf_nat_sip.o obj-$(CONFIG_NF_NAT_SNMP_BASIC) += nf_nat_snmp_basic.o -Index: linux-2.6.23.17/net/netfilter/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/net/netfilter/Kconfig -+++ linux-2.6.23.17/net/netfilter/Kconfig -@@ -249,6 +249,16 @@ config NF_CONNTRACK_TFTP +--- a/net/netfilter/Kconfig ++++ b/net/netfilter/Kconfig +@@ -249,6 +249,16 @@ To compile it as a module, choose M here. If unsure, say N. @@ -331,11 +321,9 @@ Index: linux-2.6.23.17/net/netfilter/Kconfig config NF_CT_NETLINK tristate 'Connection tracking netlink interface (EXPERIMENTAL)' depends on EXPERIMENTAL && NF_CONNTRACK && NETFILTER_NETLINK -Index: linux-2.6.23.17/net/netfilter/Makefile -=================================================================== ---- linux-2.6.23.17.orig/net/netfilter/Makefile -+++ linux-2.6.23.17/net/netfilter/Makefile -@@ -33,6 +33,7 @@ obj-$(CONFIG_NF_CONNTRACK_PPTP) += nf_co +--- a/net/netfilter/Makefile ++++ b/net/netfilter/Makefile +@@ -33,6 +33,7 @@ obj-$(CONFIG_NF_CONNTRACK_SANE) += nf_conntrack_sane.o obj-$(CONFIG_NF_CONNTRACK_SIP) += nf_conntrack_sip.o obj-$(CONFIG_NF_CONNTRACK_TFTP) += nf_conntrack_tftp.o @@ -343,11 +331,9 @@ Index: linux-2.6.23.17/net/netfilter/Makefile # generic X tables obj-$(CONFIG_NETFILTER_XTABLES) += x_tables.o xt_tcpudp.o -Index: linux-2.6.23.17/net/ipv4/netfilter/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/net/ipv4/netfilter/Kconfig -+++ linux-2.6.23.17/net/ipv4/netfilter/Kconfig -@@ -296,6 +296,11 @@ config NF_NAT_IRC +--- a/net/ipv4/netfilter/Kconfig ++++ b/net/ipv4/netfilter/Kconfig +@@ -296,6 +296,11 @@ depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT default NF_NAT && NF_CONNTRACK_IRC @@ -359,10 +345,8 @@ Index: linux-2.6.23.17/net/ipv4/netfilter/Kconfig config NF_NAT_TFTP tristate depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT -Index: linux-2.6.23.17/net/netfilter/nf_conntrack_rtsp.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/net/netfilter/nf_conntrack_rtsp.c ++++ b/net/netfilter/nf_conntrack_rtsp.c @@ -0,0 +1,513 @@ +/* + * RTSP extension for IP connection tracking @@ -877,10 +861,8 @@ Index: linux-2.6.23.17/net/netfilter/nf_conntrack_rtsp.c + +EXPORT_SYMBOL(nf_nat_rtsp_hook_expectfn); + -Index: linux-2.6.23.17/net/ipv4/netfilter/nf_nat_rtsp.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/net/ipv4/netfilter/nf_nat_rtsp.c ++++ b/net/ipv4/netfilter/nf_nat_rtsp.c @@ -0,0 +1,496 @@ +/* + * RTSP extension for TCP NAT alteration diff --git a/target/linux/generic-2.6/patches-2.6.23/200-sched_esfq.patch b/target/linux/generic-2.6/patches-2.6.23/200-sched_esfq.patch index 3a9fe43..6a73792 100644 --- a/target/linux/generic-2.6/patches-2.6.23/200-sched_esfq.patch +++ b/target/linux/generic-2.6/patches-2.6.23/200-sched_esfq.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/include/linux/pkt_sched.h -=================================================================== ---- linux-2.6.23.17.orig/include/linux/pkt_sched.h -+++ linux-2.6.23.17/include/linux/pkt_sched.h -@@ -155,8 +155,37 @@ struct tc_sfq_qopt +--- a/include/linux/pkt_sched.h ++++ b/include/linux/pkt_sched.h +@@ -155,8 +155,37 @@ * * The only reason for this is efficiency, it is possible * to change these parameters in compile time. @@ -40,11 +38,9 @@ Index: linux-2.6.23.17/include/linux/pkt_sched.h /* RED section */ enum -Index: linux-2.6.23.17/net/sched/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/net/sched/Kconfig -+++ linux-2.6.23.17/net/sched/Kconfig -@@ -144,6 +144,37 @@ config NET_SCH_SFQ +--- a/net/sched/Kconfig ++++ b/net/sched/Kconfig +@@ -144,6 +144,37 @@ To compile this code as a module, choose M here: the module will be called sch_sfq. @@ -82,11 +78,9 @@ Index: linux-2.6.23.17/net/sched/Kconfig config NET_SCH_TEQL tristate "True Link Equalizer (TEQL)" ---help--- -Index: linux-2.6.23.17/net/sched/Makefile -=================================================================== ---- linux-2.6.23.17.orig/net/sched/Makefile -+++ linux-2.6.23.17/net/sched/Makefile -@@ -22,6 +22,7 @@ obj-$(CONFIG_NET_SCH_GRED) += sch_gred.o +--- a/net/sched/Makefile ++++ b/net/sched/Makefile +@@ -22,6 +22,7 @@ obj-$(CONFIG_NET_SCH_INGRESS) += sch_ingress.o obj-$(CONFIG_NET_SCH_DSMARK) += sch_dsmark.o obj-$(CONFIG_NET_SCH_SFQ) += sch_sfq.o @@ -94,10 +88,8 @@ Index: linux-2.6.23.17/net/sched/Makefile obj-$(CONFIG_NET_SCH_TBF) += sch_tbf.o obj-$(CONFIG_NET_SCH_TEQL) += sch_teql.o obj-$(CONFIG_NET_SCH_PRIO) += sch_prio.o -Index: linux-2.6.23.17/net/sched/sch_esfq.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/net/sched/sch_esfq.c ++++ b/net/sched/sch_esfq.c @@ -0,0 +1,702 @@ +/* + * net/sched/sch_esfq.c Extended Stochastic Fairness Queueing discipline. diff --git a/target/linux/generic-2.6/patches-2.6.23/201-multiple_default_gateways.patch b/target/linux/generic-2.6/patches-2.6.23/201-multiple_default_gateways.patch index 1232489..a13bb19 100644 --- a/target/linux/generic-2.6/patches-2.6.23/201-multiple_default_gateways.patch +++ b/target/linux/generic-2.6/patches-2.6.23/201-multiple_default_gateways.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/include/linux/rtnetlink.h -=================================================================== ---- linux-2.6.23.17.orig/include/linux/rtnetlink.h -+++ linux-2.6.23.17/include/linux/rtnetlink.h -@@ -293,6 +293,8 @@ struct rtnexthop +--- a/include/linux/rtnetlink.h ++++ b/include/linux/rtnetlink.h +@@ -293,6 +293,8 @@ #define RTNH_F_DEAD 1 /* Nexthop is dead (used by multipath) */ #define RTNH_F_PERVASIVE 2 /* Do recursive gateway lookup */ #define RTNH_F_ONLINK 4 /* Gateway is forced on link */ @@ -11,11 +9,9 @@ Index: linux-2.6.23.17/include/linux/rtnetlink.h /* Macros to handle hexthops */ -Index: linux-2.6.23.17/include/net/flow.h -=================================================================== ---- linux-2.6.23.17.orig/include/net/flow.h -+++ linux-2.6.23.17/include/net/flow.h -@@ -19,6 +19,8 @@ struct flowi { +--- a/include/net/flow.h ++++ b/include/net/flow.h +@@ -19,6 +19,8 @@ struct { __be32 daddr; __be32 saddr; @@ -24,7 +20,7 @@ Index: linux-2.6.23.17/include/net/flow.h __u8 tos; __u8 scope; } ip4_u; -@@ -43,6 +45,8 @@ struct flowi { +@@ -43,6 +45,8 @@ #define fl6_flowlabel nl_u.ip6_u.flowlabel #define fl4_dst nl_u.ip4_u.daddr #define fl4_src nl_u.ip4_u.saddr @@ -33,11 +29,9 @@ Index: linux-2.6.23.17/include/net/flow.h #define fl4_tos nl_u.ip4_u.tos #define fl4_scope nl_u.ip4_u.scope -Index: linux-2.6.23.17/net/ipv4/route.c -=================================================================== ---- linux-2.6.23.17.orig/net/ipv4/route.c -+++ linux-2.6.23.17/net/ipv4/route.c -@@ -1116,6 +1116,7 @@ void ip_rt_redirect(__be32 old_gw, __be3 +--- a/net/ipv4/route.c ++++ b/net/ipv4/route.c +@@ -1116,6 +1116,7 @@ /* Gateway is different ... */ rt->rt_gateway = new_gw; @@ -45,7 +39,7 @@ Index: linux-2.6.23.17/net/ipv4/route.c /* Redirect received -> path was valid */ dst_confirm(&rth->u.dst); -@@ -1551,6 +1552,7 @@ static int ip_route_input_mc(struct sk_b +@@ -1551,6 +1552,7 @@ rth->fl.fl4_tos = tos; rth->fl.mark = skb->mark; rth->fl.fl4_src = saddr; @@ -53,7 +47,7 @@ Index: linux-2.6.23.17/net/ipv4/route.c rth->rt_src = saddr; #ifdef CONFIG_NET_CLS_ROUTE rth->u.dst.tclassid = itag; -@@ -1561,6 +1563,7 @@ static int ip_route_input_mc(struct sk_b +@@ -1561,6 +1563,7 @@ dev_hold(rth->u.dst.dev); rth->idev = in_dev_get(rth->u.dst.dev); rth->fl.oif = 0; @@ -61,7 +55,7 @@ Index: linux-2.6.23.17/net/ipv4/route.c rth->rt_gateway = daddr; rth->rt_spec_dst= spec_dst; rth->rt_type = RTN_MULTICAST; -@@ -1624,7 +1627,7 @@ static void ip_handle_martian_source(str +@@ -1624,7 +1627,7 @@ static inline int __mkroute_input(struct sk_buff *skb, struct fib_result* res, struct in_device *in_dev, @@ -70,7 +64,7 @@ Index: linux-2.6.23.17/net/ipv4/route.c struct rtable **result) { -@@ -1659,6 +1662,7 @@ static inline int __mkroute_input(struct +@@ -1659,6 +1662,7 @@ flags |= RTCF_DIRECTSRC; if (out_dev == in_dev && err && !(flags & (RTCF_NAT | RTCF_MASQ)) && @@ -78,7 +72,7 @@ Index: linux-2.6.23.17/net/ipv4/route.c (IN_DEV_SHARED_MEDIA(out_dev) || inet_addr_onlink(out_dev, saddr, FIB_RES_GW(*res)))) flags |= RTCF_DOREDIRECT; -@@ -1692,6 +1696,7 @@ static inline int __mkroute_input(struct +@@ -1692,6 +1696,7 @@ rth->fl.mark = skb->mark; rth->fl.fl4_src = saddr; rth->rt_src = saddr; @@ -86,7 +80,7 @@ Index: linux-2.6.23.17/net/ipv4/route.c rth->rt_gateway = daddr; rth->rt_iif = rth->fl.iif = in_dev->dev->ifindex; -@@ -1699,6 +1704,7 @@ static inline int __mkroute_input(struct +@@ -1699,6 +1704,7 @@ dev_hold(rth->u.dst.dev); rth->idev = in_dev_get(rth->u.dst.dev); rth->fl.oif = 0; @@ -94,7 +88,7 @@ Index: linux-2.6.23.17/net/ipv4/route.c rth->rt_spec_dst= spec_dst; rth->u.dst.input = ip_forward; -@@ -1720,19 +1726,21 @@ static inline int ip_mkroute_input(struc +@@ -1720,19 +1726,21 @@ struct fib_result* res, const struct flowi *fl, struct in_device *in_dev, @@ -119,7 +113,7 @@ Index: linux-2.6.23.17/net/ipv4/route.c if (err) return err; -@@ -1752,18 +1760,18 @@ static inline int ip_mkroute_input(struc +@@ -1752,18 +1760,18 @@ */ static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr, @@ -141,7 +135,7 @@ Index: linux-2.6.23.17/net/ipv4/route.c unsigned flags = 0; u32 itag = 0; struct rtable * rth; -@@ -1796,6 +1804,12 @@ static int ip_route_input_slow(struct sk +@@ -1796,6 +1804,12 @@ if (BADCLASS(daddr) || ZERONET(daddr) || LOOPBACK(daddr)) goto martian_destination; @@ -154,7 +148,7 @@ Index: linux-2.6.23.17/net/ipv4/route.c /* * Now we are ready to route packet. */ -@@ -1805,6 +1819,10 @@ static int ip_route_input_slow(struct sk +@@ -1805,6 +1819,10 @@ goto no_route; } free_res = 1; @@ -165,7 +159,7 @@ Index: linux-2.6.23.17/net/ipv4/route.c RT_CACHE_STAT_INC(in_slow_tot); -@@ -1829,7 +1847,7 @@ static int ip_route_input_slow(struct sk +@@ -1829,7 +1847,7 @@ if (res.type != RTN_UNICAST) goto martian_destination; @@ -174,7 +168,7 @@ Index: linux-2.6.23.17/net/ipv4/route.c if (err == -ENOBUFS) goto e_nobufs; if (err == -EINVAL) -@@ -1844,6 +1862,8 @@ out: return err; +@@ -1844,6 +1862,8 @@ brd_input: if (skb->protocol != htons(ETH_P_IP)) goto e_inval; @@ -183,7 +177,7 @@ Index: linux-2.6.23.17/net/ipv4/route.c if (ZERONET(saddr)) spec_dst = inet_select_addr(dev, 0, RT_SCOPE_LINK); -@@ -1884,6 +1904,7 @@ local_input: +@@ -1884,6 +1904,7 @@ rth->u.dst.dev = &loopback_dev; dev_hold(rth->u.dst.dev); rth->idev = in_dev_get(rth->u.dst.dev); @@ -191,7 +185,7 @@ Index: linux-2.6.23.17/net/ipv4/route.c rth->rt_gateway = daddr; rth->rt_spec_dst= spec_dst; rth->u.dst.input= ip_local_deliver; -@@ -1933,8 +1954,9 @@ martian_source: +@@ -1933,8 +1954,9 @@ goto e_inval; } @@ -203,7 +197,7 @@ Index: linux-2.6.23.17/net/ipv4/route.c { struct rtable * rth; unsigned hash; -@@ -1949,6 +1971,7 @@ int ip_route_input(struct sk_buff *skb, +@@ -1949,6 +1971,7 @@ if (rth->fl.fl4_dst == daddr && rth->fl.fl4_src == saddr && rth->fl.iif == iif && @@ -211,7 +205,7 @@ Index: linux-2.6.23.17/net/ipv4/route.c rth->fl.oif == 0 && rth->fl.mark == skb->mark && rth->fl.fl4_tos == tos) { -@@ -1995,7 +2018,19 @@ int ip_route_input(struct sk_buff *skb, +@@ -1995,7 +2018,19 @@ rcu_read_unlock(); return -EINVAL; } @@ -232,7 +226,7 @@ Index: linux-2.6.23.17/net/ipv4/route.c } static inline int __mkroute_output(struct rtable **result, -@@ -2067,6 +2102,7 @@ static inline int __mkroute_output(struc +@@ -2067,6 +2102,7 @@ rth->fl.fl4_tos = tos; rth->fl.fl4_src = oldflp->fl4_src; rth->fl.oif = oldflp->oif; @@ -240,7 +234,7 @@ Index: linux-2.6.23.17/net/ipv4/route.c rth->fl.mark = oldflp->mark; rth->rt_dst = fl->fl4_dst; rth->rt_src = fl->fl4_src; -@@ -2145,6 +2181,7 @@ static int ip_route_output_slow(struct r +@@ -2145,6 +2181,7 @@ struct flowi fl = { .nl_u = { .ip4_u = { .daddr = oldflp->fl4_dst, .saddr = oldflp->fl4_src, @@ -248,7 +242,7 @@ Index: linux-2.6.23.17/net/ipv4/route.c .tos = tos & IPTOS_RT_MASK, .scope = ((tos & RTO_ONLINK) ? RT_SCOPE_LINK : -@@ -2248,6 +2285,7 @@ static int ip_route_output_slow(struct r +@@ -2248,6 +2285,7 @@ dev_out = &loopback_dev; dev_hold(dev_out); fl.oif = loopback_dev.ifindex; @@ -256,7 +250,7 @@ Index: linux-2.6.23.17/net/ipv4/route.c res.type = RTN_LOCAL; flags |= RTCF_LOCAL; goto make_route; -@@ -2255,7 +2293,7 @@ static int ip_route_output_slow(struct r +@@ -2255,7 +2293,7 @@ if (fib_lookup(&fl, &res)) { res.fi = NULL; @@ -265,7 +259,7 @@ Index: linux-2.6.23.17/net/ipv4/route.c /* Apparently, routing tables are wrong. Assume, that the destination is on link. -@@ -2295,6 +2333,7 @@ static int ip_route_output_slow(struct r +@@ -2295,6 +2333,7 @@ dev_out = &loopback_dev; dev_hold(dev_out); fl.oif = dev_out->ifindex; @@ -273,7 +267,7 @@ Index: linux-2.6.23.17/net/ipv4/route.c if (res.fi) fib_info_put(res.fi); res.fi = NULL; -@@ -2302,13 +2341,12 @@ static int ip_route_output_slow(struct r +@@ -2302,13 +2341,12 @@ goto make_route; } @@ -290,7 +284,7 @@ Index: linux-2.6.23.17/net/ipv4/route.c if (!fl.fl4_src) fl.fl4_src = FIB_RES_PREFSRC(res); -@@ -2345,6 +2383,7 @@ int __ip_route_output_key(struct rtable +@@ -2345,6 +2383,7 @@ rth->fl.fl4_src == flp->fl4_src && rth->fl.iif == 0 && rth->fl.oif == flp->oif && @@ -298,7 +292,7 @@ Index: linux-2.6.23.17/net/ipv4/route.c rth->fl.mark == flp->mark && !((rth->fl.fl4_tos ^ flp->fl4_tos) & (IPTOS_RT_MASK | RTO_ONLINK))) { -@@ -3030,3 +3069,4 @@ int __init ip_rt_init(void) +@@ -3030,3 +3069,4 @@ EXPORT_SYMBOL(__ip_select_ident); EXPORT_SYMBOL(ip_route_input); EXPORT_SYMBOL(ip_route_output_key); diff --git a/target/linux/generic-2.6/patches-2.6.23/202-mips-freestanding.patch b/target/linux/generic-2.6/patches-2.6.23/202-mips-freestanding.patch index 5c67555..ff3849f 100644 --- a/target/linux/generic-2.6/patches-2.6.23/202-mips-freestanding.patch +++ b/target/linux/generic-2.6/patches-2.6.23/202-mips-freestanding.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/arch/mips/Makefile -=================================================================== ---- linux-2.6.23.17.orig/arch/mips/Makefile -+++ linux-2.6.23.17/arch/mips/Makefile -@@ -565,6 +565,9 @@ core-$(CONFIG_TOSHIBA_RBTX4938) += arch/ +--- a/arch/mips/Makefile ++++ b/arch/mips/Makefile +@@ -565,6 +565,9 @@ cflags-$(CONFIG_TOSHIBA_RBTX4938) += -Iinclude/asm-mips/mach-tx49xx load-$(CONFIG_TOSHIBA_RBTX4938) += 0xffffffff80100000 diff --git a/target/linux/generic-2.6/patches-2.6.23/204-jffs2_eofdetect.patch b/target/linux/generic-2.6/patches-2.6.23/204-jffs2_eofdetect.patch index b82c610..5053401 100644 --- a/target/linux/generic-2.6/patches-2.6.23/204-jffs2_eofdetect.patch +++ b/target/linux/generic-2.6/patches-2.6.23/204-jffs2_eofdetect.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/fs/jffs2/build.c -=================================================================== ---- linux-2.6.23.17.orig/fs/jffs2/build.c -+++ linux-2.6.23.17/fs/jffs2/build.c -@@ -105,6 +105,17 @@ static int jffs2_build_filesystem(struct +--- a/fs/jffs2/build.c ++++ b/fs/jffs2/build.c +@@ -105,6 +105,17 @@ dbg_fsbuild("scanned flash completely\n"); jffs2_dbg_dump_block_lists_nolock(c); @@ -20,11 +18,9 @@ Index: linux-2.6.23.17/fs/jffs2/build.c dbg_fsbuild("pass 1 starting\n"); c->flags |= JFFS2_SB_FLAG_BUILDING; /* Now scan the directory tree, increasing nlink according to every dirent found. */ -Index: linux-2.6.23.17/fs/jffs2/scan.c -=================================================================== ---- linux-2.6.23.17.orig/fs/jffs2/scan.c -+++ linux-2.6.23.17/fs/jffs2/scan.c -@@ -142,9 +142,12 @@ int jffs2_scan_medium(struct jffs2_sb_in +--- a/fs/jffs2/scan.c ++++ b/fs/jffs2/scan.c +@@ -142,9 +142,12 @@ /* reset summary info for next eraseblock scan */ jffs2_sum_reset_collected(s); @@ -40,7 +36,7 @@ Index: linux-2.6.23.17/fs/jffs2/scan.c if (ret < 0) goto out; -@@ -545,6 +548,17 @@ static int jffs2_scan_eraseblock (struct +@@ -545,6 +548,17 @@ return err; } diff --git a/target/linux/generic-2.6/patches-2.6.23/207-powerpc_asm_segment_h.patch b/target/linux/generic-2.6/patches-2.6.23/207-powerpc_asm_segment_h.patch index 08cda58..1272e82 100644 --- a/target/linux/generic-2.6/patches-2.6.23/207-powerpc_asm_segment_h.patch +++ b/target/linux/generic-2.6/patches-2.6.23/207-powerpc_asm_segment_h.patch @@ -1,7 +1,5 @@ -Index: linux-2.6.23.17/include/asm-powerpc/segment.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/asm-powerpc/segment.h ++++ b/include/asm-powerpc/segment.h @@ -0,0 +1,6 @@ +#ifndef _ASM_SEGMENT_H +#define _ASM_SEGMENT_H diff --git a/target/linux/generic-2.6/patches-2.6.23/208-rtl8110sb_fix.patch b/target/linux/generic-2.6/patches-2.6.23/208-rtl8110sb_fix.patch index f68c468..cfeff64 100644 --- a/target/linux/generic-2.6/patches-2.6.23/208-rtl8110sb_fix.patch +++ b/target/linux/generic-2.6/patches-2.6.23/208-rtl8110sb_fix.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/drivers/net/r8169.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/net/r8169.c -+++ linux-2.6.23.17/drivers/net/r8169.c -@@ -1459,7 +1459,7 @@ static const struct rtl_cfg_info { +--- a/drivers/net/r8169.c ++++ b/drivers/net/r8169.c +@@ -1459,7 +1459,7 @@ .hw_start = rtl_hw_start_8169, .region = 1, .align = 0, @@ -11,7 +9,7 @@ Index: linux-2.6.23.17/drivers/net/r8169.c RxFIFOOver | TxErr | TxOK | RxOK | RxErr, .napi_event = RxFIFOOver | TxErr | TxOK | RxOK | RxOverflow }, -@@ -1467,7 +1467,7 @@ static const struct rtl_cfg_info { +@@ -1467,7 +1467,7 @@ .hw_start = rtl_hw_start_8168, .region = 2, .align = 8, @@ -20,7 +18,7 @@ Index: linux-2.6.23.17/drivers/net/r8169.c TxErr | TxOK | RxOK | RxErr, .napi_event = TxErr | TxOK | RxOK | RxOverflow }, -@@ -1475,7 +1475,7 @@ static const struct rtl_cfg_info { +@@ -1475,7 +1475,7 @@ .hw_start = rtl_hw_start_8101, .region = 2, .align = 8, @@ -29,7 +27,7 @@ Index: linux-2.6.23.17/drivers/net/r8169.c RxFIFOOver | TxErr | TxOK | RxOK | RxErr, .napi_event = RxFIFOOver | TxErr | TxOK | RxOK | RxOverflow } -@@ -2779,10 +2779,12 @@ static irqreturn_t rtl8169_interrupt(int +@@ -2779,10 +2779,12 @@ break; } diff --git a/target/linux/generic-2.6/patches-2.6.23/209-mini_fo.patch b/target/linux/generic-2.6/patches-2.6.23/209-mini_fo.patch index 6a55ac8..01ba9b8 100644 --- a/target/linux/generic-2.6/patches-2.6.23/209-mini_fo.patch +++ b/target/linux/generic-2.6/patches-2.6.23/209-mini_fo.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/fs/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/fs/Kconfig -+++ linux-2.6.23.17/fs/Kconfig -@@ -458,6 +458,9 @@ config OCFS2_DEBUG_MASKLOG +--- a/fs/Kconfig ++++ b/fs/Kconfig +@@ -458,6 +458,9 @@ This option will enlarge your kernel, but it allows debugging of ocfs2 filesystem issues. @@ -12,11 +10,9 @@ Index: linux-2.6.23.17/fs/Kconfig config MINIX_FS tristate "Minix fs support" help -Index: linux-2.6.23.17/fs/Makefile -=================================================================== ---- linux-2.6.23.17.orig/fs/Makefile -+++ linux-2.6.23.17/fs/Makefile -@@ -76,6 +76,7 @@ obj-$(CONFIG_SQUASHFS) += squashfs/ +--- a/fs/Makefile ++++ b/fs/Makefile +@@ -76,6 +76,7 @@ obj-$(CONFIG_RAMFS) += ramfs/ obj-$(CONFIG_HUGETLBFS) += hugetlbfs/ obj-$(CONFIG_CODA_FS) += coda/ @@ -24,10 +20,8 @@ Index: linux-2.6.23.17/fs/Makefile obj-$(CONFIG_MINIX_FS) += minix/ obj-$(CONFIG_FAT_FS) += fat/ obj-$(CONFIG_MSDOS_FS) += msdos/ -Index: linux-2.6.23.17/fs/mini_fo/aux.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/fs/mini_fo/aux.c ++++ b/fs/mini_fo/aux.c @@ -0,0 +1,577 @@ +/* + * Copyright (c) 1997-2003 Erez Zadok @@ -606,10 +600,8 @@ Index: linux-2.6.23.17/fs/mini_fo/aux.c + +#endif /* unused */ + -Index: linux-2.6.23.17/fs/mini_fo/ChangeLog -=================================================================== --- /dev/null -+++ linux-2.6.23.17/fs/mini_fo/ChangeLog ++++ b/fs/mini_fo/ChangeLog @@ -0,0 +1,281 @@ +2006-01-24 Markus Klotzbuecher <mk@mary.denx.de> + @@ -892,10 +884,8 @@ Index: linux-2.6.23.17/fs/mini_fo/ChangeLog + * Implementation of mini_fo_mknod and mini_fo_rename, support + for device files. + -Index: linux-2.6.23.17/fs/mini_fo/dentry.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/fs/mini_fo/dentry.c ++++ b/fs/mini_fo/dentry.c @@ -0,0 +1,244 @@ +/* + * Copyright (c) 1997-2003 Erez Zadok @@ -1141,10 +1131,8 @@ Index: linux-2.6.23.17/fs/mini_fo/dentry.c + d_delete: mini_fo_d_delete, + d_iput: mini_fo_d_iput, +}; -Index: linux-2.6.23.17/fs/mini_fo/file.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/fs/mini_fo/file.c ++++ b/fs/mini_fo/file.c @@ -0,0 +1,713 @@ +/* + * Copyright (c) 1997-2003 Erez Zadok @@ -1859,10 +1847,8 @@ Index: linux-2.6.23.17/fs/mini_fo/file.c + /* not implemented: sendpage */ + /* not implemented: get_unmapped_area */ + }; -Index: linux-2.6.23.17/fs/mini_fo/fist.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/fs/mini_fo/fist.h ++++ b/fs/mini_fo/fist.h @@ -0,0 +1,252 @@ +/* + * Copyright (c) 1997-2003 Erez Zadok @@ -2116,10 +2102,8 @@ Index: linux-2.6.23.17/fs/mini_fo/fist.h +# define FIST_IOCTL_SET_DEBUG_VALUE _IOW(0x15, 2, int) + +#endif /* not __FIST_H_ */ -Index: linux-2.6.23.17/fs/mini_fo/inode.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/fs/mini_fo/inode.c ++++ b/fs/mini_fo/inode.c @@ -0,0 +1,1564 @@ +/* + * Copyright (c) 1997-2003 Erez Zadok @@ -3685,10 +3669,8 @@ Index: linux-2.6.23.17/fs/mini_fo/inode.c + removexattr: mini_fo_removexattr +# endif /* XATTR && LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,20) */ + }; -Index: linux-2.6.23.17/fs/mini_fo/main.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/fs/mini_fo/main.c ++++ b/fs/mini_fo/main.c @@ -0,0 +1,423 @@ +/* + * Copyright (c) 1997-2003 Erez Zadok @@ -4113,10 +4095,8 @@ Index: linux-2.6.23.17/fs/mini_fo/main.c + +module_init(init_mini_fo_fs) +module_exit(exit_mini_fo_fs) -Index: linux-2.6.23.17/fs/mini_fo/Makefile -=================================================================== --- /dev/null -+++ linux-2.6.23.17/fs/mini_fo/Makefile ++++ b/fs/mini_fo/Makefile @@ -0,0 +1,17 @@ +# +# Makefile for mini_fo 2.4 and 2.6 Linux kernels @@ -4135,10 +4115,8 @@ Index: linux-2.6.23.17/fs/mini_fo/Makefile +# dependencies +${mini_fo-objs}: mini_fo.h fist.h + -Index: linux-2.6.23.17/fs/mini_fo/meta.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/fs/mini_fo/meta.c ++++ b/fs/mini_fo/meta.c @@ -0,0 +1,1000 @@ +/* + * Copyright (C) 2004, 2005 Markus Klotzbuecher <mk@creamnet.de> @@ -5140,10 +5118,8 @@ Index: linux-2.6.23.17/fs/mini_fo/meta.c + return 0; +} + -Index: linux-2.6.23.17/fs/mini_fo/mini_fo.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/fs/mini_fo/mini_fo.h ++++ b/fs/mini_fo/mini_fo.h @@ -0,0 +1,510 @@ +/* + * Copyright (c) 1997-2003 Erez Zadok @@ -5655,10 +5631,8 @@ Index: linux-2.6.23.17/fs/mini_fo/mini_fo.h +/* ioctls */ + +#endif /* not __MINI_FO_H_ */ -Index: linux-2.6.23.17/fs/mini_fo/mini_fo-merge -=================================================================== --- /dev/null -+++ linux-2.6.23.17/fs/mini_fo/mini_fo-merge ++++ b/fs/mini_fo/mini_fo-merge @@ -0,0 +1,180 @@ +#!/bin/bash +# @@ -5840,10 +5814,8 @@ Index: linux-2.6.23.17/fs/mini_fo/mini_fo-merge +#rm $TMP/$SKIP_DEL_LIST + +echo "Done!" -Index: linux-2.6.23.17/fs/mini_fo/mini_fo-overlay -=================================================================== --- /dev/null -+++ linux-2.6.23.17/fs/mini_fo/mini_fo-overlay ++++ b/fs/mini_fo/mini_fo-overlay @@ -0,0 +1,130 @@ +#!/bin/bash +# @@ -5975,10 +5947,8 @@ Index: linux-2.6.23.17/fs/mini_fo/mini_fo-overlay +if [ $? -ne 0 ]; then + echo "Error, mounting failed, maybe no permisson to mount?" +fi -Index: linux-2.6.23.17/fs/mini_fo/mmap.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/fs/mini_fo/mmap.c ++++ b/fs/mini_fo/mmap.c @@ -0,0 +1,637 @@ +/* + * Copyright (c) 1997-2003 Erez Zadok @@ -6617,10 +6587,8 @@ Index: linux-2.6.23.17/fs/mini_fo/mmap.c + print_exit_status(err); + return err; +} -Index: linux-2.6.23.17/fs/mini_fo/README -=================================================================== --- /dev/null -+++ linux-2.6.23.17/fs/mini_fo/README ++++ b/fs/mini_fo/README @@ -0,0 +1,163 @@ +README for the mini_fo overlay file system +========================================= @@ -6785,10 +6753,8 @@ Index: linux-2.6.23.17/fs/mini_fo/README +2 of the License, or (at your option) any later version. + + -Index: linux-2.6.23.17/fs/mini_fo/RELEASE_NOTES -=================================================================== --- /dev/null -+++ linux-2.6.23.17/fs/mini_fo/RELEASE_NOTES ++++ b/fs/mini_fo/RELEASE_NOTES @@ -0,0 +1,111 @@ +Release: mini_fo-0.6.1 (v0-6-1) +Date: 21.09.2005 @@ -6901,10 +6867,8 @@ Index: linux-2.6.23.17/fs/mini_fo/RELEASE_NOTES +original state. I hope to fix this someday. Please note that this does +not effect the special hard links '.' and '..', that are handled +seperately by the lower fs. -Index: linux-2.6.23.17/fs/mini_fo/state.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/fs/mini_fo/state.c ++++ b/fs/mini_fo/state.c @@ -0,0 +1,620 @@ +/* + * Copyright (C) 2005 Markus Klotzbuecher <mk@creamnet.de> @@ -7526,10 +7490,8 @@ Index: linux-2.6.23.17/fs/mini_fo/state.c + return err; +} + -Index: linux-2.6.23.17/fs/mini_fo/super.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/fs/mini_fo/super.c ++++ b/fs/mini_fo/super.c @@ -0,0 +1,281 @@ +/* + * Copyright (c) 1997-2003 Erez Zadok diff --git a/target/linux/generic-2.6/patches-2.6.23/210-mac80211_include_wireless_dev.patch b/target/linux/generic-2.6/patches-2.6.23/210-mac80211_include_wireless_dev.patch index 6db9d7e..cca0c0b 100644 --- a/target/linux/generic-2.6/patches-2.6.23/210-mac80211_include_wireless_dev.patch +++ b/target/linux/generic-2.6/patches-2.6.23/210-mac80211_include_wireless_dev.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/include/linux/ieee80211.h -=================================================================== ---- linux-2.6.23.17.orig/include/linux/ieee80211.h -+++ linux-2.6.23.17/include/linux/ieee80211.h -@@ -106,6 +106,75 @@ struct ieee80211_hdr { +--- a/include/linux/ieee80211.h ++++ b/include/linux/ieee80211.h +@@ -106,6 +106,75 @@ } __attribute__ ((packed)); @@ -78,7 +76,7 @@ Index: linux-2.6.23.17/include/linux/ieee80211.h struct ieee80211_mgmt { __le16 frame_control; __le16 duration; -@@ -173,9 +242,51 @@ struct ieee80211_mgmt { +@@ -173,9 +242,51 @@ struct { u8 action_code; u8 dialog_token; @@ -130,7 +128,7 @@ Index: linux-2.6.23.17/include/linux/ieee80211.h struct{ u8 action_code; u8 element_id; -@@ -184,6 +295,25 @@ struct ieee80211_mgmt { +@@ -184,6 +295,25 @@ u8 new_chan; u8 switch_count; } __attribute__((packed)) chan_switch; @@ -156,7 +154,7 @@ Index: linux-2.6.23.17/include/linux/ieee80211.h } u; } __attribute__ ((packed)) action; } u; -@@ -270,6 +400,18 @@ enum ieee80211_statuscode { +@@ -270,6 +400,18 @@ WLAN_STATUS_UNSUPP_RSN_VERSION = 44, WLAN_STATUS_INVALID_RSN_IE_CAP = 45, WLAN_STATUS_CIPHER_SUITE_REJECTED = 46, @@ -175,7 +173,7 @@ Index: linux-2.6.23.17/include/linux/ieee80211.h }; -@@ -300,9 +442,50 @@ enum ieee80211_reasoncode { +@@ -300,9 +442,50 @@ WLAN_REASON_INVALID_RSN_IE_CAP = 22, WLAN_REASON_IEEE8021X_FAILED = 23, WLAN_REASON_CIPHER_SUITE_REJECTED = 24, @@ -226,7 +224,7 @@ Index: linux-2.6.23.17/include/linux/ieee80211.h /* Information Element IDs */ enum ieee80211_eid { WLAN_EID_SSID = 0, -@@ -318,6 +501,15 @@ enum ieee80211_eid { +@@ -318,6 +501,15 @@ WLAN_EID_HP_PARAMS = 8, WLAN_EID_HP_TABLE = 9, WLAN_EID_REQUEST = 10, @@ -242,7 +240,7 @@ Index: linux-2.6.23.17/include/linux/ieee80211.h /* 802.11h */ WLAN_EID_PWR_CONSTRAINT = 32, WLAN_EID_PWR_CAPABILITY = 33, -@@ -332,6 +524,9 @@ enum ieee80211_eid { +@@ -332,6 +524,9 @@ /* 802.11g */ WLAN_EID_ERP_INFO = 42, WLAN_EID_EXT_SUPP_RATES = 50, @@ -252,7 +250,7 @@ Index: linux-2.6.23.17/include/linux/ieee80211.h /* 802.11i */ WLAN_EID_RSN = 48, WLAN_EID_WPA = 221, -@@ -340,6 +535,9 @@ enum ieee80211_eid { +@@ -340,6 +535,9 @@ WLAN_EID_QOS_PARAMETER = 222 }; @@ -262,7 +260,7 @@ Index: linux-2.6.23.17/include/linux/ieee80211.h /* cipher suite selectors */ #define WLAN_CIPHER_SUITE_USE_GROUP 0x000FAC00 #define WLAN_CIPHER_SUITE_WEP40 0x000FAC01 -@@ -350,4 +548,37 @@ enum ieee80211_eid { +@@ -350,4 +548,37 @@ #define WLAN_MAX_KEY_LEN 32 @@ -300,10 +298,8 @@ Index: linux-2.6.23.17/include/linux/ieee80211.h +}; + #endif /* IEEE80211_H */ -Index: linux-2.6.23.17/include/linux/nl80211.h -=================================================================== ---- linux-2.6.23.17.orig/include/linux/nl80211.h -+++ linux-2.6.23.17/include/linux/nl80211.h +--- a/include/linux/nl80211.h ++++ b/include/linux/nl80211.h @@ -7,6 +7,217 @@ */ @@ -522,7 +518,7 @@ Index: linux-2.6.23.17/include/linux/nl80211.h * enum nl80211_iftype - (virtual) interface types * @NL80211_IFTYPE_UNSPECIFIED: unspecified type, driver decides * @NL80211_IFTYPE_ADHOC: independent BSS member -@@ -35,4 +246,56 @@ enum nl80211_iftype { +@@ -35,4 +246,56 @@ }; #define NL80211_IFTYPE_MAX (__NL80211_IFTYPE_AFTER_LAST - 1) @@ -579,10 +575,8 @@ Index: linux-2.6.23.17/include/linux/nl80211.h +#define NL80211_KEYTYPE_MAX (__NL80211_KEYTYPE_AFTER_LAST - 1) + #endif /* __LINUX_NL80211_H */ -Index: linux-2.6.23.17/include/net/cfg80211.h -=================================================================== ---- linux-2.6.23.17.orig/include/net/cfg80211.h -+++ linux-2.6.23.17/include/net/cfg80211.h +--- a/include/net/cfg80211.h ++++ b/include/net/cfg80211.h @@ -3,6 +3,7 @@ #include <linux/netlink.h> @@ -591,7 +585,7 @@ Index: linux-2.6.23.17/include/net/cfg80211.h #include <net/genetlink.h> /* -@@ -49,6 +50,69 @@ extern int ieee80211_radiotap_iterator_n +@@ -49,6 +50,69 @@ struct ieee80211_radiotap_iterator *iterator); @@ -661,7 +655,7 @@ Index: linux-2.6.23.17/include/net/cfg80211.h /* from net/wireless.h */ struct wiphy; -@@ -68,11 +132,62 @@ struct wiphy; +@@ -68,11 +132,62 @@ * @add_virtual_intf: create a new virtual interface with the given name * * @del_virtual_intf: remove the virtual interface determined by ifindex. @@ -725,11 +719,9 @@ Index: linux-2.6.23.17/include/net/cfg80211.h + u32 seq, int flags, u8 cmd); + #endif /* __NET_CFG80211_H */ -Index: linux-2.6.23.17/include/net/iw_handler.h -=================================================================== ---- linux-2.6.23.17.orig/include/net/iw_handler.h -+++ linux-2.6.23.17/include/net/iw_handler.h -@@ -431,7 +431,13 @@ struct iw_public_data { +--- a/include/net/iw_handler.h ++++ b/include/net/iw_handler.h +@@ -431,7 +431,13 @@ * Those may be called only within the kernel. */ @@ -744,11 +736,9 @@ Index: linux-2.6.23.17/include/net/iw_handler.h /* Send a single event to user space */ extern void wireless_send_event(struct net_device * dev, -Index: linux-2.6.23.17/include/net/mac80211.h -=================================================================== ---- linux-2.6.23.17.orig/include/net/mac80211.h -+++ linux-2.6.23.17/include/net/mac80211.h -@@ -300,7 +300,6 @@ struct ieee80211_conf { +--- a/include/net/mac80211.h ++++ b/include/net/mac80211.h +@@ -300,7 +300,6 @@ /* Following five fields are used for IEEE 802.11H */ unsigned int radar_detect; unsigned int spect_mgmt; @@ -756,7 +746,7 @@ Index: linux-2.6.23.17/include/net/mac80211.h unsigned int quiet_duration; /* duration of quiet period */ unsigned int quiet_offset; /* how far into the beacon is the quiet * period */ -@@ -521,6 +520,9 @@ struct ieee80211_hw { +@@ -521,6 +520,9 @@ * per-packet RC4 key with each TX frame when doing hwcrypto */ #define IEEE80211_HW_TKIP_REQ_PHASE2_KEY (1<<14) @@ -766,7 +756,7 @@ Index: linux-2.6.23.17/include/net/mac80211.h u32 flags; /* hardware flags defined above */ /* Set to the size of a needed device specific skb headroom for TX skbs. */ -@@ -649,8 +651,7 @@ struct ieee80211_ops { +@@ -649,8 +651,7 @@ * used if the wlan hardware or low-level driver implements PAE. * 80211.o module will anyway filter frames based on authorization * state, so this function pointer can be NULL if low-level driver does @@ -776,7 +766,7 @@ Index: linux-2.6.23.17/include/net/mac80211.h int (*set_port_auth)(struct ieee80211_hw *hw, u8 *addr, int authorized); -@@ -702,8 +703,9 @@ struct ieee80211_ops { +@@ -702,8 +703,9 @@ /* Get statistics of the current TX queue status. This is used to get * number of currently queued packets (queue length), maximum queue * size (limit), and total number of packets sent using each TX queue @@ -788,7 +778,7 @@ Index: linux-2.6.23.17/include/net/mac80211.h int (*get_tx_stats)(struct ieee80211_hw *hw, struct ieee80211_tx_queue_stats *stats); -@@ -713,12 +715,25 @@ struct ieee80211_ops { +@@ -713,12 +715,25 @@ * Must be atomic. */ u64 (*get_tsf)(struct ieee80211_hw *hw); diff --git a/target/linux/generic-2.6/patches-2.6.23/213-kobject_uevent.patch b/target/linux/generic-2.6/patches-2.6.23/213-kobject_uevent.patch index 1a750c1..bcb4465 100644 --- a/target/linux/generic-2.6/patches-2.6.23/213-kobject_uevent.patch +++ b/target/linux/generic-2.6/patches-2.6.23/213-kobject_uevent.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/lib/kobject_uevent.c -=================================================================== ---- linux-2.6.23.17.orig/lib/kobject_uevent.c -+++ linux-2.6.23.17/lib/kobject_uevent.c -@@ -40,9 +40,22 @@ u64 uevent_seqnum; +--- a/lib/kobject_uevent.c ++++ b/lib/kobject_uevent.c +@@ -40,9 +40,22 @@ char uevent_helper[UEVENT_HELPER_PATH_LEN] = "/sbin/hotplug"; static DEFINE_SPINLOCK(sequence_lock); #if defined(CONFIG_NET) @@ -26,7 +24,7 @@ Index: linux-2.6.23.17/lib/kobject_uevent.c /** * kobject_uevent_env - send an uevent with environmental data * -@@ -159,9 +172,7 @@ int kobject_uevent_env(struct kobject *k +@@ -159,9 +172,7 @@ } /* we will send an event, request a new sequence number */ diff --git a/target/linux/generic-2.6/patches-2.6.23/220-sound_kconfig.patch b/target/linux/generic-2.6/patches-2.6.23/220-sound_kconfig.patch index 9e196dd..c052f2a 100644 --- a/target/linux/generic-2.6/patches-2.6.23/220-sound_kconfig.patch +++ b/target/linux/generic-2.6/patches-2.6.23/220-sound_kconfig.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/sound/core/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/sound/core/Kconfig -+++ linux-2.6.23.17/sound/core/Kconfig -@@ -9,7 +9,7 @@ config SND_PCM +--- a/sound/core/Kconfig ++++ b/sound/core/Kconfig +@@ -9,7 +9,7 @@ depends on SND config SND_HWDEP diff --git a/target/linux/generic-2.6/patches-2.6.23/230-pps_support.patch b/target/linux/generic-2.6/patches-2.6.23/230-pps_support.patch index a580df0..8df4724 100644 --- a/target/linux/generic-2.6/patches-2.6.23/230-pps_support.patch +++ b/target/linux/generic-2.6/patches-2.6.23/230-pps_support.patch @@ -1,7 +1,5 @@ -Index: linux-2.6.23.17/Documentation/pps/Makefile -=================================================================== --- /dev/null -+++ linux-2.6.23.17/Documentation/pps/Makefile ++++ b/Documentation/pps/Makefile @@ -0,0 +1,27 @@ +TARGETS = ppstest ppsctl + @@ -30,10 +28,8 @@ Index: linux-2.6.23.17/Documentation/pps/Makefile +clean : + rm -f *.o *~ core .depend + rm -f ${TARGETS} -Index: linux-2.6.23.17/Documentation/pps/pps.txt -=================================================================== --- /dev/null -+++ linux-2.6.23.17/Documentation/pps/pps.txt ++++ b/Documentation/pps/pps.txt @@ -0,0 +1,170 @@ + + PPS - Pulse Per Second @@ -205,10 +201,8 @@ Index: linux-2.6.23.17/Documentation/pps/pps.txt + +Please, note that to compile userland programs you need the file timepps.h +(see Documentation/pps/). -Index: linux-2.6.23.17/Documentation/pps/ppsctl.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/Documentation/pps/ppsctl.c ++++ b/Documentation/pps/ppsctl.c @@ -0,0 +1,62 @@ +#include <stdio.h> +#include <unistd.h> @@ -272,10 +266,8 @@ Index: linux-2.6.23.17/Documentation/pps/ppsctl.c + + return 0; +} -Index: linux-2.6.23.17/Documentation/pps/ppsfind -=================================================================== --- /dev/null -+++ linux-2.6.23.17/Documentation/pps/ppsfind ++++ b/Documentation/pps/ppsfind @@ -0,0 +1,17 @@ +#!/bin/sh + @@ -294,10 +286,8 @@ Index: linux-2.6.23.17/Documentation/pps/ppsfind +done + +exit 0 -Index: linux-2.6.23.17/Documentation/pps/ppstest.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/Documentation/pps/ppstest.c ++++ b/Documentation/pps/ppstest.c @@ -0,0 +1,151 @@ +#include <stdio.h> +#include <stdlib.h> @@ -450,10 +440,8 @@ Index: linux-2.6.23.17/Documentation/pps/ppstest.c + + return 0; +} -Index: linux-2.6.23.17/Documentation/pps/timepps.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/Documentation/pps/timepps.h ++++ b/Documentation/pps/timepps.h @@ -0,0 +1,193 @@ +/* + * timepps.h -- PPS API main header @@ -648,11 +636,9 @@ Index: linux-2.6.23.17/Documentation/pps/timepps.h +} + +#endif /* _SYS_TIMEPPS_H_ */ -Index: linux-2.6.23.17/MAINTAINERS -=================================================================== ---- linux-2.6.23.17.orig/MAINTAINERS -+++ linux-2.6.23.17/MAINTAINERS -@@ -3011,6 +3011,13 @@ P: James Chapman +--- a/MAINTAINERS ++++ b/MAINTAINERS +@@ -3011,6 +3011,13 @@ M: jchapman@katalix.com S: Maintained @@ -666,11 +652,9 @@ Index: linux-2.6.23.17/MAINTAINERS PREEMPTIBLE KERNEL P: Robert Love M: rml@tech9.net -Index: linux-2.6.23.17/drivers/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/drivers/Kconfig -+++ linux-2.6.23.17/drivers/Kconfig -@@ -52,6 +52,8 @@ source "drivers/i2c/Kconfig" +--- a/drivers/Kconfig ++++ b/drivers/Kconfig +@@ -52,6 +52,8 @@ source "drivers/spi/Kconfig" @@ -679,11 +663,9 @@ Index: linux-2.6.23.17/drivers/Kconfig source "drivers/w1/Kconfig" source "drivers/power/Kconfig" -Index: linux-2.6.23.17/drivers/Makefile -=================================================================== ---- linux-2.6.23.17.orig/drivers/Makefile -+++ linux-2.6.23.17/drivers/Makefile -@@ -63,6 +63,7 @@ obj-$(CONFIG_INPUT) += input/ +--- a/drivers/Makefile ++++ b/drivers/Makefile +@@ -63,6 +63,7 @@ obj-$(CONFIG_I2O) += message/ obj-$(CONFIG_RTC_LIB) += rtc/ obj-y += i2c/ @@ -691,11 +673,9 @@ Index: linux-2.6.23.17/drivers/Makefile obj-$(CONFIG_W1) += w1/ obj-$(CONFIG_POWER_SUPPLY) += power/ obj-$(CONFIG_HWMON) += hwmon/ -Index: linux-2.6.23.17/drivers/char/lp.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/char/lp.c -+++ linux-2.6.23.17/drivers/char/lp.c -@@ -746,6 +746,27 @@ static struct console lpcons = { +--- a/drivers/char/lp.c ++++ b/drivers/char/lp.c +@@ -746,6 +746,27 @@ #endif /* console on line printer */ @@ -723,7 +703,7 @@ Index: linux-2.6.23.17/drivers/char/lp.c /* --- initialisation code ------------------------------------- */ static int parport_nr[LP_NO] = { [0 ... LP_NO-1] = LP_PARPORT_UNSPEC }; -@@ -817,6 +838,38 @@ static int lp_register(int nr, struct pa +@@ -817,6 +838,38 @@ } #endif @@ -762,7 +742,7 @@ Index: linux-2.6.23.17/drivers/char/lp.c return 0; } -@@ -860,6 +913,14 @@ static void lp_detach (struct parport *p +@@ -860,6 +913,14 @@ console_registered = NULL; } #endif /* CONFIG_LP_CONSOLE */ @@ -777,10 +757,8 @@ Index: linux-2.6.23.17/drivers/char/lp.c } static struct parport_driver lp_driver = { -Index: linux-2.6.23.17/drivers/pps/Kconfig -=================================================================== --- /dev/null -+++ linux-2.6.23.17/drivers/pps/Kconfig ++++ b/drivers/pps/Kconfig @@ -0,0 +1,34 @@ +# +# PPS support configuration @@ -816,10 +794,8 @@ Index: linux-2.6.23.17/drivers/pps/Kconfig +source drivers/pps/clients/Kconfig + +endmenu -Index: linux-2.6.23.17/drivers/pps/Makefile -=================================================================== --- /dev/null -+++ linux-2.6.23.17/drivers/pps/Makefile ++++ b/drivers/pps/Makefile @@ -0,0 +1,11 @@ +# +# Makefile for the PPS core. @@ -832,10 +808,8 @@ Index: linux-2.6.23.17/drivers/pps/Makefile +ifeq ($(CONFIG_PPS_DEBUG),y) +EXTRA_CFLAGS += -DDEBUG +endif -Index: linux-2.6.23.17/drivers/pps/clients/Kconfig -=================================================================== --- /dev/null -+++ linux-2.6.23.17/drivers/pps/clients/Kconfig ++++ b/drivers/pps/clients/Kconfig @@ -0,0 +1,38 @@ +# +# PPS clients configuration @@ -875,10 +849,8 @@ Index: linux-2.6.23.17/drivers/pps/clients/Kconfig + with the interrupt pin of your parallel port. + +endif -Index: linux-2.6.23.17/drivers/pps/clients/Makefile -=================================================================== --- /dev/null -+++ linux-2.6.23.17/drivers/pps/clients/Makefile ++++ b/drivers/pps/clients/Makefile @@ -0,0 +1,9 @@ +# +# Makefile for PPS clients. @@ -889,10 +861,8 @@ Index: linux-2.6.23.17/drivers/pps/clients/Makefile +ifeq ($(CONFIG_PPS_DEBUG),y) +EXTRA_CFLAGS += -DDEBUG +endif -Index: linux-2.6.23.17/drivers/pps/clients/ktimer.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/drivers/pps/clients/ktimer.c ++++ b/drivers/pps/clients/ktimer.c @@ -0,0 +1,114 @@ +/* + * ktimer.c -- kernel timer test client @@ -1008,10 +978,8 @@ Index: linux-2.6.23.17/drivers/pps/clients/ktimer.c +MODULE_AUTHOR("Rodolfo Giometti <giometti@linux.it>"); +MODULE_DESCRIPTION("dummy PPS source by using a kernel timer (just for debug)"); +MODULE_LICENSE("GPL"); -Index: linux-2.6.23.17/drivers/pps/kapi.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/drivers/pps/kapi.c ++++ b/drivers/pps/kapi.c @@ -0,0 +1,271 @@ +/* + * kapi.c -- kernel API @@ -1284,10 +1252,8 @@ Index: linux-2.6.23.17/drivers/pps/kapi.c + spin_unlock_irqrestore(&idr_lock, flags); +} +EXPORT_SYMBOL(pps_event); -Index: linux-2.6.23.17/drivers/pps/pps.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/drivers/pps/pps.c ++++ b/drivers/pps/pps.c @@ -0,0 +1,332 @@ +/* + * pps.c -- Main PPS support file @@ -1621,10 +1587,8 @@ Index: linux-2.6.23.17/drivers/pps/pps.c +MODULE_AUTHOR("Rodolfo Giometti <giometti@linux.it>"); +MODULE_DESCRIPTION("LinuxPPS support (RFC 2783) - ver. " PPS_VERSION); +MODULE_LICENSE("GPL"); -Index: linux-2.6.23.17/drivers/pps/sysfs.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/drivers/pps/sysfs.c ++++ b/drivers/pps/sysfs.c @@ -0,0 +1,124 @@ +/* + * sysfs.c -- sysfs support @@ -1750,11 +1714,9 @@ Index: linux-2.6.23.17/drivers/pps/sysfs.c + + return 0; +} -Index: linux-2.6.23.17/drivers/serial/8250.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/serial/8250.c -+++ linux-2.6.23.17/drivers/serial/8250.c -@@ -2118,6 +2118,8 @@ serial8250_set_termios(struct uart_port +--- a/drivers/serial/8250.c ++++ b/drivers/serial/8250.c +@@ -2118,6 +2118,8 @@ up->ier |= UART_IER_MSI; if (up->capabilities & UART_CAP_UUE) up->ier |= UART_IER_UUE | UART_IER_RTOIE; @@ -1763,10 +1725,8 @@ Index: linux-2.6.23.17/drivers/serial/8250.c serial_out(up, UART_IER, up->ier); -Index: linux-2.6.23.17/drivers/serial/serial_core.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/serial/serial_core.c -+++ linux-2.6.23.17/drivers/serial/serial_core.c +--- a/drivers/serial/serial_core.c ++++ b/drivers/serial/serial_core.c @@ -33,6 +33,7 @@ #include <linux/serial.h> /* for serial_state and serial_icounter_struct */ #include <linux/delay.h> @@ -1775,7 +1735,7 @@ Index: linux-2.6.23.17/drivers/serial/serial_core.c #include <asm/irq.h> #include <asm/uaccess.h> -@@ -633,6 +634,54 @@ static int uart_get_info(struct uart_sta +@@ -633,6 +634,54 @@ return 0; } @@ -1830,7 +1790,7 @@ Index: linux-2.6.23.17/drivers/serial/serial_core.c static int uart_set_info(struct uart_state *state, struct serial_struct __user *newinfo) { -@@ -807,11 +856,19 @@ static int uart_set_info(struct uart_sta +@@ -807,11 +856,19 @@ (port->flags & UPF_LOW_LATENCY) ? 1 : 0; check_and_exit: @@ -1851,7 +1811,7 @@ Index: linux-2.6.23.17/drivers/serial/serial_core.c old_custom_divisor != port->custom_divisor) { /* * If they're setting up a custom divisor or speed, -@@ -2110,6 +2167,12 @@ uart_configure_port(struct uart_driver * +@@ -2110,6 +2167,12 @@ port->ops->config_port(port, flags); } @@ -1864,7 +1824,7 @@ Index: linux-2.6.23.17/drivers/serial/serial_core.c if (port->type != PORT_UNKNOWN) { unsigned long flags; -@@ -2359,6 +2422,12 @@ int uart_remove_one_port(struct uart_dri +@@ -2359,6 +2422,12 @@ mutex_unlock(&state->mutex); /* @@ -1877,11 +1837,9 @@ Index: linux-2.6.23.17/drivers/serial/serial_core.c * Remove the devices from the tty layer */ tty_unregister_device(drv->tty_driver, port->line); -Index: linux-2.6.23.17/include/linux/Kbuild -=================================================================== ---- linux-2.6.23.17.orig/include/linux/Kbuild -+++ linux-2.6.23.17/include/linux/Kbuild -@@ -295,6 +295,7 @@ unifdef-y += pmu.h +--- a/include/linux/Kbuild ++++ b/include/linux/Kbuild +@@ -295,6 +295,7 @@ unifdef-y += poll.h unifdef-y += ppp_defs.h unifdef-y += ppp-comp.h @@ -1889,11 +1847,9 @@ Index: linux-2.6.23.17/include/linux/Kbuild unifdef-y += ptrace.h unifdef-y += qnx4_fs.h unifdef-y += quota.h -Index: linux-2.6.23.17/include/linux/parport.h -=================================================================== ---- linux-2.6.23.17.orig/include/linux/parport.h -+++ linux-2.6.23.17/include/linux/parport.h -@@ -100,6 +100,7 @@ typedef enum { +--- a/include/linux/parport.h ++++ b/include/linux/parport.h +@@ -100,6 +100,7 @@ #include <linux/proc_fs.h> #include <linux/spinlock.h> #include <linux/wait.h> @@ -1901,7 +1857,7 @@ Index: linux-2.6.23.17/include/linux/parport.h #include <asm/system.h> #include <asm/ptrace.h> #include <asm/semaphore.h> -@@ -327,6 +328,11 @@ struct parport { +@@ -327,6 +328,11 @@ struct list_head full_list; struct parport *slaves[3]; @@ -1913,7 +1869,7 @@ Index: linux-2.6.23.17/include/linux/parport.h }; #define DEFAULT_SPIN_TIME 500 /* us */ -@@ -517,6 +523,12 @@ extern int parport_daisy_select (struct +@@ -517,6 +523,12 @@ /* Lowlevel drivers _can_ call this support function to handle irqs. */ static __inline__ void parport_generic_irq(int irq, struct parport *port) { @@ -1926,10 +1882,8 @@ Index: linux-2.6.23.17/include/linux/parport.h parport_ieee1284_interrupt (irq, port); read_lock(&port->cad_lock); if (port->cad && port->cad->irq_func) -Index: linux-2.6.23.17/include/linux/pps.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/pps.h ++++ b/include/linux/pps.h @@ -0,0 +1,196 @@ +/* + * pps.h -- PPS API kernel header. @@ -2127,10 +2081,8 @@ Index: linux-2.6.23.17/include/linux/pps.h +#endif /* __KERNEL__ */ + +#endif /* _PPS_H_ */ -Index: linux-2.6.23.17/include/linux/serial_core.h -=================================================================== ---- linux-2.6.23.17.orig/include/linux/serial_core.h -+++ linux-2.6.23.17/include/linux/serial_core.h +--- a/include/linux/serial_core.h ++++ b/include/linux/serial_core.h @@ -157,6 +157,7 @@ #include <linux/tty.h> #include <linux/mutex.h> @@ -2139,7 +2091,7 @@ Index: linux-2.6.23.17/include/linux/serial_core.h struct uart_port; struct uart_info; -@@ -236,6 +237,9 @@ struct uart_port { +@@ -236,6 +237,9 @@ unsigned char regshift; /* reg offset shift */ unsigned char iotype; /* io access style */ unsigned char unused1; @@ -2149,7 +2101,7 @@ Index: linux-2.6.23.17/include/linux/serial_core.h #define UPIO_PORT (0) #define UPIO_HUB6 (1) -@@ -280,7 +284,8 @@ struct uart_port { +@@ -280,7 +284,8 @@ #define UPF_IOREMAP ((__force upf_t) (1 << 31)) #define UPF_CHANGE_MASK ((__force upf_t) (0x17fff)) @@ -2159,7 +2111,7 @@ Index: linux-2.6.23.17/include/linux/serial_core.h unsigned int mctrl; /* current modem ctrl settings */ unsigned int timeout; /* character-based timeout */ -@@ -312,6 +317,10 @@ struct uart_state { +@@ -312,6 +317,10 @@ struct uart_info *info; struct uart_port *port; @@ -2170,7 +2122,7 @@ Index: linux-2.6.23.17/include/linux/serial_core.h struct mutex mutex; }; -@@ -476,13 +485,22 @@ uart_handle_dcd_change(struct uart_port +@@ -476,13 +485,22 @@ { struct uart_info *info = port->info; diff --git a/target/linux/generic-2.6/patches-2.6.23/300-add-mmc-spi-driver.patch b/target/linux/generic-2.6/patches-2.6.23/300-add-mmc-spi-driver.patch index 3342104..528d608 100644 --- a/target/linux/generic-2.6/patches-2.6.23/300-add-mmc-spi-driver.patch +++ b/target/linux/generic-2.6/patches-2.6.23/300-add-mmc-spi-driver.patch @@ -2,11 +2,9 @@ This is a port of the MMC-SPI driver from 2.6.24.3 --mb -Index: linux-2.6.23.17/drivers/mmc/host/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/drivers/mmc/host/Kconfig -+++ linux-2.6.23.17/drivers/mmc/host/Kconfig -@@ -100,3 +100,16 @@ config MMC_TIFM_SD +--- a/drivers/mmc/host/Kconfig ++++ b/drivers/mmc/host/Kconfig +@@ -100,3 +100,16 @@ To compile this driver as a module, choose M here: the module will be called tifm_sd. @@ -23,20 +21,16 @@ Index: linux-2.6.23.17/drivers/mmc/host/Kconfig + + If unsure, or if your system has no SPI master driver, say N. + -Index: linux-2.6.23.17/drivers/mmc/host/Makefile -=================================================================== ---- linux-2.6.23.17.orig/drivers/mmc/host/Makefile -+++ linux-2.6.23.17/drivers/mmc/host/Makefile -@@ -15,4 +15,5 @@ obj-$(CONFIG_MMC_AU1X) += au1xmmc.o +--- a/drivers/mmc/host/Makefile ++++ b/drivers/mmc/host/Makefile +@@ -15,4 +15,5 @@ obj-$(CONFIG_MMC_OMAP) += omap.o obj-$(CONFIG_MMC_AT91) += at91_mci.o obj-$(CONFIG_MMC_TIFM_SD) += tifm_sd.o +obj-$(CONFIG_MMC_SPI) += mmc_spi.o -Index: linux-2.6.23.17/drivers/mmc/host/mmc_spi.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/drivers/mmc/host/mmc_spi.c ++++ b/drivers/mmc/host/mmc_spi.c @@ -0,0 +1,1419 @@ +/* + * mmc_spi.c - Access SD/MMC cards through SPI master controllers @@ -1457,10 +1451,8 @@ Index: linux-2.6.23.17/drivers/mmc/host/mmc_spi.c + "Hans-Peter Nilsson, Jan Nikitenko"); +MODULE_DESCRIPTION("SPI SD/MMC host driver"); +MODULE_LICENSE("GPL"); -Index: linux-2.6.23.17/include/linux/spi/mmc_spi.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/spi/mmc_spi.h ++++ b/include/linux/spi/mmc_spi.h @@ -0,0 +1,33 @@ +#ifndef __LINUX_SPI_MMC_SPI_H +#define __LINUX_SPI_MMC_SPI_H @@ -1495,10 +1487,8 @@ Index: linux-2.6.23.17/include/linux/spi/mmc_spi.h +}; + +#endif /* __LINUX_SPI_MMC_SPI_H */ -Index: linux-2.6.23.17/drivers/mmc/core/bus.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/mmc/core/bus.c -+++ linux-2.6.23.17/drivers/mmc/core/bus.c +--- a/drivers/mmc/core/bus.c ++++ b/drivers/mmc/core/bus.c @@ -19,6 +19,7 @@ #include "sysfs.h" @@ -1507,7 +1497,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/bus.c #include "bus.h" #define dev_to_mmc_card(d) container_of(d, struct mmc_card, dev) -@@ -34,6 +35,8 @@ static ssize_t mmc_type_show(struct devi +@@ -34,6 +35,8 @@ return sprintf(buf, "MMC\n"); case MMC_TYPE_SD: return sprintf(buf, "SD\n"); @@ -1516,7 +1506,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/bus.c default: return -EFAULT; } -@@ -55,36 +58,37 @@ static int mmc_bus_match(struct device * +@@ -55,36 +58,37 @@ } static int @@ -1572,7 +1562,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/bus.c } static int mmc_bus_probe(struct device *dev) -@@ -176,6 +180,11 @@ static void mmc_release_card(struct devi +@@ -176,6 +180,11 @@ { struct mmc_card *card = dev_to_mmc_card(dev); @@ -1584,7 +1574,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/bus.c kfree(card); } -@@ -221,15 +230,25 @@ int mmc_add_card(struct mmc_card *card) +@@ -221,15 +230,25 @@ if (mmc_card_blockaddr(card)) type = "SDHC"; break; @@ -1614,7 +1604,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/bus.c card->dev.uevent_suppress = 1; -@@ -261,8 +280,13 @@ int mmc_add_card(struct mmc_card *card) +@@ -261,8 +280,13 @@ void mmc_remove_card(struct mmc_card *card) { if (mmc_card_present(card)) { @@ -1630,10 +1620,8 @@ Index: linux-2.6.23.17/drivers/mmc/core/bus.c if (card->host->bus_ops->sysfs_remove) card->host->bus_ops->sysfs_remove(card->host, card); -Index: linux-2.6.23.17/drivers/mmc/core/core.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/mmc/core/core.c -+++ linux-2.6.23.17/drivers/mmc/core/core.c +--- a/drivers/mmc/core/core.c ++++ b/drivers/mmc/core/core.c @@ -18,7 +18,7 @@ #include <linux/delay.h> #include <linux/pagemap.h> @@ -1671,7 +1659,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/core.c * Internal function. Schedule delayed work in the MMC work queue. */ static int mmc_schedule_delayed_work(struct delayed_work *work, -@@ -68,6 +79,11 @@ void mmc_request_done(struct mmc_host *h +@@ -68,6 +79,11 @@ struct mmc_command *cmd = mrq->cmd; int err = cmd->error; @@ -1683,7 +1671,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/core.c if (err && cmd->retries) { pr_debug("%s: req failed (CMD%u): %d, retrying...\n", mmc_hostname(host), cmd->opcode, err); -@@ -76,6 +92,8 @@ void mmc_request_done(struct mmc_host *h +@@ -76,6 +92,8 @@ cmd->error = 0; host->ops->request(host, mrq); } else { @@ -1692,7 +1680,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/core.c pr_debug("%s: req done (CMD%u): %d: %08x %08x %08x %08x\n", mmc_hostname(host), cmd->opcode, err, cmd->resp[0], cmd->resp[1], -@@ -118,7 +136,7 @@ mmc_start_request(struct mmc_host *host, +@@ -118,7 +136,7 @@ "tsac %d ms nsac %d\n", mmc_hostname(host), mrq->data->blksz, mrq->data->blocks, mrq->data->flags, @@ -1701,7 +1689,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/core.c mrq->data->timeout_clks); } -@@ -130,6 +148,8 @@ mmc_start_request(struct mmc_host *host, +@@ -130,6 +148,8 @@ WARN_ON(!host->claimed); @@ -1710,7 +1698,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/core.c mrq->cmd->error = 0; mrq->cmd->mrq = mrq; if (mrq->data) { -@@ -199,7 +219,7 @@ int mmc_wait_for_cmd(struct mmc_host *ho +@@ -199,7 +219,7 @@ { struct mmc_request mrq; @@ -1719,7 +1707,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/core.c memset(&mrq, 0, sizeof(struct mmc_request)); -@@ -220,17 +240,24 @@ EXPORT_SYMBOL(mmc_wait_for_cmd); +@@ -220,17 +240,24 @@ * mmc_set_data_timeout - set the timeout for a data command * @data: data phase for command * @card: the MMC card associated with the data transfer @@ -1747,7 +1735,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/core.c * SD cards use a 100 multiplier rather than 10 */ mult = mmc_card_sd(card) ? 100 : 10; -@@ -239,7 +266,7 @@ void mmc_set_data_timeout(struct mmc_dat +@@ -239,7 +266,7 @@ * Scale up the multiplier (and therefore the timeout) by * the r2w factor for writes. */ @@ -1756,7 +1744,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/core.c mult <<= card->csd.r2w_factor; data->timeout_ns = card->csd.tacc_ns * mult; -@@ -255,7 +282,7 @@ void mmc_set_data_timeout(struct mmc_dat +@@ -255,7 +282,7 @@ timeout_us += data->timeout_clks * 1000 / (card->host->ios.clock / 1000); @@ -1765,7 +1753,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/core.c limit_us = 250000; else limit_us = 100000; -@@ -272,15 +299,20 @@ void mmc_set_data_timeout(struct mmc_dat +@@ -272,15 +299,20 @@ EXPORT_SYMBOL(mmc_set_data_timeout); /** @@ -1789,7 +1777,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/core.c might_sleep(); -@@ -288,19 +320,24 @@ void mmc_claim_host(struct mmc_host *hos +@@ -288,19 +320,24 @@ spin_lock_irqsave(&host->lock, flags); while (1) { set_current_state(TASK_UNINTERRUPTIBLE); @@ -1817,7 +1805,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/core.c /** * mmc_release_host - release a host -@@ -313,7 +350,7 @@ void mmc_release_host(struct mmc_host *h +@@ -313,7 +350,7 @@ { unsigned long flags; @@ -1826,7 +1814,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/core.c spin_lock_irqsave(&host->lock, flags); host->claimed = 0; -@@ -433,19 +470,32 @@ static void mmc_power_up(struct mmc_host +@@ -433,19 +470,32 @@ int bit = fls(host->ocr_avail) - 1; host->ios.vdd = bit; @@ -1862,7 +1850,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/core.c mmc_delay(2); } -@@ -453,8 +503,10 @@ static void mmc_power_off(struct mmc_hos +@@ -453,8 +503,10 @@ { host->ios.clock = 0; host->ios.vdd = 0; @@ -1875,7 +1863,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/core.c host->ios.power_mode = MMC_POWER_OFF; host->ios.bus_width = MMC_BUS_WIDTH_1; host->ios.timing = MMC_TIMING_LEGACY; -@@ -511,7 +563,7 @@ void mmc_attach_bus(struct mmc_host *hos +@@ -511,7 +563,7 @@ BUG_ON(!host); BUG_ON(!ops); @@ -1884,7 +1872,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/core.c spin_lock_irqsave(&host->lock, flags); -@@ -535,8 +587,8 @@ void mmc_detach_bus(struct mmc_host *hos +@@ -535,8 +587,8 @@ BUG_ON(!host); @@ -1895,7 +1883,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/core.c spin_lock_irqsave(&host->lock, flags); -@@ -564,7 +616,7 @@ void mmc_detect_change(struct mmc_host * +@@ -564,7 +616,7 @@ #ifdef CONFIG_MMC_DEBUG unsigned long flags; spin_lock_irqsave(&host->lock, flags); @@ -1904,7 +1892,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/core.c spin_unlock_irqrestore(&host->lock, flags); #endif -@@ -597,24 +649,38 @@ void mmc_rescan(struct work_struct *work +@@ -597,24 +649,38 @@ mmc_send_if_cond(host, host->ocr_avail); @@ -1956,7 +1944,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/core.c } else { if (host->bus_ops->detect && !host->bus_dead) host->bus_ops->detect(host); -@@ -725,22 +791,38 @@ static int __init mmc_init(void) +@@ -725,22 +791,38 @@ return -ENOMEM; ret = mmc_register_bus(); @@ -2001,11 +1989,9 @@ Index: linux-2.6.23.17/drivers/mmc/core/core.c module_exit(mmc_exit); MODULE_LICENSE("GPL"); -Index: linux-2.6.23.17/drivers/mmc/core/core.h -=================================================================== ---- linux-2.6.23.17.orig/drivers/mmc/core/core.h -+++ linux-2.6.23.17/drivers/mmc/core/core.h -@@ -48,5 +48,7 @@ void mmc_rescan(struct work_struct *work +--- a/drivers/mmc/core/core.h ++++ b/drivers/mmc/core/core.h +@@ -48,5 +48,7 @@ void mmc_start_host(struct mmc_host *host); void mmc_stop_host(struct mmc_host *host); @@ -2013,10 +1999,8 @@ Index: linux-2.6.23.17/drivers/mmc/core/core.h + #endif -Index: linux-2.6.23.17/drivers/mmc/core/host.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/mmc/core/host.c -+++ linux-2.6.23.17/drivers/mmc/core/host.c +--- a/drivers/mmc/core/host.c ++++ b/drivers/mmc/core/host.c @@ -15,6 +15,7 @@ #include <linux/err.h> #include <linux/idr.h> @@ -2025,7 +2009,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/host.c #include <linux/mmc/host.h> -@@ -100,6 +101,9 @@ int mmc_add_host(struct mmc_host *host) +@@ -100,6 +101,9 @@ { int err; @@ -2035,7 +2019,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/host.c if (!idr_pre_get(&mmc_host_idr, GFP_KERNEL)) return -ENOMEM; -@@ -112,6 +116,8 @@ int mmc_add_host(struct mmc_host *host) +@@ -112,6 +116,8 @@ snprintf(host->class_dev.bus_id, BUS_ID_SIZE, "mmc%d", host->index); @@ -2044,7 +2028,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/host.c err = device_add(&host->class_dev); if (err) return err; -@@ -137,6 +143,8 @@ void mmc_remove_host(struct mmc_host *ho +@@ -137,6 +143,8 @@ device_del(&host->class_dev); @@ -2053,11 +2037,9 @@ Index: linux-2.6.23.17/drivers/mmc/core/host.c spin_lock(&mmc_host_lock); idr_remove(&mmc_host_idr, host->index); spin_unlock(&mmc_host_lock); -Index: linux-2.6.23.17/drivers/mmc/core/mmc.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/mmc/core/mmc.c -+++ linux-2.6.23.17/drivers/mmc/core/mmc.c -@@ -161,13 +161,12 @@ static int mmc_read_ext_csd(struct mmc_c +--- a/drivers/mmc/core/mmc.c ++++ b/drivers/mmc/core/mmc.c +@@ -161,13 +161,12 @@ { int err; u8 *ext_csd; @@ -2073,7 +2055,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/mmc.c /* * As the ext_csd is so large and mostly unused, we don't store the -@@ -176,13 +175,19 @@ static int mmc_read_ext_csd(struct mmc_c +@@ -176,13 +175,19 @@ ext_csd = kmalloc(512, GFP_KERNEL); if (!ext_csd) { printk(KERN_ERR "%s: could not allocate a buffer to " @@ -2097,7 +2079,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/mmc.c /* * High capacity cards should have this "magic" size * stored in their CSD. -@@ -197,18 +202,30 @@ static int mmc_read_ext_csd(struct mmc_c +@@ -197,18 +202,30 @@ "EXT_CSD, performance might " "suffer.\n", mmc_hostname(card->host)); @@ -2136,7 +2118,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/mmc.c switch (ext_csd[EXT_CSD_CARD_TYPE]) { case EXT_CSD_CARD_TYPE_52 | EXT_CSD_CARD_TYPE_26: -@@ -246,7 +263,7 @@ static int mmc_init_card(struct mmc_host +@@ -246,7 +263,7 @@ unsigned int max_dtr; BUG_ON(!host); @@ -2145,7 +2127,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/mmc.c /* * Since we're changing the OCR value, we seem to -@@ -258,19 +275,33 @@ static int mmc_init_card(struct mmc_host +@@ -258,19 +275,33 @@ /* The extra bit indicates that we support high capacity */ err = mmc_send_op_cond(host, ocr | (1 << 30), NULL); @@ -2183,7 +2165,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/mmc.c card = oldcard; } else { -@@ -278,8 +309,10 @@ static int mmc_init_card(struct mmc_host +@@ -278,8 +309,10 @@ * Allocate card structure. */ card = mmc_alloc_card(host); @@ -2195,7 +2177,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/mmc.c card->type = MMC_TYPE_MMC; card->rca = 1; -@@ -287,43 +320,47 @@ static int mmc_init_card(struct mmc_host +@@ -287,43 +320,47 @@ } /* @@ -2256,7 +2238,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/mmc.c goto free_card; } -@@ -334,7 +371,7 @@ static int mmc_init_card(struct mmc_host +@@ -334,7 +371,7 @@ (host->caps & MMC_CAP_MMC_HIGHSPEED)) { err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_HS_TIMING, 1); @@ -2265,7 +2247,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/mmc.c goto free_card; mmc_card_set_highspeed(card); -@@ -363,7 +400,7 @@ static int mmc_init_card(struct mmc_host +@@ -363,7 +400,7 @@ (host->caps & MMC_CAP_4_BIT_DATA)) { err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_BUS_WIDTH, EXT_CSD_BUS_WIDTH_4); @@ -2274,7 +2256,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/mmc.c goto free_card; mmc_set_bus_width(card->host, MMC_BUS_WIDTH_4); -@@ -372,14 +409,14 @@ static int mmc_init_card(struct mmc_host +@@ -372,14 +409,14 @@ if (!oldcard) host->card = card; @@ -2291,7 +2273,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/mmc.c } /* -@@ -413,7 +450,7 @@ static void mmc_detect(struct mmc_host * +@@ -413,7 +450,7 @@ mmc_release_host(host); @@ -2300,7 +2282,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/mmc.c mmc_remove(host); mmc_claim_host(host); -@@ -480,7 +517,8 @@ static void mmc_suspend(struct mmc_host +@@ -480,7 +517,8 @@ BUG_ON(!host->card); mmc_claim_host(host); @@ -2310,7 +2292,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/mmc.c host->card->state &= ~MMC_STATE_HIGHSPEED; mmc_release_host(host); } -@@ -502,7 +540,7 @@ static void mmc_resume(struct mmc_host * +@@ -502,7 +540,7 @@ err = mmc_init_card(host, host->ocr, host->card); mmc_release_host(host); @@ -2319,7 +2301,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/mmc.c mmc_remove(host); mmc_claim_host(host); -@@ -536,11 +574,20 @@ int mmc_attach_mmc(struct mmc_host *host +@@ -536,11 +574,20 @@ int err; BUG_ON(!host); @@ -2341,7 +2323,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/mmc.c * Sanity check the voltages that the card claims to * support. */ -@@ -565,7 +612,7 @@ int mmc_attach_mmc(struct mmc_host *host +@@ -565,7 +612,7 @@ * Detect and init the card. */ err = mmc_init_card(host, host->ocr, NULL); @@ -2350,7 +2332,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/mmc.c goto err; mmc_release_host(host); -@@ -587,6 +634,6 @@ err: +@@ -587,6 +634,6 @@ printk(KERN_ERR "%s: error %d whilst initialising MMC card\n", mmc_hostname(host), err); @@ -2358,10 +2340,8 @@ Index: linux-2.6.23.17/drivers/mmc/core/mmc.c + return err; } -Index: linux-2.6.23.17/drivers/mmc/core/mmc_ops.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/mmc/core/mmc_ops.c -+++ linux-2.6.23.17/drivers/mmc/core/mmc_ops.c +--- a/drivers/mmc/core/mmc_ops.c ++++ b/drivers/mmc/core/mmc_ops.c @@ -10,7 +10,6 @@ */ @@ -2370,7 +2350,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/mmc_ops.c #include <linux/scatterlist.h> #include <linux/mmc/host.h> -@@ -40,10 +39,10 @@ static int _mmc_select_card(struct mmc_h +@@ -40,10 +39,10 @@ } err = mmc_wait_for_cmd(host, &cmd, MMC_CMD_RETRIES); @@ -2383,7 +2363,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/mmc_ops.c } int mmc_select_card(struct mmc_card *card) -@@ -63,23 +62,36 @@ int mmc_go_idle(struct mmc_host *host) +@@ -63,23 +62,36 @@ int err; struct mmc_command cmd; @@ -2426,7 +2406,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/mmc_ops.c return err; } -@@ -94,23 +106,33 @@ int mmc_send_op_cond(struct mmc_host *ho +@@ -94,23 +106,33 @@ memset(&cmd, 0, sizeof(struct mmc_command)); cmd.opcode = MMC_SEND_OP_COND; @@ -2466,7 +2446,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/mmc_ops.c *rocr = cmd.resp[0]; return err; -@@ -131,12 +153,12 @@ int mmc_all_send_cid(struct mmc_host *ho +@@ -131,12 +153,12 @@ cmd.flags = MMC_RSP_R2 | MMC_CMD_BCR; err = mmc_wait_for_cmd(host, &cmd, MMC_CMD_RETRIES); @@ -2481,7 +2461,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/mmc_ops.c } int mmc_set_relative_addr(struct mmc_card *card) -@@ -154,46 +176,52 @@ int mmc_set_relative_addr(struct mmc_car +@@ -154,46 +176,52 @@ cmd.flags = MMC_RSP_R1 | MMC_CMD_AC; err = mmc_wait_for_cmd(card->host, &cmd, MMC_CMD_RETRIES); @@ -2550,7 +2530,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/mmc_ops.c memset(&mrq, 0, sizeof(struct mmc_request)); memset(&cmd, 0, sizeof(struct mmc_command)); -@@ -202,28 +230,117 @@ int mmc_send_ext_csd(struct mmc_card *ca +@@ -202,28 +230,117 @@ mrq.cmd = &cmd; mrq.data = &data; @@ -2677,7 +2657,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/mmc_ops.c } int mmc_switch(struct mmc_card *card, u8 set, u8 index, u8 value) -@@ -241,13 +358,13 @@ int mmc_switch(struct mmc_card *card, u8 +@@ -241,13 +358,13 @@ (index << 16) | (value << 8) | set; @@ -2694,7 +2674,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/mmc_ops.c } int mmc_send_status(struct mmc_card *card, u32 *status) -@@ -261,16 +378,20 @@ int mmc_send_status(struct mmc_card *car +@@ -261,16 +378,20 @@ memset(&cmd, 0, sizeof(struct mmc_command)); cmd.opcode = MMC_SEND_STATUS; @@ -2719,11 +2699,9 @@ Index: linux-2.6.23.17/drivers/mmc/core/mmc_ops.c + return 0; } -Index: linux-2.6.23.17/drivers/mmc/core/mmc_ops.h -=================================================================== ---- linux-2.6.23.17.orig/drivers/mmc/core/mmc_ops.h -+++ linux-2.6.23.17/drivers/mmc/core/mmc_ops.h -@@ -22,6 +22,9 @@ int mmc_send_csd(struct mmc_card *card, +--- a/drivers/mmc/core/mmc_ops.h ++++ b/drivers/mmc/core/mmc_ops.h +@@ -22,6 +22,9 @@ int mmc_send_ext_csd(struct mmc_card *card, u8 *ext_csd); int mmc_switch(struct mmc_card *card, u8 set, u8 index, u8 value); int mmc_send_status(struct mmc_card *card, u32 *status); @@ -2733,11 +2711,9 @@ Index: linux-2.6.23.17/drivers/mmc/core/mmc_ops.h #endif -Index: linux-2.6.23.17/drivers/mmc/core/sd.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/mmc/core/sd.c -+++ linux-2.6.23.17/drivers/mmc/core/sd.c -@@ -166,8 +166,6 @@ static int mmc_decode_scr(struct mmc_car +--- a/drivers/mmc/core/sd.c ++++ b/drivers/mmc/core/sd.c +@@ -166,8 +166,6 @@ unsigned int scr_struct; u32 resp[4]; @@ -2746,7 +2722,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd.c resp[3] = card->raw_scr[1]; resp[2] = card->raw_scr[0]; -@@ -193,30 +191,38 @@ static int mmc_read_switch(struct mmc_ca +@@ -193,30 +191,38 @@ u8 *status; if (card->scr.sda_vsn < SCR_SPEC_VER_1) @@ -2791,7 +2767,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd.c goto out; } -@@ -238,28 +244,28 @@ static int mmc_switch_hs(struct mmc_card +@@ -238,28 +244,28 @@ u8 *status; if (card->scr.sda_vsn < SCR_SPEC_VER_1) @@ -2827,7 +2803,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd.c goto out; if ((status[16] & 0xF) != 1) { -@@ -292,7 +298,7 @@ static int mmc_sd_init_card(struct mmc_h +@@ -292,7 +298,7 @@ unsigned int max_dtr; BUG_ON(!host); @@ -2836,7 +2812,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd.c /* * Since we're changing the OCR value, we seem to -@@ -309,23 +315,37 @@ static int mmc_sd_init_card(struct mmc_h +@@ -309,23 +315,37 @@ * block-addressed SDHC cards. */ err = mmc_send_if_cond(host, ocr); @@ -2879,7 +2855,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd.c card = oldcard; } else { -@@ -333,32 +353,36 @@ static int mmc_sd_init_card(struct mmc_h +@@ -333,32 +353,36 @@ * Allocate card structure. */ card = mmc_alloc_card(host); @@ -2924,7 +2900,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd.c goto free_card; mmc_decode_cid(card); -@@ -367,16 +391,18 @@ static int mmc_sd_init_card(struct mmc_h +@@ -367,16 +391,18 @@ /* * Select card, as all following commands rely on that. */ @@ -2947,7 +2923,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd.c goto free_card; err = mmc_decode_scr(card); -@@ -387,7 +413,7 @@ static int mmc_sd_init_card(struct mmc_h +@@ -387,7 +413,7 @@ * Fetch switch information from card. */ err = mmc_read_switch(card); @@ -2956,7 +2932,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd.c goto free_card; } -@@ -395,7 +421,7 @@ static int mmc_sd_init_card(struct mmc_h +@@ -395,7 +421,7 @@ * Attempt to change to high-speed (if supported) */ err = mmc_switch_hs(card); @@ -2965,7 +2941,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd.c goto free_card; /* -@@ -418,7 +444,7 @@ static int mmc_sd_init_card(struct mmc_h +@@ -418,7 +444,7 @@ if ((host->caps & MMC_CAP_4_BIT_DATA) && (card->scr.bus_widths & SD_SCR_BUS_WIDTH_4)) { err = mmc_app_set_bus_width(card, MMC_BUS_WIDTH_4); @@ -2974,7 +2950,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd.c goto free_card; mmc_set_bus_width(host, MMC_BUS_WIDTH_4); -@@ -442,14 +468,14 @@ static int mmc_sd_init_card(struct mmc_h +@@ -442,14 +468,14 @@ if (!oldcard) host->card = card; @@ -2991,7 +2967,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd.c } /* -@@ -483,7 +509,7 @@ static void mmc_sd_detect(struct mmc_hos +@@ -483,7 +509,7 @@ mmc_release_host(host); @@ -3000,7 +2976,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd.c mmc_sd_remove(host); mmc_claim_host(host); -@@ -552,7 +578,8 @@ static void mmc_sd_suspend(struct mmc_ho +@@ -552,7 +578,8 @@ BUG_ON(!host->card); mmc_claim_host(host); @@ -3010,7 +2986,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd.c host->card->state &= ~MMC_STATE_HIGHSPEED; mmc_release_host(host); } -@@ -574,7 +601,7 @@ static void mmc_sd_resume(struct mmc_hos +@@ -574,7 +601,7 @@ err = mmc_sd_init_card(host, host->ocr, host->card); mmc_release_host(host); @@ -3019,7 +2995,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd.c mmc_sd_remove(host); mmc_claim_host(host); -@@ -608,11 +635,22 @@ int mmc_attach_sd(struct mmc_host *host, +@@ -608,11 +635,22 @@ int err; BUG_ON(!host); @@ -3043,7 +3019,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd.c * Sanity check the voltages that the card claims to * support. */ -@@ -644,7 +682,7 @@ int mmc_attach_sd(struct mmc_host *host, +@@ -644,7 +682,7 @@ * Detect and init the card. */ err = mmc_sd_init_card(host, host->ocr, NULL); @@ -3052,7 +3028,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd.c goto err; mmc_release_host(host); -@@ -666,6 +704,6 @@ err: +@@ -666,6 +704,6 @@ printk(KERN_ERR "%s: error %d whilst initialising SD card\n", mmc_hostname(host), err); @@ -3060,10 +3036,8 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd.c + return err; } -Index: linux-2.6.23.17/drivers/mmc/core/sd_ops.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/mmc/core/sd_ops.c -+++ linux-2.6.23.17/drivers/mmc/core/sd_ops.c +--- a/drivers/mmc/core/sd_ops.c ++++ b/drivers/mmc/core/sd_ops.c @@ -10,7 +10,6 @@ */ @@ -3072,7 +3046,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd_ops.c #include <linux/scatterlist.h> #include <linux/mmc/host.h> -@@ -33,21 +32,21 @@ static int mmc_app_cmd(struct mmc_host * +@@ -33,21 +32,21 @@ if (card) { cmd.arg = card->rca << 16; @@ -3100,7 +3074,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd_ops.c } /** -@@ -73,7 +72,7 @@ int mmc_wait_for_app_cmd(struct mmc_host +@@ -73,7 +72,7 @@ BUG_ON(!cmd); BUG_ON(retries < 0); @@ -3109,7 +3083,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd_ops.c /* * We have to resend MMC_APP_CMD for each attempt so -@@ -83,8 +82,14 @@ int mmc_wait_for_app_cmd(struct mmc_host +@@ -83,8 +82,14 @@ memset(&mrq, 0, sizeof(struct mmc_request)); err = mmc_app_cmd(host, card); @@ -3125,7 +3099,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd_ops.c memset(&mrq, 0, sizeof(struct mmc_request)); -@@ -97,8 +102,14 @@ int mmc_wait_for_app_cmd(struct mmc_host +@@ -97,8 +102,14 @@ mmc_wait_for_req(host, &mrq); err = cmd->error; @@ -3141,7 +3115,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd_ops.c } return err; -@@ -127,14 +138,14 @@ int mmc_app_set_bus_width(struct mmc_car +@@ -127,14 +138,14 @@ cmd.arg = SD_BUS_WIDTH_4; break; default: @@ -3159,7 +3133,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd_ops.c } int mmc_send_app_op_cond(struct mmc_host *host, u32 ocr, u32 *rocr) -@@ -147,23 +158,36 @@ int mmc_send_app_op_cond(struct mmc_host +@@ -147,23 +158,36 @@ memset(&cmd, 0, sizeof(struct mmc_command)); cmd.opcode = SD_APP_OP_COND; @@ -3202,7 +3176,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd_ops.c *rocr = cmd.resp[0]; return err; -@@ -174,6 +198,7 @@ int mmc_send_if_cond(struct mmc_host *ho +@@ -174,6 +198,7 @@ struct mmc_command cmd; int err; static const u8 test_pattern = 0xAA; @@ -3210,7 +3184,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd_ops.c /* * To support SD 2.0 cards, we must always invoke SD_SEND_IF_COND -@@ -182,16 +207,21 @@ int mmc_send_if_cond(struct mmc_host *ho +@@ -182,16 +207,21 @@ */ cmd.opcode = SD_SEND_IF_COND; cmd.arg = ((ocr & 0xFF8000) != 0) << 8 | test_pattern; @@ -3237,7 +3211,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd_ops.c } int mmc_send_relative_addr(struct mmc_host *host, unsigned int *rca) -@@ -209,12 +239,12 @@ int mmc_send_relative_addr(struct mmc_ho +@@ -209,12 +239,12 @@ cmd.flags = MMC_RSP_R6 | MMC_CMD_BCR; err = mmc_wait_for_cmd(host, &cmd, MMC_CMD_RETRIES); @@ -3252,7 +3226,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd_ops.c } int mmc_app_send_scr(struct mmc_card *card, u32 *scr) -@@ -229,8 +259,10 @@ int mmc_app_send_scr(struct mmc_card *ca +@@ -229,8 +259,10 @@ BUG_ON(!card->host); BUG_ON(!scr); @@ -3264,7 +3238,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd_ops.c return err; memset(&mrq, 0, sizeof(struct mmc_request)); -@@ -242,7 +274,7 @@ int mmc_app_send_scr(struct mmc_card *ca +@@ -242,7 +274,7 @@ cmd.opcode = SD_APP_SEND_SCR; cmd.arg = 0; @@ -3273,7 +3247,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd_ops.c data.blksz = 8; data.blocks = 1; -@@ -252,19 +284,19 @@ int mmc_app_send_scr(struct mmc_card *ca +@@ -252,19 +284,19 @@ sg_init_one(&sg, scr, 8); @@ -3299,7 +3273,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd_ops.c } int mmc_sd_switch(struct mmc_card *card, int mode, int group, -@@ -278,6 +310,8 @@ int mmc_sd_switch(struct mmc_card *card, +@@ -278,6 +310,8 @@ BUG_ON(!card); BUG_ON(!card->host); @@ -3308,7 +3282,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd_ops.c mode = !!mode; value &= 0xF; -@@ -292,7 +326,7 @@ int mmc_sd_switch(struct mmc_card *card, +@@ -292,7 +326,7 @@ cmd.arg = mode << 31 | 0x00FFFFFF; cmd.arg &= ~(0xF << (group * 4)); cmd.arg |= value << (group * 4); @@ -3317,7 +3291,7 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd_ops.c data.blksz = 64; data.blocks = 1; -@@ -302,15 +336,15 @@ int mmc_sd_switch(struct mmc_card *card, +@@ -302,15 +336,15 @@ sg_init_one(&sg, resp, 64); @@ -3337,10 +3311,8 @@ Index: linux-2.6.23.17/drivers/mmc/core/sd_ops.c + return 0; } -Index: linux-2.6.23.17/drivers/mmc/core/sdio.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/drivers/mmc/core/sdio.c ++++ b/drivers/mmc/core/sdio.c @@ -0,0 +1,395 @@ +/* + * linux/drivers/mmc/sdio.c @@ -3737,10 +3709,8 @@ Index: linux-2.6.23.17/drivers/mmc/core/sdio.c + return err; +} + -Index: linux-2.6.23.17/drivers/mmc/core/sdio_bus.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/drivers/mmc/core/sdio_bus.c ++++ b/drivers/mmc/core/sdio_bus.c @@ -0,0 +1,265 @@ +/* + * linux/drivers/mmc/core/sdio_bus.c @@ -4007,10 +3977,8 @@ Index: linux-2.6.23.17/drivers/mmc/core/sdio_bus.c + put_device(&func->dev); +} + -Index: linux-2.6.23.17/drivers/mmc/core/sdio_bus.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/drivers/mmc/core/sdio_bus.h ++++ b/drivers/mmc/core/sdio_bus.h @@ -0,0 +1,22 @@ +/* + * linux/drivers/mmc/core/sdio_bus.h @@ -4034,10 +4002,8 @@ Index: linux-2.6.23.17/drivers/mmc/core/sdio_bus.h + +#endif + -Index: linux-2.6.23.17/drivers/mmc/core/sdio_cis.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/drivers/mmc/core/sdio_cis.c ++++ b/drivers/mmc/core/sdio_cis.c @@ -0,0 +1,346 @@ +/* + * linux/drivers/mmc/core/sdio_cis.c @@ -4385,10 +4351,8 @@ Index: linux-2.6.23.17/drivers/mmc/core/sdio_cis.c + put_device(&func->card->dev); +} + -Index: linux-2.6.23.17/drivers/mmc/core/sdio_cis.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/drivers/mmc/core/sdio_cis.h ++++ b/drivers/mmc/core/sdio_cis.h @@ -0,0 +1,23 @@ +/* + * linux/drivers/mmc/core/sdio_cis.h @@ -4413,10 +4377,8 @@ Index: linux-2.6.23.17/drivers/mmc/core/sdio_cis.h +void sdio_free_func_cis(struct sdio_func *func); + +#endif -Index: linux-2.6.23.17/drivers/mmc/core/sdio_io.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/drivers/mmc/core/sdio_io.c ++++ b/drivers/mmc/core/sdio_io.c @@ -0,0 +1,548 @@ +/* + * linux/drivers/mmc/core/sdio_io.c @@ -4966,10 +4928,8 @@ Index: linux-2.6.23.17/drivers/mmc/core/sdio_io.c + *err_ret = ret; +} +EXPORT_SYMBOL_GPL(sdio_f0_writeb); -Index: linux-2.6.23.17/drivers/mmc/core/sdio_irq.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/drivers/mmc/core/sdio_irq.c ++++ b/drivers/mmc/core/sdio_irq.c @@ -0,0 +1,267 @@ +/* + * linux/drivers/mmc/core/sdio_irq.c @@ -5238,10 +5198,8 @@ Index: linux-2.6.23.17/drivers/mmc/core/sdio_irq.c +} +EXPORT_SYMBOL_GPL(sdio_release_irq); + -Index: linux-2.6.23.17/drivers/mmc/core/sdio_ops.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/drivers/mmc/core/sdio_ops.c ++++ b/drivers/mmc/core/sdio_ops.c @@ -0,0 +1,175 @@ +/* + * linux/drivers/mmc/sdio_ops.c @@ -5418,10 +5376,8 @@ Index: linux-2.6.23.17/drivers/mmc/core/sdio_ops.c + return 0; +} + -Index: linux-2.6.23.17/drivers/mmc/core/sdio_ops.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/drivers/mmc/core/sdio_ops.h ++++ b/drivers/mmc/core/sdio_ops.h @@ -0,0 +1,22 @@ +/* + * linux/drivers/mmc/sdio_ops.c @@ -5445,11 +5401,9 @@ Index: linux-2.6.23.17/drivers/mmc/core/sdio_ops.h + +#endif + -Index: linux-2.6.23.17/include/linux/mmc/card.h -=================================================================== ---- linux-2.6.23.17.orig/include/linux/mmc/card.h -+++ linux-2.6.23.17/include/linux/mmc/card.h -@@ -55,7 +55,28 @@ struct sd_switch_caps { +--- a/include/linux/mmc/card.h ++++ b/include/linux/mmc/card.h +@@ -55,7 +55,28 @@ unsigned int hs_max_dtr; }; @@ -5478,7 +5432,7 @@ Index: linux-2.6.23.17/include/linux/mmc/card.h /* * MMC device -@@ -67,11 +88,13 @@ struct mmc_card { +@@ -67,11 +88,13 @@ unsigned int type; /* card type */ #define MMC_TYPE_MMC 0 /* MMC card */ #define MMC_TYPE_SD 1 /* SD card */ @@ -5492,7 +5446,7 @@ Index: linux-2.6.23.17/include/linux/mmc/card.h u32 raw_cid[4]; /* raw card CID */ u32 raw_csd[4]; /* raw card CSD */ u32 raw_scr[2]; /* raw card SCR */ -@@ -80,10 +103,19 @@ struct mmc_card { +@@ -80,10 +103,19 @@ struct mmc_ext_csd ext_csd; /* mmc v4 extended card specific */ struct sd_scr scr; /* extra SD information */ struct sd_switch_caps sw_caps; /* switch (CMD6) caps */ @@ -5512,11 +5466,9 @@ Index: linux-2.6.23.17/include/linux/mmc/card.h #define mmc_card_present(c) ((c)->state & MMC_STATE_PRESENT) #define mmc_card_readonly(c) ((c)->state & MMC_STATE_READONLY) -Index: linux-2.6.23.17/include/linux/mmc/core.h -=================================================================== ---- linux-2.6.23.17.orig/include/linux/mmc/core.h -+++ linux-2.6.23.17/include/linux/mmc/core.h -@@ -25,14 +25,20 @@ struct mmc_command { +--- a/include/linux/mmc/core.h ++++ b/include/linux/mmc/core.h +@@ -25,14 +25,20 @@ #define MMC_RSP_CRC (1 << 2) /* expect valid crc */ #define MMC_RSP_BUSY (1 << 3) /* card may send busy */ #define MMC_RSP_OPCODE (1 << 4) /* response contains opcode */ @@ -5539,7 +5491,7 @@ Index: linux-2.6.23.17/include/linux/mmc/core.h * patterns of the above flags. One additional valid pattern * is all zeros, which means we don't expect a response. */ -@@ -41,12 +47,30 @@ struct mmc_command { +@@ -41,12 +47,30 @@ #define MMC_RSP_R1B (MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE|MMC_RSP_BUSY) #define MMC_RSP_R2 (MMC_RSP_PRESENT|MMC_RSP_136|MMC_RSP_CRC) #define MMC_RSP_R3 (MMC_RSP_PRESENT) @@ -5570,7 +5522,7 @@ Index: linux-2.6.23.17/include/linux/mmc/core.h * These are the command types. */ #define mmc_cmd_type(cmd) ((cmd)->flags & MMC_CMD_MASK) -@@ -54,12 +78,19 @@ struct mmc_command { +@@ -54,12 +78,19 @@ unsigned int retries; /* max number of retries */ unsigned int error; /* command error */ @@ -5596,7 +5548,7 @@ Index: linux-2.6.23.17/include/linux/mmc/core.h struct mmc_data *data; /* data segment associated with cmd */ struct mmc_request *mrq; /* associated request */ -@@ -76,7 +107,6 @@ struct mmc_data { +@@ -76,7 +107,6 @@ #define MMC_DATA_WRITE (1 << 8) #define MMC_DATA_READ (1 << 9) #define MMC_DATA_STREAM (1 << 10) @@ -5604,7 +5556,7 @@ Index: linux-2.6.23.17/include/linux/mmc/core.h unsigned int bytes_xfered; -@@ -104,9 +134,20 @@ extern int mmc_wait_for_cmd(struct mmc_h +@@ -104,9 +134,20 @@ extern int mmc_wait_for_app_cmd(struct mmc_host *, struct mmc_card *, struct mmc_command *, int); @@ -5627,10 +5579,8 @@ Index: linux-2.6.23.17/include/linux/mmc/core.h +} + #endif -Index: linux-2.6.23.17/include/linux/mmc/host.h -=================================================================== ---- linux-2.6.23.17.orig/include/linux/mmc/host.h -+++ linux-2.6.23.17/include/linux/mmc/host.h +--- a/include/linux/mmc/host.h ++++ b/include/linux/mmc/host.h @@ -10,6 +10,8 @@ #ifndef LINUX_MMC_HOST_H #define LINUX_MMC_HOST_H @@ -5640,7 +5590,7 @@ Index: linux-2.6.23.17/include/linux/mmc/host.h #include <linux/mmc/core.h> struct mmc_ios { -@@ -51,6 +53,7 @@ struct mmc_host_ops { +@@ -51,6 +53,7 @@ void (*request)(struct mmc_host *host, struct mmc_request *req); void (*set_ios)(struct mmc_host *host, struct mmc_ios *ios); int (*get_ro)(struct mmc_host *host); @@ -5648,7 +5598,7 @@ Index: linux-2.6.23.17/include/linux/mmc/host.h }; struct mmc_card; -@@ -87,9 +90,10 @@ struct mmc_host { +@@ -87,9 +90,10 @@ #define MMC_CAP_4_BIT_DATA (1 << 0) /* Can the host do 4 bit transfers */ #define MMC_CAP_MULTIWRITE (1 << 1) /* Can accurately report bytes sent to card on error */ @@ -5662,7 +5612,7 @@ Index: linux-2.6.23.17/include/linux/mmc/host.h /* host specific block data */ unsigned int max_seg_size; /* see blk_queue_max_segment_size */ -@@ -106,23 +110,30 @@ struct mmc_host { +@@ -106,23 +110,30 @@ struct mmc_ios ios; /* current io bus settings */ u32 ocr; /* the current OCR setting */ @@ -5701,7 +5651,7 @@ Index: linux-2.6.23.17/include/linux/mmc/host.h unsigned long private[0] ____cacheline_aligned; }; -@@ -137,6 +148,8 @@ static inline void *mmc_priv(struct mmc_ +@@ -137,6 +148,8 @@ return (void *)host->private; } @@ -5710,7 +5660,7 @@ Index: linux-2.6.23.17/include/linux/mmc/host.h #define mmc_dev(x) ((x)->parent) #define mmc_classdev(x) (&(x)->class_dev) #define mmc_hostname(x) ((x)->class_dev.bus_id) -@@ -147,5 +160,11 @@ extern int mmc_resume_host(struct mmc_ho +@@ -147,5 +160,11 @@ extern void mmc_detect_change(struct mmc_host *, unsigned long delay); extern void mmc_request_done(struct mmc_host *, struct mmc_request *); @@ -5722,10 +5672,8 @@ Index: linux-2.6.23.17/include/linux/mmc/host.h + #endif -Index: linux-2.6.23.17/include/linux/mmc/mmc.h -=================================================================== ---- linux-2.6.23.17.orig/include/linux/mmc/mmc.h -+++ linux-2.6.23.17/include/linux/mmc/mmc.h +--- a/include/linux/mmc/mmc.h ++++ b/include/linux/mmc/mmc.h @@ -27,7 +27,7 @@ /* Standard MMC commands (4.1) type argument response */ @@ -5801,7 +5749,7 @@ Index: linux-2.6.23.17/include/linux/mmc/mmc.h /* These are unpacked versions of the actual responses */ struct _mmc_csd { -@@ -182,6 +207,7 @@ struct _mmc_csd { +@@ -182,6 +207,7 @@ */ #define CCC_BASIC (1<<0) /* (0) Basic protocol functions */ /* (CMD0,1,2,3,4,7,9,10,12,13,15) */ @@ -5809,7 +5757,7 @@ Index: linux-2.6.23.17/include/linux/mmc/mmc.h #define CCC_STREAM_READ (1<<1) /* (1) Stream read commands */ /* (CMD11) */ #define CCC_BLOCK_READ (1<<2) /* (2) Block read commands */ -@@ -227,6 +253,7 @@ struct _mmc_csd { +@@ -227,6 +253,7 @@ #define EXT_CSD_BUS_WIDTH 183 /* R/W */ #define EXT_CSD_HS_TIMING 185 /* R/W */ #define EXT_CSD_CARD_TYPE 196 /* RO */ @@ -5817,10 +5765,8 @@ Index: linux-2.6.23.17/include/linux/mmc/mmc.h #define EXT_CSD_SEC_CNT 212 /* RO, 4 bytes */ /* -Index: linux-2.6.23.17/include/linux/mmc/sdio.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/mmc/sdio.h ++++ b/include/linux/mmc/sdio.h @@ -0,0 +1,159 @@ +/* + * include/linux/mmc/sdio.h @@ -5981,10 +5927,8 @@ Index: linux-2.6.23.17/include/linux/mmc/sdio.h + +#endif + -Index: linux-2.6.23.17/include/linux/mmc/sdio_func.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/mmc/sdio_func.h ++++ b/include/linux/mmc/sdio_func.h @@ -0,0 +1,153 @@ +/* + * include/linux/mmc/sdio_func.h @@ -6139,10 +6083,8 @@ Index: linux-2.6.23.17/include/linux/mmc/sdio_func.h + +#endif + -Index: linux-2.6.23.17/include/linux/mmc/sdio_ids.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/mmc/sdio_ids.h ++++ b/include/linux/mmc/sdio_ids.h @@ -0,0 +1,29 @@ +/* + * SDIO Classes, Interface Types, Manufacturer IDs, etc. @@ -6173,11 +6115,9 @@ Index: linux-2.6.23.17/include/linux/mmc/sdio_ids.h +#define SDIO_DEVICE_ID_MARVELL_LIBERTAS 0x9103 + +#endif -Index: linux-2.6.23.17/include/linux/mod_devicetable.h -=================================================================== ---- linux-2.6.23.17.orig/include/linux/mod_devicetable.h -+++ linux-2.6.23.17/include/linux/mod_devicetable.h -@@ -22,6 +22,18 @@ struct pci_device_id { +--- a/include/linux/mod_devicetable.h ++++ b/include/linux/mod_devicetable.h +@@ -22,6 +22,18 @@ }; @@ -6196,11 +6136,9 @@ Index: linux-2.6.23.17/include/linux/mod_devicetable.h #define IEEE1394_MATCH_VENDOR_ID 0x0001 #define IEEE1394_MATCH_MODEL_ID 0x0002 #define IEEE1394_MATCH_SPECIFIER_ID 0x0004 -Index: linux-2.6.23.17/drivers/mmc/card/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/drivers/mmc/card/Kconfig -+++ linux-2.6.23.17/drivers/mmc/card/Kconfig -@@ -32,3 +32,10 @@ config MMC_BLOCK_BOUNCE +--- a/drivers/mmc/card/Kconfig ++++ b/drivers/mmc/card/Kconfig +@@ -32,3 +32,10 @@ If unsure, say Y here. @@ -6211,20 +6149,16 @@ Index: linux-2.6.23.17/drivers/mmc/card/Kconfig + SDIO function driver for SDIO cards that implements the UART + class, as well as the GPS class which appears like a UART. + -Index: linux-2.6.23.17/drivers/mmc/card/Makefile -=================================================================== ---- linux-2.6.23.17.orig/drivers/mmc/card/Makefile -+++ linux-2.6.23.17/drivers/mmc/card/Makefile -@@ -9,3 +9,5 @@ endif +--- a/drivers/mmc/card/Makefile ++++ b/drivers/mmc/card/Makefile +@@ -9,3 +9,5 @@ obj-$(CONFIG_MMC_BLOCK) += mmc_block.o mmc_block-objs := block.o queue.o +obj-$(CONFIG_SDIO_UART) += sdio_uart.o + -Index: linux-2.6.23.17/drivers/mmc/card/block.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/mmc/card/block.c -+++ linux-2.6.23.17/drivers/mmc/card/block.c +--- a/drivers/mmc/card/block.c ++++ b/drivers/mmc/card/block.c @@ -44,6 +44,9 @@ * max 8 partitions per card */ @@ -6235,7 +6169,7 @@ Index: linux-2.6.23.17/drivers/mmc/card/block.c /* * There is one mmc_blk_data per slot. -@@ -80,6 +83,9 @@ static void mmc_blk_put(struct mmc_blk_d +@@ -80,6 +83,9 @@ mutex_lock(&open_lock); md->usage--; if (md->usage == 0) { @@ -6245,7 +6179,7 @@ Index: linux-2.6.23.17/drivers/mmc/card/block.c put_disk(md->disk); kfree(md); } -@@ -151,17 +157,19 @@ static u32 mmc_sd_num_wr_blocks(struct m +@@ -151,17 +157,19 @@ cmd.opcode = MMC_APP_CMD; cmd.arg = card->rca << 16; @@ -6268,7 +6202,7 @@ Index: linux-2.6.23.17/drivers/mmc/card/block.c memset(&data, 0, sizeof(struct mmc_data)); -@@ -192,7 +200,7 @@ static u32 mmc_sd_num_wr_blocks(struct m +@@ -192,7 +200,7 @@ mmc_wait_for_req(card->host, &mrq); @@ -6277,7 +6211,7 @@ Index: linux-2.6.23.17/drivers/mmc/card/block.c return (u32)-1; blocks = ntohl(blocks); -@@ -220,17 +228,15 @@ static int mmc_blk_issue_rq(struct mmc_q +@@ -220,17 +228,15 @@ brq.cmd.arg = req->sector; if (!mmc_card_blockaddr(card)) brq.cmd.arg <<= 9; @@ -6297,7 +6231,7 @@ Index: linux-2.6.23.17/drivers/mmc/card/block.c /* * If the host doesn't support multiple block writes, force * block writes to single block. SD cards are excepted from -@@ -243,8 +249,12 @@ static int mmc_blk_issue_rq(struct mmc_q +@@ -243,8 +249,12 @@ brq.data.blocks = 1; if (brq.data.blocks > 1) { @@ -6312,7 +6246,7 @@ Index: linux-2.6.23.17/drivers/mmc/card/block.c readcmd = MMC_READ_MULTIPLE_BLOCK; writecmd = MMC_WRITE_MULTIPLE_BLOCK; } else { -@@ -261,6 +271,8 @@ static int mmc_blk_issue_rq(struct mmc_q +@@ -261,6 +271,8 @@ brq.data.flags |= MMC_DATA_WRITE; } @@ -6321,7 +6255,7 @@ Index: linux-2.6.23.17/drivers/mmc/card/block.c brq.data.sg = mq->sg; brq.data.sg_len = mmc_queue_map_sg(mq); -@@ -302,7 +314,7 @@ static int mmc_blk_issue_rq(struct mmc_q +@@ -302,7 +314,7 @@ goto cmd_err; } @@ -6330,7 +6264,7 @@ Index: linux-2.6.23.17/drivers/mmc/card/block.c do { int err; -@@ -315,7 +327,13 @@ static int mmc_blk_issue_rq(struct mmc_q +@@ -315,7 +327,13 @@ req->rq_disk->disk_name, err); goto cmd_err; } @@ -6345,7 +6279,7 @@ Index: linux-2.6.23.17/drivers/mmc/card/block.c #if 0 if (cmd.resp[0] & ~0x00000900) -@@ -394,9 +412,6 @@ static int mmc_blk_issue_rq(struct mmc_q +@@ -394,9 +412,6 @@ return 0; } @@ -6355,7 +6289,7 @@ Index: linux-2.6.23.17/drivers/mmc/card/block.c static inline int mmc_blk_readonly(struct mmc_card *card) { -@@ -510,7 +525,7 @@ mmc_blk_set_blksize(struct mmc_blk_data +@@ -510,7 +525,7 @@ mmc_claim_host(card->host); cmd.opcode = MMC_SET_BLOCKLEN; cmd.arg = 1 << md->block_bits; @@ -6364,7 +6298,7 @@ Index: linux-2.6.23.17/drivers/mmc/card/block.c err = mmc_wait_for_cmd(card->host, &cmd, 5); mmc_release_host(card->host); -@@ -562,17 +577,12 @@ static void mmc_blk_remove(struct mmc_ca +@@ -562,17 +577,12 @@ struct mmc_blk_data *md = mmc_get_drvdata(card); if (md) { @@ -6382,10 +6316,8 @@ Index: linux-2.6.23.17/drivers/mmc/card/block.c mmc_blk_put(md); } mmc_set_drvdata(card, NULL); -Index: linux-2.6.23.17/drivers/mmc/card/queue.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/mmc/card/queue.c -+++ linux-2.6.23.17/drivers/mmc/card/queue.c +--- a/drivers/mmc/card/queue.c ++++ b/drivers/mmc/card/queue.c @@ -13,6 +13,7 @@ #include <linux/blkdev.h> #include <linux/freezer.h> @@ -6407,7 +6339,7 @@ Index: linux-2.6.23.17/drivers/mmc/card/queue.c /* * Prepare a MMC request. This just filters out odd stuff. */ -@@ -159,6 +166,7 @@ int mmc_init_queue(struct mmc_queue *mq, +@@ -159,6 +166,7 @@ ret = -ENOMEM; goto cleanup_queue; } @@ -6415,7 +6347,7 @@ Index: linux-2.6.23.17/drivers/mmc/card/queue.c mq->bounce_sg = kmalloc(sizeof(struct scatterlist) * bouncesz / 512, GFP_KERNEL); -@@ -166,6 +174,7 @@ int mmc_init_queue(struct mmc_queue *mq, +@@ -166,6 +174,7 @@ ret = -ENOMEM; goto cleanup_queue; } @@ -6423,7 +6355,7 @@ Index: linux-2.6.23.17/drivers/mmc/card/queue.c } } #endif -@@ -183,6 +192,7 @@ int mmc_init_queue(struct mmc_queue *mq, +@@ -183,6 +192,7 @@ ret = -ENOMEM; goto cleanup_queue; } @@ -6431,7 +6363,7 @@ Index: linux-2.6.23.17/drivers/mmc/card/queue.c } init_MUTEX(&mq->thread_sem); -@@ -302,12 +312,12 @@ static void copy_sg(struct scatterlist * +@@ -302,12 +312,12 @@ BUG_ON(dst_len == 0); if (dst_size == 0) { @@ -6446,7 +6378,7 @@ Index: linux-2.6.23.17/drivers/mmc/card/queue.c src_size = src->length; } -@@ -353,9 +363,7 @@ unsigned int mmc_queue_map_sg(struct mmc +@@ -353,9 +363,7 @@ return 1; } @@ -6457,10 +6389,8 @@ Index: linux-2.6.23.17/drivers/mmc/card/queue.c while (sg_len) { mq->sg[0].length += mq->bounce_sg[sg_len - 1].length; -Index: linux-2.6.23.17/drivers/mmc/card/sdio_uart.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/drivers/mmc/card/sdio_uart.c ++++ b/drivers/mmc/card/sdio_uart.c @@ -0,0 +1,1158 @@ +/* + * linux/drivers/mmc/card/sdio_uart.c - SDIO UART/GPS driver @@ -7620,11 +7550,9 @@ Index: linux-2.6.23.17/drivers/mmc/card/sdio_uart.c + +MODULE_AUTHOR("Nicolas Pitre"); +MODULE_LICENSE("GPL"); -Index: linux-2.6.23.17/drivers/mmc/core/Makefile -=================================================================== ---- linux-2.6.23.17.orig/drivers/mmc/core/Makefile -+++ linux-2.6.23.17/drivers/mmc/core/Makefile -@@ -8,5 +8,7 @@ endif +--- a/drivers/mmc/core/Makefile ++++ b/drivers/mmc/core/Makefile +@@ -8,5 +8,7 @@ obj-$(CONFIG_MMC) += mmc_core.o mmc_core-y := core.o sysfs.o bus.o host.o \ diff --git a/target/linux/generic-2.6/patches-2.6.23/301-mmc_sdhci_fixes.patch b/target/linux/generic-2.6/patches-2.6.23/301-mmc_sdhci_fixes.patch index fe0bd1c..e6152b2 100644 --- a/target/linux/generic-2.6/patches-2.6.23/301-mmc_sdhci_fixes.patch +++ b/target/linux/generic-2.6/patches-2.6.23/301-mmc_sdhci_fixes.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/drivers/mmc/host/sdhci.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/mmc/host/sdhci.c -+++ linux-2.6.23.17/drivers/mmc/host/sdhci.c -@@ -481,16 +481,16 @@ static void sdhci_finish_data(struct sdh +--- a/drivers/mmc/host/sdhci.c ++++ b/drivers/mmc/host/sdhci.c +@@ -481,16 +481,16 @@ * Controller doesn't count down when in single block mode. */ if (data->blocks == 1) @@ -22,7 +20,7 @@ Index: linux-2.6.23.17/drivers/mmc/host/sdhci.c } if (data->stop) { -@@ -498,7 +498,7 @@ static void sdhci_finish_data(struct sdh +@@ -498,7 +498,7 @@ * The controller needs a reset of internal state machines * upon error conditions. */ @@ -31,7 +29,7 @@ Index: linux-2.6.23.17/drivers/mmc/host/sdhci.c sdhci_reset(host, SDHCI_RESET_CMD); sdhci_reset(host, SDHCI_RESET_DATA); } -@@ -533,7 +533,7 @@ static void sdhci_send_command(struct sd +@@ -533,7 +533,7 @@ printk(KERN_ERR "%s: Controller never released " "inhibit bit(s).\n", mmc_hostname(host->mmc)); sdhci_dumpregs(host); @@ -40,7 +38,7 @@ Index: linux-2.6.23.17/drivers/mmc/host/sdhci.c tasklet_schedule(&host->finish_tasklet); return; } -@@ -554,7 +554,7 @@ static void sdhci_send_command(struct sd +@@ -554,7 +554,7 @@ if ((cmd->flags & MMC_RSP_136) && (cmd->flags & MMC_RSP_BUSY)) { printk(KERN_ERR "%s: Unsupported response type!\n", mmc_hostname(host->mmc)); @@ -49,7 +47,7 @@ Index: linux-2.6.23.17/drivers/mmc/host/sdhci.c tasklet_schedule(&host->finish_tasklet); return; } -@@ -601,7 +601,7 @@ static void sdhci_finish_command(struct +@@ -601,7 +601,7 @@ } } @@ -58,7 +56,7 @@ Index: linux-2.6.23.17/drivers/mmc/host/sdhci.c if (host->data && host->data_early) sdhci_finish_data(host); -@@ -722,7 +722,7 @@ static void sdhci_request(struct mmc_hos +@@ -722,7 +722,7 @@ host->mrq = mrq; if (!(readl(host->ioaddr + SDHCI_PRESENT_STATE) & SDHCI_CARD_PRESENT)) { @@ -67,7 +65,7 @@ Index: linux-2.6.23.17/drivers/mmc/host/sdhci.c tasklet_schedule(&host->finish_tasklet); } else sdhci_send_command(host, mrq->cmd); -@@ -831,7 +831,7 @@ static void sdhci_tasklet_card(unsigned +@@ -831,7 +831,7 @@ sdhci_reset(host, SDHCI_RESET_CMD); sdhci_reset(host, SDHCI_RESET_DATA); @@ -76,7 +74,7 @@ Index: linux-2.6.23.17/drivers/mmc/host/sdhci.c tasklet_schedule(&host->finish_tasklet); } } -@@ -859,9 +859,9 @@ static void sdhci_tasklet_finish(unsigne +@@ -859,9 +859,9 @@ * The controller needs a reset of internal state machines * upon error conditions. */ @@ -89,7 +87,7 @@ Index: linux-2.6.23.17/drivers/mmc/host/sdhci.c /* Some controllers need this kick or reset won't work here */ if (host->chip->quirks & SDHCI_QUIRK_CLOCK_BEFORE_RESET) { -@@ -906,13 +906,13 @@ static void sdhci_timeout_timer(unsigned +@@ -906,13 +906,13 @@ sdhci_dumpregs(host); if (host->data) { @@ -106,7 +104,7 @@ Index: linux-2.6.23.17/drivers/mmc/host/sdhci.c tasklet_schedule(&host->finish_tasklet); } -@@ -941,13 +941,12 @@ static void sdhci_cmd_irq(struct sdhci_h +@@ -941,13 +941,12 @@ } if (intmask & SDHCI_INT_TIMEOUT) @@ -125,7 +123,7 @@ Index: linux-2.6.23.17/drivers/mmc/host/sdhci.c tasklet_schedule(&host->finish_tasklet); else if (intmask & SDHCI_INT_RESPONSE) sdhci_finish_command(host); -@@ -974,13 +973,11 @@ static void sdhci_data_irq(struct sdhci_ +@@ -974,13 +973,11 @@ } if (intmask & SDHCI_INT_DATA_TIMEOUT) @@ -143,7 +141,7 @@ Index: linux-2.6.23.17/drivers/mmc/host/sdhci.c sdhci_finish_data(host); else { if (intmask & (SDHCI_INT_DATA_AVAIL | SDHCI_INT_SPACE_AVAIL)) -@@ -1312,7 +1309,7 @@ static int __devinit sdhci_probe_slot(st +@@ -1312,7 +1309,7 @@ mmc->ops = &sdhci_ops; mmc->f_min = host->max_clk / 256; mmc->f_max = host->max_clk; diff --git a/target/linux/generic-2.6/patches-2.6.23/400-ledtrig_morse.patch b/target/linux/generic-2.6/patches-2.6.23/400-ledtrig_morse.patch index bd040c9..c582480 100644 --- a/target/linux/generic-2.6/patches-2.6.23/400-ledtrig_morse.patch +++ b/target/linux/generic-2.6/patches-2.6.23/400-ledtrig_morse.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/drivers/leds/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/drivers/leds/Kconfig -+++ linux-2.6.23.17/drivers/leds/Kconfig -@@ -133,4 +133,8 @@ config LEDS_TRIGGER_HEARTBEAT +--- a/drivers/leds/Kconfig ++++ b/drivers/leds/Kconfig +@@ -133,4 +133,8 @@ load average. If unsure, say Y. @@ -11,11 +9,9 @@ Index: linux-2.6.23.17/drivers/leds/Kconfig + depends on LEDS_TRIGGERS + endif # NEW_LEDS -Index: linux-2.6.23.17/drivers/leds/Makefile -=================================================================== ---- linux-2.6.23.17.orig/drivers/leds/Makefile -+++ linux-2.6.23.17/drivers/leds/Makefile -@@ -22,3 +22,4 @@ obj-$(CONFIG_LEDS_GPIO) += leds-gpio.o +--- a/drivers/leds/Makefile ++++ b/drivers/leds/Makefile +@@ -22,3 +22,4 @@ obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += ledtrig-ide-disk.o obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) += ledtrig-heartbeat.o diff --git a/target/linux/generic-2.6/patches-2.6.23/401-led_alix.patch b/target/linux/generic-2.6/patches-2.6.23/401-led_alix.patch index e857bae..a40ea02 100644 --- a/target/linux/generic-2.6/patches-2.6.23/401-led_alix.patch +++ b/target/linux/generic-2.6/patches-2.6.23/401-led_alix.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/drivers/leds/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/drivers/leds/Kconfig -+++ linux-2.6.23.17/drivers/leds/Kconfig -@@ -81,6 +81,12 @@ config LEDS_WRAP +--- a/drivers/leds/Kconfig ++++ b/drivers/leds/Kconfig +@@ -81,6 +81,12 @@ help This option enables support for the PCEngines WRAP programmable LEDs. @@ -15,11 +13,9 @@ Index: linux-2.6.23.17/drivers/leds/Kconfig config LEDS_H1940 tristate "LED Support for iPAQ H1940 device" depends LEDS_CLASS && ARCH_H1940 -Index: linux-2.6.23.17/drivers/leds/Makefile -=================================================================== ---- linux-2.6.23.17.orig/drivers/leds/Makefile -+++ linux-2.6.23.17/drivers/leds/Makefile -@@ -14,6 +14,7 @@ obj-$(CONFIG_LEDS_S3C24XX) += leds-s3c2 +--- a/drivers/leds/Makefile ++++ b/drivers/leds/Makefile +@@ -14,6 +14,7 @@ obj-$(CONFIG_LEDS_AMS_DELTA) += leds-ams-delta.o obj-$(CONFIG_LEDS_NET48XX) += leds-net48xx.o obj-$(CONFIG_LEDS_WRAP) += leds-wrap.o diff --git a/target/linux/generic-2.6/patches-2.6.23/402-ledtrig_default_on.patch b/target/linux/generic-2.6/patches-2.6.23/402-ledtrig_default_on.patch index 62214a3..2dabf93 100644 --- a/target/linux/generic-2.6/patches-2.6.23/402-ledtrig_default_on.patch +++ b/target/linux/generic-2.6/patches-2.6.23/402-ledtrig_default_on.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/drivers/leds/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/drivers/leds/Kconfig -+++ linux-2.6.23.17/drivers/leds/Kconfig -@@ -143,4 +143,11 @@ config LEDS_TRIGGER_MORSE +--- a/drivers/leds/Kconfig ++++ b/drivers/leds/Kconfig +@@ -143,4 +143,11 @@ tristate "LED Morse Trigger" depends on LEDS_TRIGGERS @@ -14,11 +12,9 @@ Index: linux-2.6.23.17/drivers/leds/Kconfig + If unsure, say Y. + endif # NEW_LEDS -Index: linux-2.6.23.17/drivers/leds/Makefile -=================================================================== ---- linux-2.6.23.17.orig/drivers/leds/Makefile -+++ linux-2.6.23.17/drivers/leds/Makefile -@@ -24,3 +24,4 @@ obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledt +--- a/drivers/leds/Makefile ++++ b/drivers/leds/Makefile +@@ -24,3 +24,4 @@ obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += ledtrig-ide-disk.o obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) += ledtrig-heartbeat.o obj-$(CONFIG_LEDS_TRIGGER_MORSE) += ledtrig-morse.o diff --git a/target/linux/generic-2.6/patches-2.6.23/403-ledtrig_netdev.patch b/target/linux/generic-2.6/patches-2.6.23/403-ledtrig_netdev.patch index 5f538b5..2b17d33 100644 --- a/target/linux/generic-2.6/patches-2.6.23/403-ledtrig_netdev.patch +++ b/target/linux/generic-2.6/patches-2.6.23/403-ledtrig_netdev.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/drivers/leds/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/drivers/leds/Kconfig -+++ linux-2.6.23.17/drivers/leds/Kconfig -@@ -150,4 +150,11 @@ config LEDS_TRIGGER_DEFAULT_ON +--- a/drivers/leds/Kconfig ++++ b/drivers/leds/Kconfig +@@ -150,4 +150,11 @@ This allows LEDs to be initialised in the ON state. If unsure, say Y. @@ -14,11 +12,9 @@ Index: linux-2.6.23.17/drivers/leds/Kconfig + If unsure, say Y. + endif # NEW_LEDS -Index: linux-2.6.23.17/drivers/leds/Makefile -=================================================================== ---- linux-2.6.23.17.orig/drivers/leds/Makefile -+++ linux-2.6.23.17/drivers/leds/Makefile -@@ -25,3 +25,4 @@ obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += l +--- a/drivers/leds/Makefile ++++ b/drivers/leds/Makefile +@@ -25,3 +25,4 @@ obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) += ledtrig-heartbeat.o obj-$(CONFIG_LEDS_TRIGGER_MORSE) += ledtrig-morse.o obj-$(CONFIG_LEDS_TRIGGER_DEFAULT_ON) += ledtrig-default-on.o diff --git a/target/linux/generic-2.6/patches-2.6.23/410-gpio_buttons.patch b/target/linux/generic-2.6/patches-2.6.23/410-gpio_buttons.patch index 8a12306..c7ede5d 100644 --- a/target/linux/generic-2.6/patches-2.6.23/410-gpio_buttons.patch +++ b/target/linux/generic-2.6/patches-2.6.23/410-gpio_buttons.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/drivers/input/misc/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/drivers/input/misc/Kconfig -+++ linux-2.6.23.17/drivers/input/misc/Kconfig -@@ -183,4 +183,20 @@ config HP_SDC_RTC +--- a/drivers/input/misc/Kconfig ++++ b/drivers/input/misc/Kconfig +@@ -183,4 +183,20 @@ Say Y here if you want to support the built-in real time clock of the HP SDC controller. @@ -23,11 +21,9 @@ Index: linux-2.6.23.17/drivers/input/misc/Kconfig + module will be called gpio-buttons. + endif -Index: linux-2.6.23.17/drivers/input/misc/Makefile -=================================================================== ---- linux-2.6.23.17.orig/drivers/input/misc/Makefile -+++ linux-2.6.23.17/drivers/input/misc/Makefile -@@ -18,3 +18,4 @@ obj-$(CONFIG_INPUT_POWERMATE) += powerm +--- a/drivers/input/misc/Makefile ++++ b/drivers/input/misc/Makefile +@@ -18,3 +18,4 @@ obj-$(CONFIG_INPUT_YEALINK) += yealink.o obj-$(CONFIG_HP_SDC_RTC) += hp_sdc_rtc.o obj-$(CONFIG_INPUT_UINPUT) += uinput.o diff --git a/target/linux/generic-2.6/patches-2.6.23/510-Yaffs.patch b/target/linux/generic-2.6/patches-2.6.23/510-Yaffs.patch index f5e5e2c..a48dfbb 100644 --- a/target/linux/generic-2.6/patches-2.6.23/510-Yaffs.patch +++ b/target/linux/generic-2.6/patches-2.6.23/510-Yaffs.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/fs/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/fs/Kconfig -+++ linux-2.6.23.17/fs/Kconfig -@@ -419,6 +419,7 @@ config FS_POSIX_ACL +--- a/fs/Kconfig ++++ b/fs/Kconfig +@@ -419,6 +419,7 @@ source "fs/xfs/Kconfig" source "fs/gfs2/Kconfig" @@ -10,11 +8,9 @@ Index: linux-2.6.23.17/fs/Kconfig config OCFS2_FS tristate "OCFS2 file system support" -Index: linux-2.6.23.17/fs/Makefile -=================================================================== ---- linux-2.6.23.17.orig/fs/Makefile -+++ linux-2.6.23.17/fs/Makefile -@@ -120,3 +120,4 @@ obj-$(CONFIG_HPPFS) += hppfs/ +--- a/fs/Makefile ++++ b/fs/Makefile +@@ -120,3 +120,4 @@ obj-$(CONFIG_DEBUG_FS) += debugfs/ obj-$(CONFIG_OCFS2_FS) += ocfs2/ obj-$(CONFIG_GFS2_FS) += gfs2/ diff --git a/target/linux/generic-2.6/patches-2.6.23/600-phy_extension.patch b/target/linux/generic-2.6/patches-2.6.23/600-phy_extension.patch index 6ed776e..cf87416 100644 --- a/target/linux/generic-2.6/patches-2.6.23/600-phy_extension.patch +++ b/target/linux/generic-2.6/patches-2.6.23/600-phy_extension.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/drivers/net/phy/phy.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/net/phy/phy.c -+++ linux-2.6.23.17/drivers/net/phy/phy.c -@@ -344,6 +344,50 @@ int phy_ethtool_gset(struct phy_device * +--- a/drivers/net/phy/phy.c ++++ b/drivers/net/phy/phy.c +@@ -344,6 +344,50 @@ } EXPORT_SYMBOL(phy_ethtool_gset); @@ -53,11 +51,9 @@ Index: linux-2.6.23.17/drivers/net/phy/phy.c /** * phy_mii_ioctl - generic PHY MII ioctl interface * @phydev: the phy_device struct -Index: linux-2.6.23.17/include/linux/phy.h -=================================================================== ---- linux-2.6.23.17.orig/include/linux/phy.h -+++ linux-2.6.23.17/include/linux/phy.h -@@ -393,6 +393,7 @@ void phy_start_machine(struct phy_device +--- a/include/linux/phy.h ++++ b/include/linux/phy.h +@@ -393,6 +393,7 @@ 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); diff --git a/target/linux/generic-2.6/patches-2.6.23/610-phy_detect.patch b/target/linux/generic-2.6/patches-2.6.23/610-phy_detect.patch index c0dc201..87af641 100644 --- a/target/linux/generic-2.6/patches-2.6.23/610-phy_detect.patch +++ b/target/linux/generic-2.6/patches-2.6.23/610-phy_detect.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/drivers/net/phy/mdio_bus.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/net/phy/mdio_bus.c -+++ linux-2.6.23.17/drivers/net/phy/mdio_bus.c -@@ -131,6 +131,9 @@ static int mdio_bus_match(struct device +--- a/drivers/net/phy/mdio_bus.c ++++ b/drivers/net/phy/mdio_bus.c +@@ -131,6 +131,9 @@ struct phy_device *phydev = to_phy_device(dev); struct phy_driver *phydrv = to_phy_driver(drv); @@ -12,11 +10,9 @@ Index: linux-2.6.23.17/drivers/net/phy/mdio_bus.c return ((phydrv->phy_id & phydrv->phy_id_mask) == (phydev->phy_id & phydrv->phy_id_mask)); } -Index: linux-2.6.23.17/include/linux/phy.h -=================================================================== ---- linux-2.6.23.17.orig/include/linux/phy.h -+++ linux-2.6.23.17/include/linux/phy.h -@@ -319,6 +319,11 @@ struct phy_driver { +--- a/include/linux/phy.h ++++ b/include/linux/phy.h +@@ -319,6 +319,11 @@ u32 features; u32 flags; diff --git a/target/linux/generic-2.6/patches-2.6.23/620-phy_adm6996.patch b/target/linux/generic-2.6/patches-2.6.23/620-phy_adm6996.patch index 2634ea1..c7aadae 100644 --- a/target/linux/generic-2.6/patches-2.6.23/620-phy_adm6996.patch +++ b/target/linux/generic-2.6/patches-2.6.23/620-phy_adm6996.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/drivers/net/phy/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/drivers/net/phy/Kconfig -+++ linux-2.6.23.17/drivers/net/phy/Kconfig -@@ -60,6 +60,11 @@ config ICPLUS_PHY +--- a/drivers/net/phy/Kconfig ++++ b/drivers/net/phy/Kconfig +@@ -60,6 +60,11 @@ ---help--- Currently supports the IP175C PHY. @@ -14,11 +12,9 @@ Index: linux-2.6.23.17/drivers/net/phy/Kconfig config FIXED_PHY tristate "Drivers for PHY emulation on fixed speed/link" ---help--- -Index: linux-2.6.23.17/drivers/net/phy/Makefile -=================================================================== ---- linux-2.6.23.17.orig/drivers/net/phy/Makefile -+++ linux-2.6.23.17/drivers/net/phy/Makefile -@@ -12,4 +12,5 @@ obj-$(CONFIG_SMSC_PHY) += smsc.o +--- a/drivers/net/phy/Makefile ++++ b/drivers/net/phy/Makefile +@@ -12,4 +12,5 @@ obj-$(CONFIG_VITESSE_PHY) += vitesse.o obj-$(CONFIG_BROADCOM_PHY) += broadcom.o obj-$(CONFIG_ICPLUS_PHY) += icplus.o diff --git a/target/linux/generic-2.6/patches-2.6.23/630-phy_packets.patch b/target/linux/generic-2.6/patches-2.6.23/630-phy_packets.patch index 1f26f23..32d6c2f 100644 --- a/target/linux/generic-2.6/patches-2.6.23/630-phy_packets.patch +++ b/target/linux/generic-2.6/patches-2.6.23/630-phy_packets.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/drivers/net/phy/phy_device.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/net/phy/phy_device.c -+++ linux-2.6.23.17/drivers/net/phy/phy_device.c -@@ -44,6 +44,18 @@ static struct phy_driver genphy_driver; +--- a/drivers/net/phy/phy_device.c ++++ b/drivers/net/phy/phy_device.c +@@ -44,6 +44,18 @@ extern int mdio_bus_init(void); extern void mdio_bus_exit(void); @@ -21,7 +19,7 @@ Index: linux-2.6.23.17/drivers/net/phy/phy_device.c struct phy_device* phy_device_create(struct mii_bus *bus, int addr, int phy_id) { struct phy_device *dev; -@@ -67,6 +79,8 @@ struct phy_device* phy_device_create(str +@@ -67,6 +79,8 @@ dev->bus = bus; dev->state = PHY_DOWN; @@ -30,11 +28,9 @@ Index: linux-2.6.23.17/drivers/net/phy/phy_device.c spin_lock_init(&dev->lock); -Index: linux-2.6.23.17/include/linux/phy.h -=================================================================== ---- linux-2.6.23.17.orig/include/linux/phy.h -+++ linux-2.6.23.17/include/linux/phy.h -@@ -289,6 +289,17 @@ struct phy_device { +--- a/include/linux/phy.h ++++ b/include/linux/phy.h +@@ -289,6 +289,17 @@ void (*adjust_link)(struct net_device *dev); void (*adjust_state)(struct net_device *dev); @@ -52,11 +48,9 @@ Index: linux-2.6.23.17/include/linux/phy.h }; #define to_phy_device(d) container_of(d, struct phy_device, dev) -Index: linux-2.6.23.17/include/linux/netdevice.h -=================================================================== ---- linux-2.6.23.17.orig/include/linux/netdevice.h -+++ linux-2.6.23.17/include/linux/netdevice.h -@@ -426,6 +426,7 @@ struct net_device +--- a/include/linux/netdevice.h ++++ b/include/linux/netdevice.h +@@ -426,6 +426,7 @@ 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-2.6/patches-2.6.23/640-mvswitch.patch b/target/linux/generic-2.6/patches-2.6.23/640-mvswitch.patch index 7b88397..ba62832 100644 --- a/target/linux/generic-2.6/patches-2.6.23/640-mvswitch.patch +++ b/target/linux/generic-2.6/patches-2.6.23/640-mvswitch.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/drivers/net/phy/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/drivers/net/phy/Kconfig -+++ linux-2.6.23.17/drivers/net/phy/Kconfig -@@ -65,6 +65,12 @@ config ADM6996_PHY +--- a/drivers/net/phy/Kconfig ++++ b/drivers/net/phy/Kconfig +@@ -65,6 +65,12 @@ ---help--- Currently supports the ADM6996F switch @@ -15,20 +13,16 @@ Index: linux-2.6.23.17/drivers/net/phy/Kconfig config FIXED_PHY tristate "Drivers for PHY emulation on fixed speed/link" ---help--- -Index: linux-2.6.23.17/drivers/net/phy/Makefile -=================================================================== ---- linux-2.6.23.17.orig/drivers/net/phy/Makefile -+++ linux-2.6.23.17/drivers/net/phy/Makefile -@@ -13,4 +13,5 @@ obj-$(CONFIG_VITESSE_PHY) += vitesse.o +--- a/drivers/net/phy/Makefile ++++ b/drivers/net/phy/Makefile +@@ -13,4 +13,5 @@ obj-$(CONFIG_BROADCOM_PHY) += broadcom.o obj-$(CONFIG_ICPLUS_PHY) += icplus.o obj-$(CONFIG_ADM6996_PHY) += adm6996.o +obj-$(CONFIG_MVSWITCH_PHY) += mvswitch.o obj-$(CONFIG_FIXED_PHY) += fixed.o -Index: linux-2.6.23.17/drivers/net/phy/mdio_bus.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/net/phy/mdio_bus.c -+++ linux-2.6.23.17/drivers/net/phy/mdio_bus.c +--- a/drivers/net/phy/mdio_bus.c ++++ b/drivers/net/phy/mdio_bus.c @@ -35,6 +35,12 @@ #include <asm/irq.h> #include <asm/uaccess.h> @@ -42,7 +36,7 @@ Index: linux-2.6.23.17/drivers/net/phy/mdio_bus.c /** * mdiobus_register - bring up all the PHYs on a given bus and attach them to bus * @bus: target mii_bus -@@ -85,6 +91,7 @@ int mdiobus_register(struct mii_bus *bus +@@ -85,6 +91,7 @@ phydev->dev.parent = bus->dev; phydev->dev.bus = &mdio_bus_type; diff --git a/target/linux/generic-2.6/patches-2.6.23/700-unable_to_open_console.patch b/target/linux/generic-2.6/patches-2.6.23/700-unable_to_open_console.patch index c356243..9f70736 100644 --- a/target/linux/generic-2.6/patches-2.6.23/700-unable_to_open_console.patch +++ b/target/linux/generic-2.6/patches-2.6.23/700-unable_to_open_console.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/init/main.c -=================================================================== ---- linux-2.6.23.17.orig/init/main.c -+++ linux-2.6.23.17/init/main.c -@@ -780,7 +780,7 @@ static int noinline init_post(void) +--- a/init/main.c ++++ b/init/main.c +@@ -780,7 +780,7 @@ numa_default_policy(); if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0) diff --git a/target/linux/generic-2.6/patches-2.6.23/801-usb_serial_endpoint_size.patch b/target/linux/generic-2.6/patches-2.6.23/801-usb_serial_endpoint_size.patch index e867515..1370c8c 100644 --- a/target/linux/generic-2.6/patches-2.6.23/801-usb_serial_endpoint_size.patch +++ b/target/linux/generic-2.6/patches-2.6.23/801-usb_serial_endpoint_size.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/drivers/usb/serial/usb-serial.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/usb/serial/usb-serial.c -+++ linux-2.6.23.17/drivers/usb/serial/usb-serial.c -@@ -58,6 +58,7 @@ static struct usb_driver usb_serial_driv +--- a/drivers/usb/serial/usb-serial.c ++++ b/drivers/usb/serial/usb-serial.c +@@ -58,6 +58,7 @@ drivers depend on it. */ @@ -10,7 +8,7 @@ Index: linux-2.6.23.17/drivers/usb/serial/usb-serial.c static int debug; static struct usb_serial *serial_table[SERIAL_TTY_MINORS]; /* initially all NULL */ static DEFINE_MUTEX(table_lock); -@@ -866,7 +867,7 @@ int usb_serial_probe(struct usb_interfac +@@ -866,7 +867,7 @@ dev_err(&interface->dev, "No free urbs available\n"); goto probe_error; } @@ -19,7 +17,7 @@ Index: linux-2.6.23.17/drivers/usb/serial/usb-serial.c port->bulk_in_size = buffer_size; port->bulk_in_endpointAddress = endpoint->bEndpointAddress; port->bulk_in_buffer = kmalloc (buffer_size, GFP_KERNEL); -@@ -1276,3 +1277,5 @@ MODULE_LICENSE("GPL"); +@@ -1276,3 +1277,5 @@ module_param(debug, bool, S_IRUGO | S_IWUSR); MODULE_PARM_DESC(debug, "Debug enabled or not"); diff --git a/target/linux/generic-2.6/patches-2.6.23/900-headers_type_and_time.patch b/target/linux/generic-2.6/patches-2.6.23/900-headers_type_and_time.patch index 54fd80f..9dd011c 100644 --- a/target/linux/generic-2.6/patches-2.6.23/900-headers_type_and_time.patch +++ b/target/linux/generic-2.6/patches-2.6.23/900-headers_type_and_time.patch @@ -1,7 +1,5 @@ -Index: linux-2.6.23.17/include/linux/time.h -=================================================================== ---- linux-2.6.23.17.orig/include/linux/time.h -+++ linux-2.6.23.17/include/linux/time.h +--- a/include/linux/time.h ++++ b/include/linux/time.h @@ -1,6 +1,10 @@ #ifndef _LINUX_TIME_H #define _LINUX_TIME_H @@ -13,17 +11,15 @@ Index: linux-2.6.23.17/include/linux/time.h #include <linux/types.h> #ifdef __KERNEL__ -@@ -227,4 +231,6 @@ struct itimerval { +@@ -227,4 +231,6 @@ */ #define TIMER_ABSTIME 0x01 +#endif /* __KERNEL__ DEBIAN */ + #endif -Index: linux-2.6.23.17/include/linux/types.h -=================================================================== ---- linux-2.6.23.17.orig/include/linux/types.h -+++ linux-2.6.23.17/include/linux/types.h +--- a/include/linux/types.h ++++ b/include/linux/types.h @@ -1,6 +1,14 @@ #ifndef _LINUX_TYPES_H #define _LINUX_TYPES_H @@ -39,7 +35,7 @@ Index: linux-2.6.23.17/include/linux/types.h #ifdef __KERNEL__ #define BITS_TO_LONGS(bits) \ -@@ -162,6 +170,8 @@ typedef unsigned long blkcnt_t; +@@ -162,6 +170,8 @@ #endif /* __KERNEL_STRICT_NAMES */ diff --git a/target/linux/generic-2.6/patches-2.6.23/902-darwin_scripts_include.patch b/target/linux/generic-2.6/patches-2.6.23/902-darwin_scripts_include.patch index 173a305..9bf058b 100644 --- a/target/linux/generic-2.6/patches-2.6.23/902-darwin_scripts_include.patch +++ b/target/linux/generic-2.6/patches-2.6.23/902-darwin_scripts_include.patch @@ -1,7 +1,5 @@ -Index: linux-2.6.23.17/scripts/genksyms/parse.c_shipped -=================================================================== ---- linux-2.6.23.17.orig/scripts/genksyms/parse.c_shipped -+++ linux-2.6.23.17/scripts/genksyms/parse.c_shipped +--- a/scripts/genksyms/parse.c_shipped ++++ b/scripts/genksyms/parse.c_shipped @@ -144,7 +144,9 @@ @@ -12,10 +10,8 @@ Index: linux-2.6.23.17/scripts/genksyms/parse.c_shipped #include "genksyms.h" static int is_typedef; -Index: linux-2.6.23.17/scripts/genksyms/parse.y -=================================================================== ---- linux-2.6.23.17.orig/scripts/genksyms/parse.y -+++ linux-2.6.23.17/scripts/genksyms/parse.y +--- a/scripts/genksyms/parse.y ++++ b/scripts/genksyms/parse.y @@ -24,7 +24,9 @@ %{ @@ -26,10 +22,8 @@ Index: linux-2.6.23.17/scripts/genksyms/parse.y #include "genksyms.h" static int is_typedef; -Index: linux-2.6.23.17/scripts/kallsyms.c -=================================================================== ---- linux-2.6.23.17.orig/scripts/kallsyms.c -+++ linux-2.6.23.17/scripts/kallsyms.c +--- a/scripts/kallsyms.c ++++ b/scripts/kallsyms.c @@ -28,6 +28,35 @@ #include <stdlib.h> #include <string.h> @@ -66,11 +60,9 @@ Index: linux-2.6.23.17/scripts/kallsyms.c #define KSYM_NAME_LEN 128 -Index: linux-2.6.23.17/scripts/kconfig/Makefile -=================================================================== ---- linux-2.6.23.17.orig/scripts/kconfig/Makefile -+++ linux-2.6.23.17/scripts/kconfig/Makefile -@@ -88,6 +88,9 @@ check-lxdialog := $(srctree)/$(src)/lxd +--- a/scripts/kconfig/Makefile ++++ b/scripts/kconfig/Makefile +@@ -88,6 +88,9 @@ # 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)) @@ -80,10 +72,8 @@ Index: linux-2.6.23.17/scripts/kconfig/Makefile HOST_EXTRACFLAGS += -DLOCALE -Index: linux-2.6.23.17/scripts/mod/mk_elfconfig.c -=================================================================== ---- linux-2.6.23.17.orig/scripts/mod/mk_elfconfig.c -+++ linux-2.6.23.17/scripts/mod/mk_elfconfig.c +--- a/scripts/mod/mk_elfconfig.c ++++ b/scripts/mod/mk_elfconfig.c @@ -1,7 +1,11 @@ #include <stdio.h> #include <stdlib.h> @@ -96,10 +86,8 @@ Index: linux-2.6.23.17/scripts/mod/mk_elfconfig.c int main(int argc, char **argv) -Index: linux-2.6.23.17/scripts/mod/modpost.h -=================================================================== ---- linux-2.6.23.17.orig/scripts/mod/modpost.h -+++ linux-2.6.23.17/scripts/mod/modpost.h +--- a/scripts/mod/modpost.h ++++ b/scripts/mod/modpost.h @@ -7,7 +7,11 @@ #include <sys/mman.h> #include <fcntl.h> diff --git a/target/linux/generic-2.6/patches-2.6.23/903-stddef_include.patch b/target/linux/generic-2.6/patches-2.6.23/903-stddef_include.patch index 1820540..c0c01c0 100644 --- a/target/linux/generic-2.6/patches-2.6.23/903-stddef_include.patch +++ b/target/linux/generic-2.6/patches-2.6.23/903-stddef_include.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/include/linux/stddef.h -=================================================================== ---- linux-2.6.23.17.orig/include/linux/stddef.h -+++ linux-2.6.23.17/include/linux/stddef.h -@@ -16,6 +16,7 @@ enum { +--- a/include/linux/stddef.h ++++ b/include/linux/stddef.h +@@ -16,6 +16,7 @@ false = 0, true = 1 }; @@ -10,7 +8,7 @@ Index: linux-2.6.23.17/include/linux/stddef.h #undef offsetof #ifdef __compiler_offsetof -@@ -23,6 +24,5 @@ enum { +@@ -23,6 +24,5 @@ #else #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) #endif diff --git a/target/linux/generic-2.6/patches-2.6.23/904-ls_time_locale.patch b/target/linux/generic-2.6/patches-2.6.23/904-ls_time_locale.patch index d62f8e3..401b151 100644 --- a/target/linux/generic-2.6/patches-2.6.23/904-ls_time_locale.patch +++ b/target/linux/generic-2.6/patches-2.6.23/904-ls_time_locale.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/scripts/gen_initramfs_list.sh -=================================================================== ---- linux-2.6.23.17.orig/scripts/gen_initramfs_list.sh -+++ linux-2.6.23.17/scripts/gen_initramfs_list.sh -@@ -125,7 +125,7 @@ parse() { +--- a/scripts/gen_initramfs_list.sh ++++ b/scripts/gen_initramfs_list.sh +@@ -125,7 +125,7 @@ str="${ftype} ${name} ${location} ${str}" ;; "nod") @@ -11,7 +9,7 @@ Index: linux-2.6.23.17/scripts/gen_initramfs_list.sh local maj=`field 5 ${dev}` local min=`field 6 ${dev}` maj=${maj%,} -@@ -135,7 +135,7 @@ parse() { +@@ -135,7 +135,7 @@ str="${ftype} ${name} ${str} ${dev} ${maj} ${min}" ;; "slink") diff --git a/target/linux/generic-2.6/patches-2.6.23/905-i386_build.patch b/target/linux/generic-2.6/patches-2.6.23/905-i386_build.patch index cc2e1b6..cdbe099 100644 --- a/target/linux/generic-2.6/patches-2.6.23/905-i386_build.patch +++ b/target/linux/generic-2.6/patches-2.6.23/905-i386_build.patch @@ -1,7 +1,5 @@ -Index: linux-2.6.23.17/arch/i386/boot/tools/build.c -=================================================================== ---- linux-2.6.23.17.orig/arch/i386/boot/tools/build.c -+++ linux-2.6.23.17/arch/i386/boot/tools/build.c +--- a/arch/i386/boot/tools/build.c ++++ b/arch/i386/boot/tools/build.c @@ -29,7 +29,6 @@ #include <stdarg.h> #include <sys/types.h> diff --git a/target/linux/generic-2.6/patches-2.6.23/910-arm_binutils_build_id_fix.patch b/target/linux/generic-2.6/patches-2.6.23/910-arm_binutils_build_id_fix.patch index 2900e13..440f060 100644 --- a/target/linux/generic-2.6/patches-2.6.23/910-arm_binutils_build_id_fix.patch +++ b/target/linux/generic-2.6/patches-2.6.23/910-arm_binutils_build_id_fix.patch @@ -22,10 +22,8 @@ Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> --- -Index: linux-2.6.23.17/arch/arm/Makefile -=================================================================== ---- linux-2.6.23.17.orig/arch/arm/Makefile -+++ linux-2.6.23.17/arch/arm/Makefile +--- a/arch/arm/Makefile ++++ b/arch/arm/Makefile @@ -12,7 +12,7 @@ LDFLAGS_vmlinux :=-p --no-undefined -X diff --git a/target/linux/generic-2.6/patches-2.6.23/920-gpio_dev.patch b/target/linux/generic-2.6/patches-2.6.23/920-gpio_dev.patch index 9277444..dcbfaf5 100644 --- a/target/linux/generic-2.6/patches-2.6.23/920-gpio_dev.patch +++ b/target/linux/generic-2.6/patches-2.6.23/920-gpio_dev.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/arch/arm/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/arch/arm/Kconfig -+++ linux-2.6.23.17/arch/arm/Kconfig -@@ -1039,6 +1039,8 @@ source "drivers/mfd/Kconfig" +--- a/arch/arm/Kconfig ++++ b/arch/arm/Kconfig +@@ -1039,6 +1039,8 @@ source "drivers/leds/Kconfig" @@ -11,11 +9,9 @@ Index: linux-2.6.23.17/arch/arm/Kconfig source "drivers/media/Kconfig" source "drivers/video/Kconfig" -Index: linux-2.6.23.17/drivers/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/drivers/Kconfig -+++ linux-2.6.23.17/drivers/Kconfig -@@ -76,6 +76,8 @@ source "drivers/mmc/Kconfig" +--- a/drivers/Kconfig ++++ b/drivers/Kconfig +@@ -76,6 +76,8 @@ source "drivers/leds/Kconfig" @@ -24,11 +20,9 @@ Index: linux-2.6.23.17/drivers/Kconfig source "drivers/infiniband/Kconfig" source "drivers/edac/Kconfig" -Index: linux-2.6.23.17/drivers/Makefile -=================================================================== ---- linux-2.6.23.17.orig/drivers/Makefile -+++ linux-2.6.23.17/drivers/Makefile -@@ -89,3 +89,4 @@ obj-$(CONFIG_DMA_ENGINE) += dma/ +--- a/drivers/Makefile ++++ b/drivers/Makefile +@@ -89,3 +89,4 @@ obj-$(CONFIG_HID) += hid/ obj-$(CONFIG_PPC_PS3) += ps3/ obj-$(CONFIG_OF) += of/ diff --git a/target/linux/generic-2.6/patches-2.6.23/920-ppc_big_endian_io_memory_accessors.patch b/target/linux/generic-2.6/patches-2.6.23/920-ppc_big_endian_io_memory_accessors.patch index aef1211..a3221fa 100644 --- a/target/linux/generic-2.6/patches-2.6.23/920-ppc_big_endian_io_memory_accessors.patch +++ b/target/linux/generic-2.6/patches-2.6.23/920-ppc_big_endian_io_memory_accessors.patch @@ -30,11 +30,9 @@ and didn't make it with the ppc32 equivalent. Thanks. --- -Index: linux-2.6.23.17/include/asm-ppc/io.h -=================================================================== ---- linux-2.6.23.17.orig/include/asm-ppc/io.h -+++ linux-2.6.23.17/include/asm-ppc/io.h -@@ -453,11 +453,21 @@ static inline unsigned int ioread16(void +--- a/include/asm-ppc/io.h ++++ b/include/asm-ppc/io.h +@@ -453,11 +453,21 @@ return readw(addr); } @@ -56,7 +54,7 @@ Index: linux-2.6.23.17/include/asm-ppc/io.h static inline void iowrite8(u8 val, void __iomem *addr) { writeb(val, addr); -@@ -468,11 +478,21 @@ static inline void iowrite16(u16 val, vo +@@ -468,11 +478,21 @@ writew(val, addr); } diff --git a/target/linux/generic-2.6/patches-2.6.23/921-gpio_spi_driver.patch b/target/linux/generic-2.6/patches-2.6.23/921-gpio_spi_driver.patch index 9a3ac15..eeb7285 100644 --- a/target/linux/generic-2.6/patches-2.6.23/921-gpio_spi_driver.patch +++ b/target/linux/generic-2.6/patches-2.6.23/921-gpio_spi_driver.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/drivers/spi/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/drivers/spi/Kconfig -+++ linux-2.6.23.17/drivers/spi/Kconfig -@@ -100,6 +100,11 @@ config SPI_BUTTERFLY +--- a/drivers/spi/Kconfig ++++ b/drivers/spi/Kconfig +@@ -100,6 +100,11 @@ inexpensive battery powered microcontroller evaluation board. This same cable can be used to flash new firmware. @@ -14,11 +12,9 @@ Index: linux-2.6.23.17/drivers/spi/Kconfig config SPI_IMX tristate "Freescale iMX SPI controller" depends on SPI_MASTER && ARCH_IMX && EXPERIMENTAL -Index: linux-2.6.23.17/drivers/spi/Makefile -=================================================================== ---- linux-2.6.23.17.orig/drivers/spi/Makefile -+++ linux-2.6.23.17/drivers/spi/Makefile -@@ -16,6 +16,7 @@ obj-$(CONFIG_SPI_BFIN) += spi_bfin5xx. +--- a/drivers/spi/Makefile ++++ b/drivers/spi/Makefile +@@ -16,6 +16,7 @@ obj-$(CONFIG_SPI_BITBANG) += spi_bitbang.o obj-$(CONFIG_SPI_AU1550) += au1550_spi.o obj-$(CONFIG_SPI_BUTTERFLY) += spi_butterfly.o diff --git a/target/linux/generic-2.6/patches-2.6.23/922-w1_gpio_driver_backport.patch b/target/linux/generic-2.6/patches-2.6.23/922-w1_gpio_driver_backport.patch index 4a66308..fa2f38e 100644 --- a/target/linux/generic-2.6/patches-2.6.23/922-w1_gpio_driver_backport.patch +++ b/target/linux/generic-2.6/patches-2.6.23/922-w1_gpio_driver_backport.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/drivers/w1/masters/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/drivers/w1/masters/Kconfig -+++ linux-2.6.23.17/drivers/w1/masters/Kconfig -@@ -42,5 +42,15 @@ config W1_MASTER_DS1WM +--- a/drivers/w1/masters/Kconfig ++++ b/drivers/w1/masters/Kconfig +@@ -42,5 +42,15 @@ in HP iPAQ devices like h5xxx, h2200, and ASIC3-based like hx4700. @@ -18,19 +16,15 @@ Index: linux-2.6.23.17/drivers/w1/masters/Kconfig + endmenu -Index: linux-2.6.23.17/drivers/w1/masters/Makefile -=================================================================== ---- linux-2.6.23.17.orig/drivers/w1/masters/Makefile -+++ linux-2.6.23.17/drivers/w1/masters/Makefile -@@ -6,3 +6,4 @@ obj-$(CONFIG_W1_MASTER_MATROX) += matro +--- a/drivers/w1/masters/Makefile ++++ b/drivers/w1/masters/Makefile +@@ -6,3 +6,4 @@ obj-$(CONFIG_W1_MASTER_DS2490) += ds2490.o obj-$(CONFIG_W1_MASTER_DS2482) += ds2482.o obj-$(CONFIG_W1_MASTER_DS1WM) += ds1wm.o +obj-$(CONFIG_W1_MASTER_GPIO) += w1-gpio.o -Index: linux-2.6.23.17/drivers/w1/masters/w1-gpio.c -=================================================================== --- /dev/null -+++ linux-2.6.23.17/drivers/w1/masters/w1-gpio.c ++++ b/drivers/w1/masters/w1-gpio.c @@ -0,0 +1,124 @@ +/* + * w1-gpio - GPIO w1 bus master driver @@ -156,10 +150,8 @@ Index: linux-2.6.23.17/drivers/w1/masters/w1-gpio.c +MODULE_DESCRIPTION("GPIO w1 bus master driver"); +MODULE_AUTHOR("Ville Syrjala <syrjala@sci.fi>"); +MODULE_LICENSE("GPL"); -Index: linux-2.6.23.17/include/linux/w1-gpio.h -=================================================================== --- /dev/null -+++ linux-2.6.23.17/include/linux/w1-gpio.h ++++ b/include/linux/w1-gpio.h @@ -0,0 +1,23 @@ +/* + * w1-gpio interface to platform code diff --git a/target/linux/generic-2.6/patches-2.6.23/930-ssb_fixes.patch b/target/linux/generic-2.6/patches-2.6.23/930-ssb_fixes.patch index 6658d2b..d889a7a 100644 --- a/target/linux/generic-2.6/patches-2.6.23/930-ssb_fixes.patch +++ b/target/linux/generic-2.6/patches-2.6.23/930-ssb_fixes.patch @@ -1,20 +1,16 @@ This patch ports ssb to the 2.6.23 kernel. -Index: linux-2.6.23.17/drivers/ssb/driver_mipscore.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/ssb/driver_mipscore.c -+++ linux-2.6.23.17/drivers/ssb/driver_mipscore.c -@@ -223,3 +223,5 @@ void ssb_mipscore_init(struct ssb_mipsco +--- a/drivers/ssb/driver_mipscore.c ++++ b/drivers/ssb/driver_mipscore.c +@@ -223,3 +223,5 @@ ssb_mips_serial_init(mcore); ssb_mips_flash_detect(mcore); } + +EXPORT_SYMBOL(ssb_mips_irq); -Index: linux-2.6.23.17/include/linux/mod_devicetable.h -=================================================================== ---- linux-2.6.23.17.orig/include/linux/mod_devicetable.h -+++ linux-2.6.23.17/include/linux/mod_devicetable.h -@@ -352,4 +352,19 @@ struct parisc_device_id { +--- a/include/linux/mod_devicetable.h ++++ b/include/linux/mod_devicetable.h +@@ -352,4 +352,19 @@ #define PA_HVERSION_ANY_ID 0xffff #define PA_SVERSION_ANY_ID 0xffffffff @@ -34,11 +30,9 @@ Index: linux-2.6.23.17/include/linux/mod_devicetable.h +#define SSB_ANY_REV 0xFF + #endif /* LINUX_MOD_DEVICETABLE_H */ -Index: linux-2.6.23.17/drivers/ssb/main.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/ssb/main.c -+++ linux-2.6.23.17/drivers/ssb/main.c -@@ -321,14 +321,16 @@ static int ssb_bus_match(struct device * +--- a/drivers/ssb/main.c ++++ b/drivers/ssb/main.c +@@ -321,14 +321,16 @@ return 0; } @@ -57,11 +51,9 @@ Index: linux-2.6.23.17/drivers/ssb/main.c "MODALIAS=ssb:v%04Xid%04Xrev%02X", ssb_dev->id.vendor, ssb_dev->id.coreid, ssb_dev->id.revision); -Index: linux-2.6.23.17/drivers/ssb/scan.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/ssb/scan.c -+++ linux-2.6.23.17/drivers/ssb/scan.c -@@ -391,12 +391,14 @@ int ssb_bus_scan(struct ssb_bus *bus, +--- a/drivers/ssb/scan.c ++++ b/drivers/ssb/scan.c +@@ -391,12 +391,14 @@ if (bus->bustype == SSB_BUSTYPE_PCI) { /* Ignore PCI cores on PCI-E cards. * Ignore PCI-E cores on PCI cards. */ @@ -80,11 +72,9 @@ Index: linux-2.6.23.17/drivers/ssb/scan.c } } if (bus->pcicore.dev) { -Index: linux-2.6.23.17/drivers/ssb/driver_pcicore.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/ssb/driver_pcicore.c -+++ linux-2.6.23.17/drivers/ssb/driver_pcicore.c -@@ -362,7 +362,7 @@ static int pcicore_is_in_hostmode(struct +--- a/drivers/ssb/driver_pcicore.c ++++ b/drivers/ssb/driver_pcicore.c +@@ -362,7 +362,7 @@ chipid_top != 0x5300) return 0; |