From ac85de1ef442ad781833a7f20e562581ba7a62d4 Mon Sep 17 00:00:00 2001 From: juhosg Date: Sun, 8 Feb 2009 19:11:53 +0000 Subject: [PATCH] [kernel] generic-2.6/2.6.23: refresh patches git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14448 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../patches-2.6.23/001-squashfs.patch | 12 +- .../patches-2.6.23/002-lzma_decompress.patch | 4 +- .../patches-2.6.23/003-squashfs_lzma.patch | 10 +- .../004-extra_optimization.patch | 2 +- .../patches-2.6.23/006-gcc4_inline_fix.patch | 2 +- .../patches-2.6.23/007-samsung_flash.patch | 2 +- .../009-revert_intel_flash_breakage.patch | 16 +- .../patches-2.6.23/012-mips_cpu_tlb.patch | 4 +- .../patches-2.6.23/013-mips_gdb_stub.patch | 4 +- .../patches-2.6.23/060-block2mtd_init.patch | 14 +- .../patches-2.6.23/065-rootfs_split.patch | 44 ++-- .../patches-2.6.23/070-redboot_space.patch | 2 +- .../080-mtd_plat_nand_chip_fixup.patch | 4 +- .../100-netfilter_layer7_2.17.patch | 10 +- .../101-netfilter_layer7_pktmatch.patch | 10 +- .../patches-2.6.23/110-ipp2p_0.8.1rc1.patch | 4 +- .../120-openswan-2.4.0.kernel-2.6-natt.patch | 8 +- .../patches-2.6.23/130-netfilter_ipset.patch | 10 +- .../patches-2.6.23/140-netfilter_time.patch | 4 +- .../patches-2.6.23/150-netfilter_imq.patch | 22 +- .../patches-2.6.23/160-netfilter_route.patch | 10 +- .../170-netfilter_chaostables_0.8.patch | 14 +- .../patches-2.6.23/171-netfilter_tarpit.patch | 4 +- .../180-netfilter_depends.patch | 4 +- .../patches-2.6.23/190-netfilter_rtsp.patch | 8 +- .../patches-2.6.23/200-sched_esfq.patch | 6 +- .../201-multiple_default_gateways.patch | 56 ++-- .../202-mips-freestanding.patch | 2 +- .../patches-2.6.23/204-jffs2_eofdetect.patch | 6 +- .../patches-2.6.23/208-rtl8110sb_fix.patch | 8 +- .../patches-2.6.23/209-mini_fo.patch | 4 +- .../210-mac80211_include_wireless_dev.patch | 36 +-- .../patches-2.6.23/213-kobject_uevent.patch | 4 +- .../patches-2.6.23/220-sound_kconfig.patch | 2 +- .../patches-2.6.23/230-pps_support.patch | 38 +-- .../300-add-mmc-spi-driver.patch | 242 +++++++++--------- .../patches-2.6.23/301-mmc_sdhci_fixes.patch | 24 +- .../patches-2.6.23/400-ledtrig_morse.patch | 4 +- .../patches-2.6.23/401-led_alix.patch | 4 +- .../402-ledtrig_default_on.patch | 4 +- .../patches-2.6.23/403-ledtrig_netdev.patch | 4 +- .../patches-2.6.23/410-gpio_buttons.patch | 4 +- .../patches-2.6.23/420-gpiodev.patch | 4 +- .../patches-2.6.23/510-yaffs_support.patch | 4 +- .../patches-2.6.23/600-phy_extension.patch | 4 +- .../patches-2.6.23/610-phy_detect.patch | 4 +- .../patches-2.6.23/620-phy_adm6996.patch | 4 +- .../patches-2.6.23/630-phy_packets.patch | 8 +- .../patches-2.6.23/640-mvswitch.patch | 6 +- .../700-unable_to_open_console.patch | 2 +- .../801-usb_serial_endpoint_size.patch | 6 +- .../900-headers_type_and_time.patch | 4 +- .../902-darwin_scripts_include.patch | 2 +- .../patches-2.6.23/903-stddef_include.patch | 4 +- .../patches-2.6.23/904-ls_time_locale.patch | 4 +- ...0-ppc_big_endian_io_memory_accessors.patch | 4 +- .../patches-2.6.23/921-gpio_spi_driver.patch | 4 +- .../922-w1_gpio_driver_backport.patch | 4 +- .../patches-2.6.23/930-ssb_fixes.patch | 10 +- 59 files changed, 377 insertions(+), 377 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 6fa0f0cc7..9bedea380 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,6 +1,6 @@ --- a/fs/Kconfig +++ b/fs/Kconfig -@@ -1364,6 +1364,71 @@ +@@ -1364,6 +1364,71 @@ config CRAMFS If unsure, say N. @@ -74,7 +74,7 @@ depends on BLOCK --- a/fs/Makefile +++ b/fs/Makefile -@@ -72,6 +72,7 @@ +@@ -72,6 +72,7 @@ obj-$(CONFIG_JBD) += jbd/ obj-$(CONFIG_JBD2) += jbd2/ obj-$(CONFIG_EXT2_FS) += ext2/ obj-$(CONFIG_CRAMFS) += cramfs/ @@ -4128,7 +4128,7 @@ #include #include -@@ -39,6 +40,7 @@ +@@ -39,6 +40,7 @@ static int __init crd_load(int in_fd, in * numbers could not be found. * * We currently check for the following magic numbers: @@ -4136,7 +4136,7 @@ * minix * ext2 * romfs -@@ -53,6 +55,7 @@ +@@ -53,6 +55,7 @@ identify_ramdisk_image(int fd, int start struct ext2_super_block *ext2sb; struct romfs_super_block *romfsb; struct cramfs_super *cramfsb; @@ -4144,7 +4144,7 @@ int nblocks = -1; unsigned char *buf; -@@ -64,6 +67,7 @@ +@@ -64,6 +67,7 @@ identify_ramdisk_image(int fd, int start ext2sb = (struct ext2_super_block *) buf; romfsb = (struct romfs_super_block *) buf; cramfsb = (struct cramfs_super *) buf; @@ -4152,7 +4152,7 @@ memset(buf, 0xe5, size); /* -@@ -101,6 +105,15 @@ +@@ -101,6 +105,15 @@ identify_ramdisk_image(int fd, int start 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 d6c7e311e..f69bcbc91 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 @@ -769,7 +769,7 @@ +} --- a/lib/Makefile +++ b/lib/Makefile -@@ -13,7 +13,7 @@ +@@ -13,7 +13,7 @@ lib-$(CONFIG_SMP) += cpumask.o 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 \ @@ -778,7 +778,7 @@ ifeq ($(CONFIG_DEBUG_KOBJECT),y) CFLAGS_kobject.o += -DDEBUG -@@ -62,6 +62,7 @@ +@@ -62,6 +62,7 @@ obj-$(CONFIG_SMP) += percpu_counter.o 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 16cc87319..9050e370c 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 @@ -38,7 +38,7 @@ 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 @@ +@@ -64,7 +81,11 @@ static int squashfs_get_sb(struct file_s const char *, void *, struct vfsmount *); @@ -50,7 +50,7 @@ static struct file_system_type squashfs_fs_type = { .owner = THIS_MODULE, -@@ -249,6 +270,15 @@ +@@ -249,6 +270,15 @@ SQSH_EXTERN unsigned int squashfs_read_d if (compressed) { int zlib_err; @@ -66,7 +66,7 @@ stream.next_in = c_buffer; stream.avail_in = c_byte; stream.next_out = buffer; -@@ -263,7 +293,7 @@ +@@ -263,7 +293,7 @@ SQSH_EXTERN unsigned int squashfs_read_d bytes = 0; } else bytes = stream.total_out; @@ -75,7 +75,7 @@ up(&msblk->read_data_mutex); } -@@ -2045,15 +2075,19 @@ +@@ -2045,15 +2075,19 @@ static int __init init_squashfs_fs(void) printk(KERN_INFO "squashfs: version 3.0 (2006/03/15) " "Phillip Lougher\n"); @@ -95,7 +95,7 @@ destroy_inodecache(); } -@@ -2064,7 +2098,9 @@ +@@ -2064,7 +2098,9 @@ out: 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 7ee86d4bb..68c75c260 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,6 +1,6 @@ --- a/Makefile +++ b/Makefile -@@ -508,6 +508,9 @@ +@@ -508,6 +508,9 @@ CFLAGS += $(call cc-option, -fn 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 fac27e8a5..9d19406dd 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,6 +1,6 @@ --- a/include/asm-mips/system.h +++ b/include/asm-mips/system.h -@@ -181,7 +181,7 @@ +@@ -181,7 +181,7 @@ extern __u64 __xchg_u64_unsupported_on_3 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 335ffd9f9..1d679e009 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 @@ -8,7 +8,7 @@ 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 @@ +@@ -294,12 +295,19 @@ struct mtd_info *cfi_cmdset_0002(struct 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 51b84a745..6f84835d7 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,6 +1,6 @@ --- a/drivers/mtd/chips/cfi_cmdset_0001.c +++ b/drivers/mtd/chips/cfi_cmdset_0001.c -@@ -933,7 +933,7 @@ +@@ -933,7 +933,7 @@ static void __xipram xip_enable(struct m static int __xipram xip_wait_for_operation( struct map_info *map, struct flchip *chip, @@ -9,7 +9,7 @@ { struct cfi_private *cfi = map->fldrv_priv; struct cfi_pri_intelext *cfip = cfi->cmdset_priv; -@@ -942,7 +942,7 @@ +@@ -942,7 +942,7 @@ static int __xipram xip_wait_for_operati flstate_t oldstate, newstate; start = xip_currtime(); @@ -18,7 +18,7 @@ if (usec == 0) usec = 500000; done = 0; -@@ -1052,8 +1052,8 @@ +@@ -1052,8 +1052,8 @@ static int __xipram xip_wait_for_operati #define XIP_INVAL_CACHED_RANGE(map, from, size) \ INVALIDATE_CACHED_RANGE(map, from, size) @@ -29,7 +29,7 @@ #else -@@ -1065,65 +1065,65 @@ +@@ -1065,65 +1065,65 @@ static int __xipram xip_wait_for_operati 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, @@ -130,7 +130,7 @@ /* Done and happy. */ chip->state = FL_STATUS; return 0; -@@ -1132,7 +1132,8 @@ +@@ -1132,7 +1132,8 @@ static int inval_cache_and_wait_for_oper #endif #define WAIT_TIMEOUT(map, chip, adr, udelay) \ @@ -140,7 +140,7 @@ static int do_point_onechip (struct map_info *map, struct flchip *chip, loff_t adr, size_t len) -@@ -1356,7 +1357,7 @@ +@@ -1356,7 +1357,7 @@ static int __xipram do_write_oneword(str ret = INVAL_CACHE_AND_WAIT(map, chip, adr, adr, map_bankwidth(map), @@ -149,7 +149,7 @@ if (ret) { xip_enable(map, chip, adr); printk(KERN_ERR "%s: word write error (status timeout)\n", map->name); -@@ -1593,7 +1594,7 @@ +@@ -1593,7 +1594,7 @@ static int __xipram do_write_buffer(stru ret = INVAL_CACHE_AND_WAIT(map, chip, cmd_adr, adr, len, @@ -158,7 +158,7 @@ if (ret) { map_write(map, CMD(0x70), cmd_adr); chip->state = FL_STATUS; -@@ -1728,7 +1729,7 @@ +@@ -1728,7 +1729,7 @@ static int __xipram do_erase_oneblock(st ret = INVAL_CACHE_AND_WAIT(map, chip, adr, adr, len, 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 b750df754..7d89fe493 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,6 +1,6 @@ --- a/arch/mips/mm/tlbex.c +++ b/arch/mips/mm/tlbex.c -@@ -902,7 +902,6 @@ +@@ -902,7 +902,6 @@ static __init void build_tlb_write_entry case CPU_R10000: case CPU_R12000: case CPU_R14000: @@ -8,7 +8,7 @@ case CPU_SB1: case CPU_SB1A: case CPU_4KSC: -@@ -933,6 +932,7 @@ +@@ -933,6 +932,7 @@ static __init void build_tlb_write_entry 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 b50a0dedc..877fe9bd3 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,6 +1,6 @@ --- a/arch/mips/kernel/gdb-stub.c +++ b/arch/mips/kernel/gdb-stub.c -@@ -656,6 +656,7 @@ +@@ -656,6 +656,7 @@ void set_async_breakpoint(unsigned long *epc = (unsigned long)async_breakpoint; } @@ -8,7 +8,7 @@ static void kgdb_wait(void *arg) { unsigned flags; -@@ -668,6 +669,7 @@ +@@ -668,6 +669,7 @@ static void kgdb_wait(void *arg) 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 e92499faf..fff857fdf 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 @@ -8,7 +8,7 @@ #include #include #include -@@ -237,10 +238,11 @@ +@@ -237,10 +238,11 @@ static void block2mtd_free_device(struct /* FIXME: ensure that mtd->size % erase_size == 0 */ @@ -21,7 +21,7 @@ if (!devname) return NULL; -@@ -279,14 +281,18 @@ +@@ -279,14 +281,18 @@ static struct block2mtd_dev *add_device( /* Setup the MTD structure */ /* make the name contain the block device in */ @@ -45,7 +45,7 @@ dev->mtd.erasesize = erase_size; dev->mtd.writesize = 1; dev->mtd.type = MTD_RAM; -@@ -298,15 +304,18 @@ +@@ -298,15 +304,18 @@ static struct block2mtd_dev *add_device( dev->mtd.read = block2mtd_read; dev->mtd.priv = dev; dev->mtd.owner = THIS_MODULE; @@ -68,7 +68,7 @@ return dev; devinit_err: -@@ -379,9 +388,9 @@ +@@ -379,9 +388,9 @@ static char block2mtd_paramline[80 + 12] static int block2mtd_setup2(const char *val) { @@ -80,7 +80,7 @@ char *name; size_t erase_size = PAGE_SIZE; int i, ret; -@@ -392,7 +401,7 @@ +@@ -392,7 +401,7 @@ static int block2mtd_setup2(const char * strcpy(str, val); kill_final_newline(str); @@ -89,7 +89,7 @@ token[i] = strsep(&str, ","); if (str) -@@ -412,8 +421,10 @@ +@@ -412,8 +421,10 @@ static int block2mtd_setup2(const char * parse_err("illegal erase size"); } } @@ -101,7 +101,7 @@ return 0; } -@@ -447,7 +458,7 @@ +@@ -447,7 +458,7 @@ static int block2mtd_setup(const char *v 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 7be0911c3..f308525bd 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,6 +1,6 @@ --- a/drivers/mtd/Kconfig +++ b/drivers/mtd/Kconfig -@@ -47,6 +47,16 @@ +@@ -47,6 +47,16 @@ config MTD_PARTITIONS devices. Partitioning on NFTL 'devices' is a different - that's the 'normal' form of partitioning used on a block device. @@ -28,7 +28,7 @@ /* Our partition linked list */ static LIST_HEAD(mtd_partitions); -@@ -39,7 +41,7 @@ +@@ -39,7 +41,7 @@ struct mtd_part { * the pointer to that structure with this macro. */ #define PART(x) ((struct mtd_part *)(x)) @@ -37,7 +37,7 @@ /* * MTD methods which simply translate the effective address and pass through -@@ -308,6 +310,312 @@ +@@ -308,6 +310,312 @@ int del_mtd_partitions(struct mtd_info * return 0; } @@ -350,7 +350,7 @@ /* * 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 @@ +@@ -320,168 +628,31 @@ int add_mtd_partitions(struct mtd_info * int nbparts) { struct mtd_part *slave; @@ -540,7 +540,7 @@ } } -@@ -557,6 +728,32 @@ +@@ -557,6 +728,32 @@ int parse_mtd_partitions(struct mtd_info return ret; } @@ -575,7 +575,7 @@ EXPORT_SYMBOL_GPL(deregister_mtd_parser); --- a/drivers/mtd/devices/block2mtd.c +++ b/drivers/mtd/devices/block2mtd.c -@@ -34,6 +34,8 @@ +@@ -34,6 +34,8 @@ struct block2mtd_dev { struct block_device *blkdev; struct mtd_info mtd; struct mutex write_mutex; @@ -584,7 +584,7 @@ }; -@@ -86,6 +88,12 @@ +@@ -86,6 +88,12 @@ static int block2mtd_erase(struct mtd_in size_t len = instr->len; int err; @@ -597,7 +597,7 @@ instr->state = MTD_ERASING; mutex_lock(&dev->write_mutex); err = _block2mtd_erase(dev, from, len); -@@ -98,6 +106,10 @@ +@@ -98,6 +106,10 @@ static int block2mtd_erase(struct mtd_in instr->state = MTD_ERASE_DONE; mtd_erase_callback(instr); @@ -608,7 +608,7 @@ return err; } -@@ -109,10 +121,14 @@ +@@ -109,10 +121,14 @@ static int block2mtd_read(struct mtd_inf struct page *page; int index = from >> PAGE_SHIFT; int offset = from & (PAGE_SIZE-1); @@ -626,7 +626,7 @@ if (from + len > mtd->size) len = mtd->size - from; -@@ -127,10 +143,14 @@ +@@ -127,10 +143,14 @@ static int block2mtd_read(struct mtd_inf len = len - cpylen; page = page_read(dev->blkdev->bd_inode->i_mapping, index); @@ -645,7 +645,7 @@ memcpy(buf, page_address(page) + offset, cpylen); page_cache_release(page); -@@ -141,7 +161,10 @@ +@@ -141,7 +161,10 @@ static int block2mtd_read(struct mtd_inf offset = 0; index++; } @@ -657,7 +657,7 @@ } -@@ -193,12 +216,22 @@ +@@ -193,12 +216,22 @@ static int block2mtd_write(struct mtd_in size_t *retlen, const u_char *buf) { struct block2mtd_dev *dev = mtd->priv; @@ -684,7 +684,7 @@ if (to + len > mtd->size) len = mtd->size - to; -@@ -207,6 +240,9 @@ +@@ -207,6 +240,9 @@ static int block2mtd_write(struct mtd_in mutex_unlock(&dev->write_mutex); if (err > 0) err = 0; @@ -694,7 +694,7 @@ return err; } -@@ -215,51 +251,29 @@ +@@ -215,51 +251,29 @@ static int block2mtd_write(struct mtd_in static void block2mtd_sync(struct mtd_info *mtd) { struct block2mtd_dev *dev = mtd->priv; @@ -754,7 +754,7 @@ if (devt) { bdev = open_by_devnum(devt, FMODE_WRITE | FMODE_READ); } -@@ -267,17 +281,96 @@ +@@ -267,17 +281,96 @@ static struct block2mtd_dev *add_device( #endif if (IS_ERR(bdev)) { @@ -854,7 +854,7 @@ /* Setup the MTD structure */ /* make the name contain the block device in */ -@@ -304,6 +397,7 @@ +@@ -304,6 +397,7 @@ static struct block2mtd_dev *add_device( dev->mtd.read = block2mtd_read; dev->mtd.priv = dev; dev->mtd.owner = THIS_MODULE; @@ -872,7 +872,7 @@ #include -@@ -753,6 +754,13 @@ +@@ -753,6 +754,13 @@ static int mtd_ioctl(struct inode *inode file->f_pos = 0; break; } @@ -888,7 +888,7 @@ ret = -ENOTTY; --- a/include/linux/mtd/mtd.h +++ b/include/linux/mtd/mtd.h -@@ -98,6 +98,7 @@ +@@ -98,6 +98,7 @@ struct mtd_oob_ops { uint8_t *oobbuf; }; @@ -896,7 +896,7 @@ struct mtd_info { u_char type; u_int32_t flags; -@@ -195,6 +196,9 @@ +@@ -195,6 +196,9 @@ struct mtd_info { struct module *owner; int usecount; @@ -916,7 +916,7 @@ struct mtd_partition { char *name; /* identifier string */ u_int32_t size; /* partition size */ -@@ -43,6 +44,7 @@ +@@ -43,6 +44,7 @@ struct mtd_partition { 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 */ @@ -924,7 +924,7 @@ }; #define MTDPART_OFS_NXTBLK (-2) -@@ -52,6 +54,7 @@ +@@ -52,6 +54,7 @@ struct mtd_partition { int add_mtd_partitions(struct mtd_info *, const struct mtd_partition *, int); int del_mtd_partitions(struct mtd_info *); @@ -934,7 +934,7 @@ * Functions dealing with the various ways of partitioning the space --- a/include/mtd/mtd-abi.h +++ b/include/mtd/mtd-abi.h -@@ -95,6 +95,7 @@ +@@ -95,6 +95,7 @@ struct otp_info { #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 b4d57cb53..940536dff 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,6 +1,6 @@ --- a/drivers/mtd/redboot.c +++ b/drivers/mtd/redboot.c -@@ -236,14 +236,21 @@ +@@ -236,14 +236,21 @@ static int parse_redboot_partitions(stru #endif names += strlen(names)+1; diff --git a/target/linux/generic-2.6/patches-2.6.23/080-mtd_plat_nand_chip_fixup.patch b/target/linux/generic-2.6/patches-2.6.23/080-mtd_plat_nand_chip_fixup.patch index 4653898cb..ddd9033d0 100644 --- a/target/linux/generic-2.6/patches-2.6.23/080-mtd_plat_nand_chip_fixup.patch +++ b/target/linux/generic-2.6/patches-2.6.23/080-mtd_plat_nand_chip_fixup.patch @@ -1,6 +1,6 @@ --- a/include/linux/mtd/nand.h +++ b/include/linux/mtd/nand.h -@@ -572,6 +572,7 @@ +@@ -572,6 +572,7 @@ struct platform_nand_chip { int chip_delay; unsigned int options; const char **part_probe_types; @@ -10,7 +10,7 @@ --- a/drivers/mtd/nand/plat_nand.c +++ b/drivers/mtd/nand/plat_nand.c -@@ -70,7 +70,18 @@ +@@ -70,7 +70,18 @@ static int __init plat_nand_probe(struct platform_set_drvdata(pdev, data); /* Scan to find existance of the device */ 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 d94fd3c0c..eb9e4f7bb 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,6 +1,6 @@ --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -633,6 +633,27 @@ +@@ -633,6 +633,27 @@ config NETFILTER_XT_MATCH_STATE To compile it as a module, choose M here. If unsure, say N. @@ -30,7 +30,7 @@ depends on NETFILTER_XTABLES --- a/net/netfilter/Makefile +++ b/net/netfilter/Makefile -@@ -71,6 +71,7 @@ +@@ -71,6 +71,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_QUOTA) + 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 @@ -2027,7 +2027,7 @@ +} --- a/net/netfilter/nf_conntrack_core.c +++ b/net/netfilter/nf_conntrack_core.c -@@ -207,6 +207,14 @@ +@@ -207,6 +207,14 @@ destroy_conntrack(struct nf_conntrack *n * too. */ nf_ct_remove_expectations(ct); @@ -2044,7 +2044,7 @@ BUG_ON(hlist_unhashed(&ct->tuplehash[IP_CT_DIR_ORIGINAL].hnode)); --- a/net/netfilter/nf_conntrack_standalone.c +++ b/net/netfilter/nf_conntrack_standalone.c -@@ -179,7 +179,12 @@ +@@ -179,7 +179,12 @@ static int ct_seq_show(struct seq_file * return -ENOSPC; #endif @@ -2060,7 +2060,7 @@ return 0; --- a/include/net/netfilter/nf_conntrack.h +++ b/include/net/netfilter/nf_conntrack.h -@@ -127,6 +127,22 @@ +@@ -127,6 +127,22 @@ struct nf_conn u_int32_t secmark; #endif 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 167d578cf..be2dff8e1 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,6 +1,6 @@ --- a/include/linux/netfilter/xt_layer7.h +++ b/include/linux/netfilter/xt_layer7.h -@@ -8,6 +8,7 @@ +@@ -8,6 +8,7 @@ struct xt_layer7_info { char protocol[MAX_PROTOCOL_LEN]; char pattern[MAX_PATTERN_LEN]; u_int8_t invert; @@ -10,7 +10,7 @@ #endif /* _XT_LAYER7_H */ --- a/net/netfilter/xt_layer7.c +++ b/net/netfilter/xt_layer7.c -@@ -297,34 +297,36 @@ +@@ -297,34 +297,36 @@ static int match_no_append(struct nf_con } /* add the new app data to the conntrack. Return number of bytes added. */ @@ -61,7 +61,7 @@ return length; } -@@ -411,7 +413,7 @@ +@@ -411,7 +413,7 @@ match(const struct sk_buff *skbin, const struct xt_layer7_info * info = matchinfo; enum ip_conntrack_info master_ctinfo, ctinfo; struct nf_conn *master_conntrack, *conntrack; @@ -70,7 +70,7 @@ unsigned int pattern_result, appdatalen; regexp * comppattern; -@@ -439,8 +441,8 @@ +@@ -439,8 +441,8 @@ match(const struct sk_buff *skbin, master_conntrack = master_ct(master_conntrack); /* if we've classified it or seen too many packets */ @@ -81,7 +81,7 @@ pattern_result = match_no_append(conntrack, master_conntrack, ctinfo, master_ctinfo, info); -@@ -473,6 +475,25 @@ +@@ -473,6 +475,25 @@ match(const struct sk_buff *skbin, /* 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 88e27a3d0..b1483b02e 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 @@ -893,7 +893,7 @@ + --- a/net/ipv4/netfilter/Kconfig +++ b/net/ipv4/netfilter/Kconfig -@@ -63,6 +63,12 @@ +@@ -63,6 +63,12 @@ config IP_NF_MATCH_IPRANGE To compile it as a module, choose M here. If unsure, say N. @@ -908,7 +908,7 @@ depends on IP_NF_IPTABLES --- a/net/ipv4/netfilter/Makefile +++ b/net/ipv4/netfilter/Makefile -@@ -50,6 +50,8 @@ +@@ -50,6 +50,8 @@ obj-$(CONFIG_IP_NF_MATCH_AH) += ipt_ah.o 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 71b737702..f29b351bd 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 @@ -13,7 +13,7 @@ +extern int udp4_unregister_esp_rcvencap(xfrm4_rcv_encap_t func); --- a/net/ipv4/Kconfig +++ b/net/ipv4/Kconfig -@@ -224,6 +224,12 @@ +@@ -224,6 +224,12 @@ config NET_IPGRE_BROADCAST Network), but can be distributed all over the Internet. If you want to do that, say Y here and to "IP multicast routing" below. @@ -36,7 +36,7 @@ static int xfrm4_parse_spi(struct sk_buff *skb, u8 nexthdr, __be32 *spi, __be32 *seq) { -@@ -161,6 +162,29 @@ +@@ -161,6 +162,29 @@ drop: return 0; } @@ -66,7 +66,7 @@ /* 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 @@ +@@ -251,7 +275,13 @@ int xfrm4_udp_encap_rcv(struct sock *sk, iph->protocol = IPPROTO_ESP; /* process ESP */ @@ -80,7 +80,7 @@ return ret; drop: -@@ -265,3 +295,8 @@ +@@ -265,3 +295,8 @@ int xfrm4_rcv(struct sk_buff *skb) } 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 aa3946681..51144746c 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,7 @@ --- a/include/linux/netfilter_ipv4/Kbuild +++ b/include/linux/netfilter_ipv4/Kbuild -@@ -45,3 +45,14 @@ - +@@ -45,3 +45,14 @@ header-y += ipt_ULOG.h + unifdef-y += ip_queue.h unifdef-y += ip_tables.h + @@ -7527,7 +7527,7 @@ +module_exit(ipt_SET_fini); --- a/net/ipv4/netfilter/Kconfig +++ b/net/ipv4/netfilter/Kconfig -@@ -408,5 +408,122 @@ +@@ -408,5 +408,122 @@ config IP_NF_ARP_MANGLE Allows altering the ARP packet payload: source and destination hardware and network addresses. @@ -7652,7 +7652,7 @@ --- a/net/ipv4/netfilter/Makefile +++ b/net/ipv4/netfilter/Makefile -@@ -48,6 +48,7 @@ +@@ -48,6 +48,7 @@ obj-$(CONFIG_IP_NF_MATCH_RECENT) += ipt_ 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 @@ -7660,7 +7660,7 @@ obj-$(CONFIG_IP_NF_MATCH_ADDRTYPE) += ipt_addrtype.o obj-$(CONFIG_IP_NF_MATCH_IPP2P) += ipt_ipp2p.o -@@ -64,6 +65,18 @@ +@@ -64,6 +65,18 @@ obj-$(CONFIG_IP_NF_TARGET_LOG) += ipt_LO 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 033b2414d..4080d2669 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 @@ -204,7 +204,7 @@ +} --- a/net/ipv4/netfilter/Kconfig +++ b/net/ipv4/netfilter/Kconfig -@@ -78,6 +78,22 @@ +@@ -78,6 +78,22 @@ config IP_NF_MATCH_TOS To compile it as a module, choose M here. If unsure, say N. @@ -229,7 +229,7 @@ depends on IP_NF_IPTABLES --- a/net/ipv4/netfilter/Makefile +++ b/net/ipv4/netfilter/Makefile -@@ -44,6 +44,7 @@ +@@ -44,6 +44,7 @@ obj-$(CONFIG_IP_NF_RAW) += iptable_raw.o 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 ad149cfcf..da2dfae23 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 @@ -403,7 +403,7 @@ +MODULE_LICENSE("GPL"); --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig -@@ -112,6 +112,129 @@ +@@ -112,6 +112,129 @@ config EQUALIZER To compile this driver as a module, choose M here: the module will be called eql. If unsure, say N. @@ -535,7 +535,7 @@ select CRC32 --- a/drivers/net/Makefile +++ b/drivers/net/Makefile -@@ -131,6 +131,7 @@ +@@ -131,6 +131,7 @@ obj-$(CONFIG_SLHC) += slhc.o obj-$(CONFIG_XEN_NETDEV_FRONTEND) += xen-netfront.o obj-$(CONFIG_DUMMY) += dummy.o @@ -579,7 +579,7 @@ +#endif /* _IP6T_IMQ_H */ --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -295,6 +295,10 @@ +@@ -295,6 +295,10 @@ struct sk_buff { struct nf_conntrack *nfct; struct sk_buff *nfct_reasm; #endif @@ -590,7 +590,7 @@ #ifdef CONFIG_BRIDGE_NETFILTER struct nf_bridge_info *nf_bridge; #endif -@@ -1725,6 +1729,10 @@ +@@ -1725,6 +1729,10 @@ static inline void __nf_copy(struct sk_b dst->nfct_reasm = src->nfct_reasm; nf_conntrack_get_reasm(src->nfct_reasm); #endif @@ -613,7 +613,7 @@ #include #include #include -@@ -1462,7 +1465,11 @@ +@@ -1462,7 +1465,11 @@ static int dev_gso_segment(struct sk_buf int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) { if (likely(!skb->next)) { @@ -700,7 +700,7 @@ +MODULE_LICENSE("GPL"); --- a/net/ipv4/netfilter/Kconfig +++ b/net/ipv4/netfilter/Kconfig -@@ -333,6 +333,17 @@ +@@ -333,6 +333,17 @@ config IP_NF_MANGLE To compile it as a module, choose M here. If unsure, say N. @@ -720,7 +720,7 @@ depends on IP_NF_MANGLE --- a/net/ipv4/netfilter/Makefile +++ b/net/ipv4/netfilter/Makefile -@@ -58,6 +58,7 @@ +@@ -58,6 +58,7 @@ obj-$(CONFIG_IP_NF_MATCH_IPP2P) += ipt_i 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 @@ -802,7 +802,7 @@ +MODULE_LICENSE("GPL"); --- a/net/ipv6/netfilter/Kconfig +++ b/net/ipv6/netfilter/Kconfig -@@ -173,6 +173,15 @@ +@@ -173,6 +173,15 @@ config IP6_NF_MANGLE To compile it as a module, choose M here. If unsure, say N. @@ -820,7 +820,7 @@ depends on IP6_NF_MANGLE --- a/net/ipv6/netfilter/Makefile +++ b/net/ipv6/netfilter/Makefile -@@ -13,6 +13,7 @@ +@@ -13,6 +13,7 @@ obj-$(CONFIG_IP6_NF_MATCH_EUI64) += ip6t 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 @@ -830,7 +830,7 @@ obj-$(CONFIG_IP6_NF_TARGET_LOG) += ip6t_LOG.o --- a/net/sched/sch_generic.c +++ b/net/sched/sch_generic.c -@@ -191,6 +191,11 @@ +@@ -191,6 +191,11 @@ static inline int qdisc_restart(struct n return ret; } @@ -842,7 +842,7 @@ void __qdisc_run(struct net_device *dev) { do { -@@ -620,3 +625,4 @@ +@@ -620,3 +625,4 @@ EXPORT_SYMBOL(qdisc_destroy); 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 7441b27d6..a64124faa 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 @@ -518,7 +518,7 @@ +module_exit(fini); --- a/net/ipv4/netfilter/Kconfig +++ b/net/ipv4/netfilter/Kconfig -@@ -552,5 +552,22 @@ +@@ -552,5 +552,22 @@ config IP_NF_TARGET_SET To compile it as a module, choose M here. If unsure, say N. @@ -543,7 +543,7 @@ --- a/net/ipv4/netfilter/Makefile +++ b/net/ipv4/netfilter/Makefile -@@ -61,6 +61,7 @@ +@@ -61,6 +61,7 @@ obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_EC 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 @@ -553,7 +553,7 @@ obj-$(CONFIG_IP_NF_TARGET_LOG) += ipt_LOG.o --- a/net/ipv6/ndisc.c +++ b/net/ipv6/ndisc.c -@@ -154,6 +154,8 @@ +@@ -154,6 +154,8 @@ struct neigh_table nd_tbl = { .gc_thresh3 = 1024, }; @@ -897,7 +897,7 @@ +MODULE_LICENSE("GPL"); --- a/net/ipv6/netfilter/Kconfig +++ b/net/ipv6/netfilter/Kconfig -@@ -209,5 +209,18 @@ +@@ -209,5 +209,18 @@ config IP6_NF_RAW If you want to compile it as a module, say M here and read . If unsure, say `N'. @@ -918,7 +918,7 @@ --- a/net/ipv6/netfilter/Makefile +++ b/net/ipv6/netfilter/Makefile -@@ -20,6 +20,7 @@ +@@ -20,6 +20,7 @@ obj-$(CONFIG_IP6_NF_TARGET_LOG) += ip6t_ 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 0799da9a6..b15656605 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,6 +1,6 @@ --- a/include/linux/netfilter/Kbuild +++ b/include/linux/netfilter/Kbuild -@@ -3,6 +3,7 @@ +@@ -3,6 +3,7 @@ header-y += nf_conntrack_tuple_common.h header-y += nfnetlink_conntrack.h header-y += nfnetlink_log.h header-y += nfnetlink_queue.h @@ -105,7 +105,7 @@ +#define xt_request_find_match xt_request_find_match_lo --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -265,6 +265,14 @@ +@@ -265,6 +265,14 @@ config NETFILTER_XTABLES # alphabetically ordered list of targets @@ -120,7 +120,7 @@ config NETFILTER_XT_TARGET_CLASSIFY tristate '"CLASSIFY" target support' depends on NETFILTER_XTABLES -@@ -292,6 +300,14 @@ +@@ -292,6 +300,14 @@ config NETFILTER_XT_TARGET_CONNMARK . The module will be called ipt_CONNMARK.ko. If unsure, say `N'. @@ -135,7 +135,7 @@ config NETFILTER_XT_TARGET_DSCP tristate '"DSCP" target support' depends on NETFILTER_XTABLES -@@ -556,6 +572,14 @@ +@@ -556,6 +572,14 @@ config NETFILTER_XT_MATCH_POLICY To compile it as a module, choose M here. If unsure, say N. @@ -152,7 +152,7 @@ depends on NETFILTER_XTABLES --- a/net/netfilter/Makefile +++ b/net/netfilter/Makefile -@@ -49,6 +49,8 @@ +@@ -49,6 +49,8 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_TRACE) 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 @@ -161,7 +161,7 @@ # matches obj-$(CONFIG_NETFILTER_XT_MATCH_COMMENT) += xt_comment.o -@@ -78,3 +80,4 @@ +@@ -78,3 +80,4 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_TCPMSS) 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 @@ -843,7 +843,7 @@ +MODULE_ALIAS("ipt_portscan"); --- a/drivers/char/random.c +++ b/drivers/char/random.c -@@ -1564,6 +1564,8 @@ +@@ -1564,6 +1564,8 @@ __u32 secure_tcp_sequence_number(__be32 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 e74c9d9f2..2bf68664d 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,6 +1,6 @@ --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -401,6 +401,23 @@ +@@ -401,6 +401,23 @@ config NETFILTER_XT_TARGET_CONNSECMARK To compile it as a module, choose M here. If unsure, say N. @@ -26,7 +26,7 @@ depends on NETFILTER_XTABLES && (IPV6 || IPV6=n) --- a/net/netfilter/Makefile +++ b/net/netfilter/Makefile -@@ -47,6 +47,7 @@ +@@ -47,6 +47,7 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_NFLOG) 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 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 bb5de23b4..48afaea93 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,6 +1,6 @@ --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -143,7 +143,7 @@ +@@ -143,7 +143,7 @@ config NF_CONNTRACK_FTP config NF_CONNTRACK_H323 tristate "H.323 protocol support (EXPERIMENTAL)" @@ -9,7 +9,7 @@ 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 @@ +@@ -420,7 +420,7 @@ config NETFILTER_XT_TARGET_TARPIT 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 ad9bc2ac1..9fcb252d4 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 @@ -294,7 +294,7 @@ +#endif /* _NETFILTER_MIME_H */ --- a/net/ipv4/netfilter/Makefile +++ b/net/ipv4/netfilter/Makefile -@@ -23,6 +23,7 @@ +@@ -23,6 +23,7 @@ obj-$(CONFIG_NF_NAT_AMANDA) += nf_nat_am 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 @@ -304,7 +304,7 @@ obj-$(CONFIG_NF_NAT_SNMP_BASIC) += nf_nat_snmp_basic.o --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -249,6 +249,16 @@ +@@ -249,6 +249,16 @@ config NF_CONNTRACK_TFTP To compile it as a module, choose M here. If unsure, say N. @@ -323,7 +323,7 @@ depends on EXPERIMENTAL && NF_CONNTRACK && NETFILTER_NETLINK --- a/net/netfilter/Makefile +++ b/net/netfilter/Makefile -@@ -33,6 +33,7 @@ +@@ -33,6 +33,7 @@ obj-$(CONFIG_NF_CONNTRACK_PPTP) += nf_co 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 @@ -333,7 +333,7 @@ obj-$(CONFIG_NETFILTER_XTABLES) += x_tables.o xt_tcpudp.o --- a/net/ipv4/netfilter/Kconfig +++ b/net/ipv4/netfilter/Kconfig -@@ -296,6 +296,11 @@ +@@ -296,6 +296,11 @@ config NF_NAT_IRC depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT default NF_NAT && NF_CONNTRACK_IRC 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 6a737926a..06c9c7bc9 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,6 +1,6 @@ --- a/include/linux/pkt_sched.h +++ b/include/linux/pkt_sched.h -@@ -155,8 +155,37 @@ +@@ -155,8 +155,37 @@ struct tc_sfq_qopt * * The only reason for this is efficiency, it is possible * to change these parameters in compile time. @@ -40,7 +40,7 @@ enum --- a/net/sched/Kconfig +++ b/net/sched/Kconfig -@@ -144,6 +144,37 @@ +@@ -144,6 +144,37 @@ config NET_SCH_SFQ To compile this code as a module, choose M here: the module will be called sch_sfq. @@ -80,7 +80,7 @@ ---help--- --- a/net/sched/Makefile +++ b/net/sched/Makefile -@@ -22,6 +22,7 @@ +@@ -22,6 +22,7 @@ obj-$(CONFIG_NET_SCH_GRED) += sch_gred.o obj-$(CONFIG_NET_SCH_INGRESS) += sch_ingress.o obj-$(CONFIG_NET_SCH_DSMARK) += sch_dsmark.o obj-$(CONFIG_NET_SCH_SFQ) += sch_sfq.o 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 a13bb198f..3b8eeedef 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,6 +1,6 @@ --- a/include/linux/rtnetlink.h +++ b/include/linux/rtnetlink.h -@@ -293,6 +293,8 @@ +@@ -293,6 +293,8 @@ struct rtnexthop #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,7 +11,7 @@ --- a/include/net/flow.h +++ b/include/net/flow.h -@@ -19,6 +19,8 @@ +@@ -19,6 +19,8 @@ struct flowi { struct { __be32 daddr; __be32 saddr; @@ -20,7 +20,7 @@ __u8 tos; __u8 scope; } ip4_u; -@@ -43,6 +45,8 @@ +@@ -43,6 +45,8 @@ struct flowi { #define fl6_flowlabel nl_u.ip6_u.flowlabel #define fl4_dst nl_u.ip4_u.daddr #define fl4_src nl_u.ip4_u.saddr @@ -31,7 +31,7 @@ --- a/net/ipv4/route.c +++ b/net/ipv4/route.c -@@ -1116,6 +1116,7 @@ +@@ -1116,6 +1116,7 @@ void ip_rt_redirect(__be32 old_gw, __be3 /* Gateway is different ... */ rt->rt_gateway = new_gw; @@ -39,7 +39,7 @@ /* Redirect received -> path was valid */ dst_confirm(&rth->u.dst); -@@ -1551,6 +1552,7 @@ +@@ -1551,6 +1552,7 @@ static int ip_route_input_mc(struct sk_b rth->fl.fl4_tos = tos; rth->fl.mark = skb->mark; rth->fl.fl4_src = saddr; @@ -47,7 +47,7 @@ rth->rt_src = saddr; #ifdef CONFIG_NET_CLS_ROUTE rth->u.dst.tclassid = itag; -@@ -1561,6 +1563,7 @@ +@@ -1561,6 +1563,7 @@ static int ip_route_input_mc(struct sk_b dev_hold(rth->u.dst.dev); rth->idev = in_dev_get(rth->u.dst.dev); rth->fl.oif = 0; @@ -55,7 +55,7 @@ rth->rt_gateway = daddr; rth->rt_spec_dst= spec_dst; rth->rt_type = RTN_MULTICAST; -@@ -1624,7 +1627,7 @@ +@@ -1624,7 +1627,7 @@ static void ip_handle_martian_source(str static inline int __mkroute_input(struct sk_buff *skb, struct fib_result* res, struct in_device *in_dev, @@ -64,7 +64,7 @@ struct rtable **result) { -@@ -1659,6 +1662,7 @@ +@@ -1659,6 +1662,7 @@ static inline int __mkroute_input(struct flags |= RTCF_DIRECTSRC; if (out_dev == in_dev && err && !(flags & (RTCF_NAT | RTCF_MASQ)) && @@ -72,7 +72,7 @@ (IN_DEV_SHARED_MEDIA(out_dev) || inet_addr_onlink(out_dev, saddr, FIB_RES_GW(*res)))) flags |= RTCF_DOREDIRECT; -@@ -1692,6 +1696,7 @@ +@@ -1692,6 +1696,7 @@ static inline int __mkroute_input(struct rth->fl.mark = skb->mark; rth->fl.fl4_src = saddr; rth->rt_src = saddr; @@ -80,7 +80,7 @@ rth->rt_gateway = daddr; rth->rt_iif = rth->fl.iif = in_dev->dev->ifindex; -@@ -1699,6 +1704,7 @@ +@@ -1699,6 +1704,7 @@ static inline int __mkroute_input(struct dev_hold(rth->u.dst.dev); rth->idev = in_dev_get(rth->u.dst.dev); rth->fl.oif = 0; @@ -88,7 +88,7 @@ rth->rt_spec_dst= spec_dst; rth->u.dst.input = ip_forward; -@@ -1720,19 +1726,21 @@ +@@ -1720,19 +1726,21 @@ static inline int ip_mkroute_input(struc struct fib_result* res, const struct flowi *fl, struct in_device *in_dev, @@ -113,7 +113,7 @@ if (err) return err; -@@ -1752,18 +1760,18 @@ +@@ -1752,18 +1760,18 @@ static inline int ip_mkroute_input(struc */ static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr, @@ -135,7 +135,7 @@ unsigned flags = 0; u32 itag = 0; struct rtable * rth; -@@ -1796,6 +1804,12 @@ +@@ -1796,6 +1804,12 @@ static int ip_route_input_slow(struct sk if (BADCLASS(daddr) || ZERONET(daddr) || LOOPBACK(daddr)) goto martian_destination; @@ -148,7 +148,7 @@ /* * Now we are ready to route packet. */ -@@ -1805,6 +1819,10 @@ +@@ -1805,6 +1819,10 @@ static int ip_route_input_slow(struct sk goto no_route; } free_res = 1; @@ -159,7 +159,7 @@ RT_CACHE_STAT_INC(in_slow_tot); -@@ -1829,7 +1847,7 @@ +@@ -1829,7 +1847,7 @@ static int ip_route_input_slow(struct sk if (res.type != RTN_UNICAST) goto martian_destination; @@ -168,7 +168,7 @@ if (err == -ENOBUFS) goto e_nobufs; if (err == -EINVAL) -@@ -1844,6 +1862,8 @@ +@@ -1844,6 +1862,8 @@ out: return err; brd_input: if (skb->protocol != htons(ETH_P_IP)) goto e_inval; @@ -177,7 +177,7 @@ if (ZERONET(saddr)) spec_dst = inet_select_addr(dev, 0, RT_SCOPE_LINK); -@@ -1884,6 +1904,7 @@ +@@ -1884,6 +1904,7 @@ local_input: rth->u.dst.dev = &loopback_dev; dev_hold(rth->u.dst.dev); rth->idev = in_dev_get(rth->u.dst.dev); @@ -185,7 +185,7 @@ rth->rt_gateway = daddr; rth->rt_spec_dst= spec_dst; rth->u.dst.input= ip_local_deliver; -@@ -1933,8 +1954,9 @@ +@@ -1933,8 +1954,9 @@ martian_source: goto e_inval; } @@ -197,7 +197,7 @@ { struct rtable * rth; unsigned hash; -@@ -1949,6 +1971,7 @@ +@@ -1949,6 +1971,7 @@ int ip_route_input(struct sk_buff *skb, if (rth->fl.fl4_dst == daddr && rth->fl.fl4_src == saddr && rth->fl.iif == iif && @@ -205,7 +205,7 @@ rth->fl.oif == 0 && rth->fl.mark == skb->mark && rth->fl.fl4_tos == tos) { -@@ -1995,7 +2018,19 @@ +@@ -1995,7 +2018,19 @@ int ip_route_input(struct sk_buff *skb, rcu_read_unlock(); return -EINVAL; } @@ -226,7 +226,7 @@ } static inline int __mkroute_output(struct rtable **result, -@@ -2067,6 +2102,7 @@ +@@ -2067,6 +2102,7 @@ static inline int __mkroute_output(struc rth->fl.fl4_tos = tos; rth->fl.fl4_src = oldflp->fl4_src; rth->fl.oif = oldflp->oif; @@ -234,7 +234,7 @@ rth->fl.mark = oldflp->mark; rth->rt_dst = fl->fl4_dst; rth->rt_src = fl->fl4_src; -@@ -2145,6 +2181,7 @@ +@@ -2145,6 +2181,7 @@ static int ip_route_output_slow(struct r struct flowi fl = { .nl_u = { .ip4_u = { .daddr = oldflp->fl4_dst, .saddr = oldflp->fl4_src, @@ -242,7 +242,7 @@ .tos = tos & IPTOS_RT_MASK, .scope = ((tos & RTO_ONLINK) ? RT_SCOPE_LINK : -@@ -2248,6 +2285,7 @@ +@@ -2248,6 +2285,7 @@ static int ip_route_output_slow(struct r dev_out = &loopback_dev; dev_hold(dev_out); fl.oif = loopback_dev.ifindex; @@ -250,7 +250,7 @@ res.type = RTN_LOCAL; flags |= RTCF_LOCAL; goto make_route; -@@ -2255,7 +2293,7 @@ +@@ -2255,7 +2293,7 @@ static int ip_route_output_slow(struct r if (fib_lookup(&fl, &res)) { res.fi = NULL; @@ -259,7 +259,7 @@ /* Apparently, routing tables are wrong. Assume, that the destination is on link. -@@ -2295,6 +2333,7 @@ +@@ -2295,6 +2333,7 @@ static int ip_route_output_slow(struct r dev_out = &loopback_dev; dev_hold(dev_out); fl.oif = dev_out->ifindex; @@ -267,7 +267,7 @@ if (res.fi) fib_info_put(res.fi); res.fi = NULL; -@@ -2302,13 +2341,12 @@ +@@ -2302,13 +2341,12 @@ static int ip_route_output_slow(struct r goto make_route; } @@ -284,7 +284,7 @@ if (!fl.fl4_src) fl.fl4_src = FIB_RES_PREFSRC(res); -@@ -2345,6 +2383,7 @@ +@@ -2345,6 +2383,7 @@ int __ip_route_output_key(struct rtable rth->fl.fl4_src == flp->fl4_src && rth->fl.iif == 0 && rth->fl.oif == flp->oif && @@ -292,7 +292,7 @@ rth->fl.mark == flp->mark && !((rth->fl.fl4_tos ^ flp->fl4_tos) & (IPTOS_RT_MASK | RTO_ONLINK))) { -@@ -3030,3 +3069,4 @@ +@@ -3030,3 +3069,4 @@ int __init ip_rt_init(void) 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 ff3849fb6..f04a22fbc 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,6 +1,6 @@ --- a/arch/mips/Makefile +++ b/arch/mips/Makefile -@@ -565,6 +565,9 @@ +@@ -565,6 +565,9 @@ core-$(CONFIG_TOSHIBA_RBTX4938) += arch/ 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 5053401f1..eccdbe2f9 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,6 +1,6 @@ --- a/fs/jffs2/build.c +++ b/fs/jffs2/build.c -@@ -105,6 +105,17 @@ +@@ -105,6 +105,17 @@ static int jffs2_build_filesystem(struct dbg_fsbuild("scanned flash completely\n"); jffs2_dbg_dump_block_lists_nolock(c); @@ -20,7 +20,7 @@ /* Now scan the directory tree, increasing nlink according to every dirent found. */ --- a/fs/jffs2/scan.c +++ b/fs/jffs2/scan.c -@@ -142,9 +142,12 @@ +@@ -142,9 +142,12 @@ int jffs2_scan_medium(struct jffs2_sb_in /* reset summary info for next eraseblock scan */ jffs2_sum_reset_collected(s); @@ -36,7 +36,7 @@ if (ret < 0) goto out; -@@ -545,6 +548,17 @@ +@@ -545,6 +548,17 @@ static int jffs2_scan_eraseblock (struct return err; } 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 cfeff64b0..331420b91 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,6 +1,6 @@ --- a/drivers/net/r8169.c +++ b/drivers/net/r8169.c -@@ -1459,7 +1459,7 @@ +@@ -1459,7 +1459,7 @@ static const struct rtl_cfg_info { .hw_start = rtl_hw_start_8169, .region = 1, .align = 0, @@ -9,7 +9,7 @@ RxFIFOOver | TxErr | TxOK | RxOK | RxErr, .napi_event = RxFIFOOver | TxErr | TxOK | RxOK | RxOverflow }, -@@ -1467,7 +1467,7 @@ +@@ -1467,7 +1467,7 @@ static const struct rtl_cfg_info { .hw_start = rtl_hw_start_8168, .region = 2, .align = 8, @@ -18,7 +18,7 @@ TxErr | TxOK | RxOK | RxErr, .napi_event = TxErr | TxOK | RxOK | RxOverflow }, -@@ -1475,7 +1475,7 @@ +@@ -1475,7 +1475,7 @@ static const struct rtl_cfg_info { .hw_start = rtl_hw_start_8101, .region = 2, .align = 8, @@ -27,7 +27,7 @@ RxFIFOOver | TxErr | TxOK | RxOK | RxErr, .napi_event = RxFIFOOver | TxErr | TxOK | RxOK | RxOverflow } -@@ -2779,10 +2779,12 @@ +@@ -2779,10 +2779,12 @@ static irqreturn_t rtl8169_interrupt(int 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 01ba9b8a7..c95c719a1 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,6 +1,6 @@ --- a/fs/Kconfig +++ b/fs/Kconfig -@@ -458,6 +458,9 @@ +@@ -458,6 +458,9 @@ config OCFS2_DEBUG_MASKLOG This option will enlarge your kernel, but it allows debugging of ocfs2 filesystem issues. @@ -12,7 +12,7 @@ help --- a/fs/Makefile +++ b/fs/Makefile -@@ -76,6 +76,7 @@ +@@ -76,6 +76,7 @@ obj-$(CONFIG_SQUASHFS) += squashfs/ obj-$(CONFIG_RAMFS) += ramfs/ obj-$(CONFIG_HUGETLBFS) += hugetlbfs/ obj-$(CONFIG_CODA_FS) += coda/ 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 cca0c0b84..b8fbbe918 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,6 +1,6 @@ --- a/include/linux/ieee80211.h +++ b/include/linux/ieee80211.h -@@ -106,6 +106,75 @@ +@@ -106,6 +106,75 @@ struct ieee80211_hdr { } __attribute__ ((packed)); @@ -76,7 +76,7 @@ struct ieee80211_mgmt { __le16 frame_control; __le16 duration; -@@ -173,9 +242,51 @@ +@@ -173,9 +242,51 @@ struct ieee80211_mgmt { struct { u8 action_code; u8 dialog_token; @@ -128,7 +128,7 @@ struct{ u8 action_code; u8 element_id; -@@ -184,6 +295,25 @@ +@@ -184,6 +295,25 @@ struct ieee80211_mgmt { u8 new_chan; u8 switch_count; } __attribute__((packed)) chan_switch; @@ -154,7 +154,7 @@ } u; } __attribute__ ((packed)) action; } u; -@@ -270,6 +400,18 @@ +@@ -270,6 +400,18 @@ enum ieee80211_statuscode { WLAN_STATUS_UNSUPP_RSN_VERSION = 44, WLAN_STATUS_INVALID_RSN_IE_CAP = 45, WLAN_STATUS_CIPHER_SUITE_REJECTED = 46, @@ -173,7 +173,7 @@ }; -@@ -300,9 +442,50 @@ +@@ -300,9 +442,50 @@ enum ieee80211_reasoncode { WLAN_REASON_INVALID_RSN_IE_CAP = 22, WLAN_REASON_IEEE8021X_FAILED = 23, WLAN_REASON_CIPHER_SUITE_REJECTED = 24, @@ -224,7 +224,7 @@ /* Information Element IDs */ enum ieee80211_eid { WLAN_EID_SSID = 0, -@@ -318,6 +501,15 @@ +@@ -318,6 +501,15 @@ enum ieee80211_eid { WLAN_EID_HP_PARAMS = 8, WLAN_EID_HP_TABLE = 9, WLAN_EID_REQUEST = 10, @@ -240,7 +240,7 @@ /* 802.11h */ WLAN_EID_PWR_CONSTRAINT = 32, WLAN_EID_PWR_CAPABILITY = 33, -@@ -332,6 +524,9 @@ +@@ -332,6 +524,9 @@ enum ieee80211_eid { /* 802.11g */ WLAN_EID_ERP_INFO = 42, WLAN_EID_EXT_SUPP_RATES = 50, @@ -250,7 +250,7 @@ /* 802.11i */ WLAN_EID_RSN = 48, WLAN_EID_WPA = 221, -@@ -340,6 +535,9 @@ +@@ -340,6 +535,9 @@ enum ieee80211_eid { WLAN_EID_QOS_PARAMETER = 222 }; @@ -260,7 +260,7 @@ /* cipher suite selectors */ #define WLAN_CIPHER_SUITE_USE_GROUP 0x000FAC00 #define WLAN_CIPHER_SUITE_WEP40 0x000FAC01 -@@ -350,4 +548,37 @@ +@@ -350,4 +548,37 @@ enum ieee80211_eid { #define WLAN_MAX_KEY_LEN 32 @@ -518,7 +518,7 @@ * enum nl80211_iftype - (virtual) interface types * @NL80211_IFTYPE_UNSPECIFIED: unspecified type, driver decides * @NL80211_IFTYPE_ADHOC: independent BSS member -@@ -35,4 +246,56 @@ +@@ -35,4 +246,56 @@ enum nl80211_iftype { }; #define NL80211_IFTYPE_MAX (__NL80211_IFTYPE_AFTER_LAST - 1) @@ -585,7 +585,7 @@ #include /* -@@ -49,6 +50,69 @@ +@@ -49,6 +50,69 @@ extern int ieee80211_radiotap_iterator_n struct ieee80211_radiotap_iterator *iterator); @@ -655,7 +655,7 @@ /* from net/wireless.h */ struct wiphy; -@@ -68,11 +132,62 @@ +@@ -68,11 +132,62 @@ struct wiphy; * @add_virtual_intf: create a new virtual interface with the given name * * @del_virtual_intf: remove the virtual interface determined by ifindex. @@ -721,7 +721,7 @@ #endif /* __NET_CFG80211_H */ --- a/include/net/iw_handler.h +++ b/include/net/iw_handler.h -@@ -431,7 +431,13 @@ +@@ -431,7 +431,13 @@ struct iw_public_data { * Those may be called only within the kernel. */ @@ -738,7 +738,7 @@ extern void wireless_send_event(struct net_device * dev, --- a/include/net/mac80211.h +++ b/include/net/mac80211.h -@@ -300,7 +300,6 @@ +@@ -300,7 +300,6 @@ struct ieee80211_conf { /* Following five fields are used for IEEE 802.11H */ unsigned int radar_detect; unsigned int spect_mgmt; @@ -746,7 +746,7 @@ 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 @@ +@@ -521,6 +520,9 @@ struct ieee80211_hw { * per-packet RC4 key with each TX frame when doing hwcrypto */ #define IEEE80211_HW_TKIP_REQ_PHASE2_KEY (1<<14) @@ -756,7 +756,7 @@ u32 flags; /* hardware flags defined above */ /* Set to the size of a needed device specific skb headroom for TX skbs. */ -@@ -649,8 +651,7 @@ +@@ -649,8 +651,7 @@ struct ieee80211_ops { * 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 @@ -766,7 +766,7 @@ int (*set_port_auth)(struct ieee80211_hw *hw, u8 *addr, int authorized); -@@ -702,8 +703,9 @@ +@@ -702,8 +703,9 @@ struct ieee80211_ops { /* 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 @@ -778,7 +778,7 @@ int (*get_tx_stats)(struct ieee80211_hw *hw, struct ieee80211_tx_queue_stats *stats); -@@ -713,12 +715,25 @@ +@@ -713,12 +715,25 @@ struct ieee80211_ops { * 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 bcb446543..adf4bdb33 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,6 +1,6 @@ --- a/lib/kobject_uevent.c +++ b/lib/kobject_uevent.c -@@ -40,9 +40,22 @@ +@@ -40,9 +40,22 @@ u64 uevent_seqnum; char uevent_helper[UEVENT_HELPER_PATH_LEN] = "/sbin/hotplug"; static DEFINE_SPINLOCK(sequence_lock); #if defined(CONFIG_NET) @@ -24,7 +24,7 @@ /** * kobject_uevent_env - send an uevent with environmental data * -@@ -159,9 +172,7 @@ +@@ -159,9 +172,7 @@ int kobject_uevent_env(struct kobject *k } /* 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 c052f2ad2..d215d1207 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,6 +1,6 @@ --- a/sound/core/Kconfig +++ b/sound/core/Kconfig -@@ -9,7 +9,7 @@ +@@ -9,7 +9,7 @@ config SND_PCM 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 8df4724ef..a532f4199 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 @@ -638,7 +638,7 @@ +#endif /* _SYS_TIMEPPS_H_ */ --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -3011,6 +3011,13 @@ +@@ -3011,6 +3011,13 @@ P: James Chapman M: jchapman@katalix.com S: Maintained @@ -654,7 +654,7 @@ M: rml@tech9.net --- a/drivers/Kconfig +++ b/drivers/Kconfig -@@ -52,6 +52,8 @@ +@@ -52,6 +52,8 @@ source "drivers/i2c/Kconfig" source "drivers/spi/Kconfig" @@ -665,7 +665,7 @@ source "drivers/power/Kconfig" --- a/drivers/Makefile +++ b/drivers/Makefile -@@ -63,6 +63,7 @@ +@@ -63,6 +63,7 @@ obj-$(CONFIG_INPUT) += input/ obj-$(CONFIG_I2O) += message/ obj-$(CONFIG_RTC_LIB) += rtc/ obj-y += i2c/ @@ -675,7 +675,7 @@ obj-$(CONFIG_HWMON) += hwmon/ --- a/drivers/char/lp.c +++ b/drivers/char/lp.c -@@ -746,6 +746,27 @@ +@@ -746,6 +746,27 @@ static struct console lpcons = { #endif /* console on line printer */ @@ -703,7 +703,7 @@ /* --- initialisation code ------------------------------------- */ static int parport_nr[LP_NO] = { [0 ... LP_NO-1] = LP_PARPORT_UNSPEC }; -@@ -817,6 +838,38 @@ +@@ -817,6 +838,38 @@ static int lp_register(int nr, struct pa } #endif @@ -742,7 +742,7 @@ return 0; } -@@ -860,6 +913,14 @@ +@@ -860,6 +913,14 @@ static void lp_detach (struct parport *p console_registered = NULL; } #endif /* CONFIG_LP_CONSOLE */ @@ -1716,7 +1716,7 @@ +} --- a/drivers/serial/8250.c +++ b/drivers/serial/8250.c -@@ -2118,6 +2118,8 @@ +@@ -2118,6 +2118,8 @@ serial8250_set_termios(struct uart_port up->ier |= UART_IER_MSI; if (up->capabilities & UART_CAP_UUE) up->ier |= UART_IER_UUE | UART_IER_RTOIE; @@ -1735,7 +1735,7 @@ #include #include -@@ -633,6 +634,54 @@ +@@ -633,6 +634,54 @@ static int uart_get_info(struct uart_sta return 0; } @@ -1790,7 +1790,7 @@ static int uart_set_info(struct uart_state *state, struct serial_struct __user *newinfo) { -@@ -807,11 +856,19 @@ +@@ -807,11 +856,19 @@ static int uart_set_info(struct uart_sta (port->flags & UPF_LOW_LATENCY) ? 1 : 0; check_and_exit: @@ -1811,7 +1811,7 @@ old_custom_divisor != port->custom_divisor) { /* * If they're setting up a custom divisor or speed, -@@ -2110,6 +2167,12 @@ +@@ -2110,6 +2167,12 @@ uart_configure_port(struct uart_driver * port->ops->config_port(port, flags); } @@ -1824,7 +1824,7 @@ if (port->type != PORT_UNKNOWN) { unsigned long flags; -@@ -2359,6 +2422,12 @@ +@@ -2359,6 +2422,12 @@ int uart_remove_one_port(struct uart_dri mutex_unlock(&state->mutex); /* @@ -1839,7 +1839,7 @@ tty_unregister_device(drv->tty_driver, port->line); --- a/include/linux/Kbuild +++ b/include/linux/Kbuild -@@ -295,6 +295,7 @@ +@@ -295,6 +295,7 @@ unifdef-y += pmu.h unifdef-y += poll.h unifdef-y += ppp_defs.h unifdef-y += ppp-comp.h @@ -1849,7 +1849,7 @@ unifdef-y += quota.h --- a/include/linux/parport.h +++ b/include/linux/parport.h -@@ -100,6 +100,7 @@ +@@ -100,6 +100,7 @@ typedef enum { #include #include #include @@ -1857,7 +1857,7 @@ #include #include #include -@@ -327,6 +328,11 @@ +@@ -327,6 +328,11 @@ struct parport { struct list_head full_list; struct parport *slaves[3]; @@ -1869,7 +1869,7 @@ }; #define DEFAULT_SPIN_TIME 500 /* us */ -@@ -517,6 +523,12 @@ +@@ -517,6 +523,12 @@ extern int parport_daisy_select (struct /* Lowlevel drivers _can_ call this support function to handle irqs. */ static __inline__ void parport_generic_irq(int irq, struct parport *port) { @@ -2091,7 +2091,7 @@ struct uart_port; struct uart_info; -@@ -236,6 +237,9 @@ +@@ -236,6 +237,9 @@ struct uart_port { unsigned char regshift; /* reg offset shift */ unsigned char iotype; /* io access style */ unsigned char unused1; @@ -2101,7 +2101,7 @@ #define UPIO_PORT (0) #define UPIO_HUB6 (1) -@@ -280,7 +284,8 @@ +@@ -280,7 +284,8 @@ struct uart_port { #define UPF_IOREMAP ((__force upf_t) (1 << 31)) #define UPF_CHANGE_MASK ((__force upf_t) (0x17fff)) @@ -2111,7 +2111,7 @@ unsigned int mctrl; /* current modem ctrl settings */ unsigned int timeout; /* character-based timeout */ -@@ -312,6 +317,10 @@ +@@ -312,6 +317,10 @@ struct uart_state { struct uart_info *info; struct uart_port *port; @@ -2122,7 +2122,7 @@ struct mutex mutex; }; -@@ -476,13 +485,22 @@ +@@ -476,13 +485,22 @@ uart_handle_dcd_change(struct uart_port { 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 528d608d9..6527fcedf 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 @@ -4,7 +4,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 --- a/drivers/mmc/host/Kconfig +++ b/drivers/mmc/host/Kconfig -@@ -100,3 +100,16 @@ +@@ -100,3 +100,16 @@ config MMC_TIFM_SD To compile this driver as a module, choose M here: the module will be called tifm_sd. @@ -23,7 +23,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 + --- a/drivers/mmc/host/Makefile +++ b/drivers/mmc/host/Makefile -@@ -15,4 +15,5 @@ +@@ -15,4 +15,5 @@ obj-$(CONFIG_MMC_AU1X) += au1xmmc.o obj-$(CONFIG_MMC_OMAP) += omap.o obj-$(CONFIG_MMC_AT91) += at91_mci.o obj-$(CONFIG_MMC_TIFM_SD) += tifm_sd.o @@ -1497,7 +1497,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 #include "bus.h" #define dev_to_mmc_card(d) container_of(d, struct mmc_card, dev) -@@ -34,6 +35,8 @@ +@@ -34,6 +35,8 @@ static ssize_t mmc_type_show(struct devi return sprintf(buf, "MMC\n"); case MMC_TYPE_SD: return sprintf(buf, "SD\n"); @@ -1506,7 +1506,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 default: return -EFAULT; } -@@ -55,36 +58,37 @@ +@@ -55,36 +58,37 @@ static int mmc_bus_match(struct device * } static int @@ -1562,7 +1562,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 } static int mmc_bus_probe(struct device *dev) -@@ -176,6 +180,11 @@ +@@ -176,6 +180,11 @@ static void mmc_release_card(struct devi { struct mmc_card *card = dev_to_mmc_card(dev); @@ -1574,7 +1574,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 kfree(card); } -@@ -221,15 +230,25 @@ +@@ -221,15 +230,25 @@ int mmc_add_card(struct mmc_card *card) if (mmc_card_blockaddr(card)) type = "SDHC"; break; @@ -1604,7 +1604,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 card->dev.uevent_suppress = 1; -@@ -261,8 +280,13 @@ +@@ -261,8 +280,13 @@ int mmc_add_card(struct mmc_card *card) void mmc_remove_card(struct mmc_card *card) { if (mmc_card_present(card)) { @@ -1659,7 +1659,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 * Internal function. Schedule delayed work in the MMC work queue. */ static int mmc_schedule_delayed_work(struct delayed_work *work, -@@ -68,6 +79,11 @@ +@@ -68,6 +79,11 @@ void mmc_request_done(struct mmc_host *h struct mmc_command *cmd = mrq->cmd; int err = cmd->error; @@ -1671,7 +1671,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 if (err && cmd->retries) { pr_debug("%s: req failed (CMD%u): %d, retrying...\n", mmc_hostname(host), cmd->opcode, err); -@@ -76,6 +92,8 @@ +@@ -76,6 +92,8 @@ void mmc_request_done(struct mmc_host *h cmd->error = 0; host->ops->request(host, mrq); } else { @@ -1680,7 +1680,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 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 @@ +@@ -118,7 +136,7 @@ mmc_start_request(struct mmc_host *host, "tsac %d ms nsac %d\n", mmc_hostname(host), mrq->data->blksz, mrq->data->blocks, mrq->data->flags, @@ -1689,7 +1689,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 mrq->data->timeout_clks); } -@@ -130,6 +148,8 @@ +@@ -130,6 +148,8 @@ mmc_start_request(struct mmc_host *host, WARN_ON(!host->claimed); @@ -1698,7 +1698,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 mrq->cmd->error = 0; mrq->cmd->mrq = mrq; if (mrq->data) { -@@ -199,7 +219,7 @@ +@@ -199,7 +219,7 @@ int mmc_wait_for_cmd(struct mmc_host *ho { struct mmc_request mrq; @@ -1707,7 +1707,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 memset(&mrq, 0, sizeof(struct mmc_request)); -@@ -220,17 +240,24 @@ +@@ -220,17 +240,24 @@ EXPORT_SYMBOL(mmc_wait_for_cmd); * 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 @@ -1735,7 +1735,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 * SD cards use a 100 multiplier rather than 10 */ mult = mmc_card_sd(card) ? 100 : 10; -@@ -239,7 +266,7 @@ +@@ -239,7 +266,7 @@ void mmc_set_data_timeout(struct mmc_dat * Scale up the multiplier (and therefore the timeout) by * the r2w factor for writes. */ @@ -1744,7 +1744,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 mult <<= card->csd.r2w_factor; data->timeout_ns = card->csd.tacc_ns * mult; -@@ -255,7 +282,7 @@ +@@ -255,7 +282,7 @@ void mmc_set_data_timeout(struct mmc_dat timeout_us += data->timeout_clks * 1000 / (card->host->ios.clock / 1000); @@ -1753,7 +1753,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 limit_us = 250000; else limit_us = 100000; -@@ -272,15 +299,20 @@ +@@ -272,15 +299,20 @@ void mmc_set_data_timeout(struct mmc_dat EXPORT_SYMBOL(mmc_set_data_timeout); /** @@ -1777,7 +1777,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 might_sleep(); -@@ -288,19 +320,24 @@ +@@ -288,19 +320,24 @@ void mmc_claim_host(struct mmc_host *hos spin_lock_irqsave(&host->lock, flags); while (1) { set_current_state(TASK_UNINTERRUPTIBLE); @@ -1805,7 +1805,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 /** * mmc_release_host - release a host -@@ -313,7 +350,7 @@ +@@ -313,7 +350,7 @@ void mmc_release_host(struct mmc_host *h { unsigned long flags; @@ -1814,7 +1814,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 spin_lock_irqsave(&host->lock, flags); host->claimed = 0; -@@ -433,19 +470,32 @@ +@@ -433,19 +470,32 @@ static void mmc_power_up(struct mmc_host int bit = fls(host->ocr_avail) - 1; host->ios.vdd = bit; @@ -1850,7 +1850,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 mmc_delay(2); } -@@ -453,8 +503,10 @@ +@@ -453,8 +503,10 @@ static void mmc_power_off(struct mmc_hos { host->ios.clock = 0; host->ios.vdd = 0; @@ -1863,7 +1863,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 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 @@ +@@ -511,7 +563,7 @@ void mmc_attach_bus(struct mmc_host *hos BUG_ON(!host); BUG_ON(!ops); @@ -1872,7 +1872,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 spin_lock_irqsave(&host->lock, flags); -@@ -535,8 +587,8 @@ +@@ -535,8 +587,8 @@ void mmc_detach_bus(struct mmc_host *hos BUG_ON(!host); @@ -1883,7 +1883,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 spin_lock_irqsave(&host->lock, flags); -@@ -564,7 +616,7 @@ +@@ -564,7 +616,7 @@ void mmc_detect_change(struct mmc_host * #ifdef CONFIG_MMC_DEBUG unsigned long flags; spin_lock_irqsave(&host->lock, flags); @@ -1892,7 +1892,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 spin_unlock_irqrestore(&host->lock, flags); #endif -@@ -597,24 +649,38 @@ +@@ -597,24 +649,38 @@ void mmc_rescan(struct work_struct *work mmc_send_if_cond(host, host->ocr_avail); @@ -1944,7 +1944,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 } else { if (host->bus_ops->detect && !host->bus_dead) host->bus_ops->detect(host); -@@ -725,22 +791,38 @@ +@@ -725,22 +791,38 @@ static int __init mmc_init(void) return -ENOMEM; ret = mmc_register_bus(); @@ -1991,7 +1991,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 MODULE_LICENSE("GPL"); --- a/drivers/mmc/core/core.h +++ b/drivers/mmc/core/core.h -@@ -48,5 +48,7 @@ +@@ -48,5 +48,7 @@ void mmc_rescan(struct work_struct *work void mmc_start_host(struct mmc_host *host); void mmc_stop_host(struct mmc_host *host); @@ -2009,7 +2009,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 #include -@@ -100,6 +101,9 @@ +@@ -100,6 +101,9 @@ int mmc_add_host(struct mmc_host *host) { int err; @@ -2019,7 +2019,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 if (!idr_pre_get(&mmc_host_idr, GFP_KERNEL)) return -ENOMEM; -@@ -112,6 +116,8 @@ +@@ -112,6 +116,8 @@ int mmc_add_host(struct mmc_host *host) snprintf(host->class_dev.bus_id, BUS_ID_SIZE, "mmc%d", host->index); @@ -2028,7 +2028,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 err = device_add(&host->class_dev); if (err) return err; -@@ -137,6 +143,8 @@ +@@ -137,6 +143,8 @@ void mmc_remove_host(struct mmc_host *ho device_del(&host->class_dev); @@ -2039,7 +2039,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 spin_unlock(&mmc_host_lock); --- a/drivers/mmc/core/mmc.c +++ b/drivers/mmc/core/mmc.c -@@ -161,13 +161,12 @@ +@@ -161,13 +161,12 @@ static int mmc_read_ext_csd(struct mmc_c { int err; u8 *ext_csd; @@ -2055,7 +2055,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 /* * As the ext_csd is so large and mostly unused, we don't store the -@@ -176,13 +175,19 @@ +@@ -176,13 +175,19 @@ static int mmc_read_ext_csd(struct mmc_c ext_csd = kmalloc(512, GFP_KERNEL); if (!ext_csd) { printk(KERN_ERR "%s: could not allocate a buffer to " @@ -2079,7 +2079,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 /* * High capacity cards should have this "magic" size * stored in their CSD. -@@ -197,18 +202,30 @@ +@@ -197,18 +202,30 @@ static int mmc_read_ext_csd(struct mmc_c "EXT_CSD, performance might " "suffer.\n", mmc_hostname(card->host)); @@ -2118,7 +2118,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 switch (ext_csd[EXT_CSD_CARD_TYPE]) { case EXT_CSD_CARD_TYPE_52 | EXT_CSD_CARD_TYPE_26: -@@ -246,7 +263,7 @@ +@@ -246,7 +263,7 @@ static int mmc_init_card(struct mmc_host unsigned int max_dtr; BUG_ON(!host); @@ -2127,7 +2127,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 /* * Since we're changing the OCR value, we seem to -@@ -258,19 +275,33 @@ +@@ -258,19 +275,33 @@ static int mmc_init_card(struct mmc_host /* The extra bit indicates that we support high capacity */ err = mmc_send_op_cond(host, ocr | (1 << 30), NULL); @@ -2165,7 +2165,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 card = oldcard; } else { -@@ -278,8 +309,10 @@ +@@ -278,8 +309,10 @@ static int mmc_init_card(struct mmc_host * Allocate card structure. */ card = mmc_alloc_card(host); @@ -2177,7 +2177,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 card->type = MMC_TYPE_MMC; card->rca = 1; -@@ -287,43 +320,47 @@ +@@ -287,43 +320,47 @@ static int mmc_init_card(struct mmc_host } /* @@ -2238,7 +2238,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 goto free_card; } -@@ -334,7 +371,7 @@ +@@ -334,7 +371,7 @@ static int mmc_init_card(struct mmc_host (host->caps & MMC_CAP_MMC_HIGHSPEED)) { err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_HS_TIMING, 1); @@ -2247,7 +2247,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 goto free_card; mmc_card_set_highspeed(card); -@@ -363,7 +400,7 @@ +@@ -363,7 +400,7 @@ static int mmc_init_card(struct mmc_host (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); @@ -2256,7 +2256,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 goto free_card; mmc_set_bus_width(card->host, MMC_BUS_WIDTH_4); -@@ -372,14 +409,14 @@ +@@ -372,14 +409,14 @@ static int mmc_init_card(struct mmc_host if (!oldcard) host->card = card; @@ -2273,7 +2273,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 } /* -@@ -413,7 +450,7 @@ +@@ -413,7 +450,7 @@ static void mmc_detect(struct mmc_host * mmc_release_host(host); @@ -2282,7 +2282,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 mmc_remove(host); mmc_claim_host(host); -@@ -480,7 +517,8 @@ +@@ -480,7 +517,8 @@ static void mmc_suspend(struct mmc_host BUG_ON(!host->card); mmc_claim_host(host); @@ -2292,7 +2292,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 host->card->state &= ~MMC_STATE_HIGHSPEED; mmc_release_host(host); } -@@ -502,7 +540,7 @@ +@@ -502,7 +540,7 @@ static void mmc_resume(struct mmc_host * err = mmc_init_card(host, host->ocr, host->card); mmc_release_host(host); @@ -2301,7 +2301,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 mmc_remove(host); mmc_claim_host(host); -@@ -536,11 +574,20 @@ +@@ -536,11 +574,20 @@ int mmc_attach_mmc(struct mmc_host *host int err; BUG_ON(!host); @@ -2323,7 +2323,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 * Sanity check the voltages that the card claims to * support. */ -@@ -565,7 +612,7 @@ +@@ -565,7 +612,7 @@ int mmc_attach_mmc(struct mmc_host *host * Detect and init the card. */ err = mmc_init_card(host, host->ocr, NULL); @@ -2332,7 +2332,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 goto err; mmc_release_host(host); -@@ -587,6 +634,6 @@ +@@ -587,6 +634,6 @@ err: printk(KERN_ERR "%s: error %d whilst initialising MMC card\n", mmc_hostname(host), err); @@ -2350,7 +2350,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 #include #include -@@ -40,10 +39,10 @@ +@@ -40,10 +39,10 @@ static int _mmc_select_card(struct mmc_h } err = mmc_wait_for_cmd(host, &cmd, MMC_CMD_RETRIES); @@ -2363,7 +2363,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 } int mmc_select_card(struct mmc_card *card) -@@ -63,23 +62,36 @@ +@@ -63,23 +62,36 @@ int mmc_go_idle(struct mmc_host *host) int err; struct mmc_command cmd; @@ -2406,7 +2406,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 return err; } -@@ -94,23 +106,33 @@ +@@ -94,23 +106,33 @@ int mmc_send_op_cond(struct mmc_host *ho memset(&cmd, 0, sizeof(struct mmc_command)); cmd.opcode = MMC_SEND_OP_COND; @@ -2446,7 +2446,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 *rocr = cmd.resp[0]; return err; -@@ -131,12 +153,12 @@ +@@ -131,12 +153,12 @@ int mmc_all_send_cid(struct mmc_host *ho cmd.flags = MMC_RSP_R2 | MMC_CMD_BCR; err = mmc_wait_for_cmd(host, &cmd, MMC_CMD_RETRIES); @@ -2461,7 +2461,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 } int mmc_set_relative_addr(struct mmc_card *card) -@@ -154,46 +176,52 @@ +@@ -154,46 +176,52 @@ int mmc_set_relative_addr(struct mmc_car cmd.flags = MMC_RSP_R1 | MMC_CMD_AC; err = mmc_wait_for_cmd(card->host, &cmd, MMC_CMD_RETRIES); @@ -2530,7 +2530,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 memset(&mrq, 0, sizeof(struct mmc_request)); memset(&cmd, 0, sizeof(struct mmc_command)); -@@ -202,28 +230,117 @@ +@@ -202,28 +230,117 @@ int mmc_send_ext_csd(struct mmc_card *ca mrq.cmd = &cmd; mrq.data = &data; @@ -2657,7 +2657,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 } int mmc_switch(struct mmc_card *card, u8 set, u8 index, u8 value) -@@ -241,13 +358,13 @@ +@@ -241,13 +358,13 @@ int mmc_switch(struct mmc_card *card, u8 (index << 16) | (value << 8) | set; @@ -2674,7 +2674,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 } int mmc_send_status(struct mmc_card *card, u32 *status) -@@ -261,16 +378,20 @@ +@@ -261,16 +378,20 @@ int mmc_send_status(struct mmc_card *car memset(&cmd, 0, sizeof(struct mmc_command)); cmd.opcode = MMC_SEND_STATUS; @@ -2701,7 +2701,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 --- a/drivers/mmc/core/mmc_ops.h +++ b/drivers/mmc/core/mmc_ops.h -@@ -22,6 +22,9 @@ +@@ -22,6 +22,9 @@ int mmc_send_csd(struct mmc_card *card, 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); @@ -2713,7 +2713,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 --- a/drivers/mmc/core/sd.c +++ b/drivers/mmc/core/sd.c -@@ -166,8 +166,6 @@ +@@ -166,8 +166,6 @@ static int mmc_decode_scr(struct mmc_car unsigned int scr_struct; u32 resp[4]; @@ -2722,7 +2722,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 resp[3] = card->raw_scr[1]; resp[2] = card->raw_scr[0]; -@@ -193,30 +191,38 @@ +@@ -193,30 +191,38 @@ static int mmc_read_switch(struct mmc_ca u8 *status; if (card->scr.sda_vsn < SCR_SPEC_VER_1) @@ -2767,7 +2767,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 goto out; } -@@ -238,28 +244,28 @@ +@@ -238,28 +244,28 @@ static int mmc_switch_hs(struct mmc_card u8 *status; if (card->scr.sda_vsn < SCR_SPEC_VER_1) @@ -2803,7 +2803,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 goto out; if ((status[16] & 0xF) != 1) { -@@ -292,7 +298,7 @@ +@@ -292,7 +298,7 @@ static int mmc_sd_init_card(struct mmc_h unsigned int max_dtr; BUG_ON(!host); @@ -2812,7 +2812,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 /* * Since we're changing the OCR value, we seem to -@@ -309,23 +315,37 @@ +@@ -309,23 +315,37 @@ static int mmc_sd_init_card(struct mmc_h * block-addressed SDHC cards. */ err = mmc_send_if_cond(host, ocr); @@ -2855,7 +2855,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 card = oldcard; } else { -@@ -333,32 +353,36 @@ +@@ -333,32 +353,36 @@ static int mmc_sd_init_card(struct mmc_h * Allocate card structure. */ card = mmc_alloc_card(host); @@ -2900,7 +2900,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 goto free_card; mmc_decode_cid(card); -@@ -367,16 +391,18 @@ +@@ -367,16 +391,18 @@ static int mmc_sd_init_card(struct mmc_h /* * Select card, as all following commands rely on that. */ @@ -2923,7 +2923,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 goto free_card; err = mmc_decode_scr(card); -@@ -387,7 +413,7 @@ +@@ -387,7 +413,7 @@ static int mmc_sd_init_card(struct mmc_h * Fetch switch information from card. */ err = mmc_read_switch(card); @@ -2932,7 +2932,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 goto free_card; } -@@ -395,7 +421,7 @@ +@@ -395,7 +421,7 @@ static int mmc_sd_init_card(struct mmc_h * Attempt to change to high-speed (if supported) */ err = mmc_switch_hs(card); @@ -2941,7 +2941,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 goto free_card; /* -@@ -418,7 +444,7 @@ +@@ -418,7 +444,7 @@ static int mmc_sd_init_card(struct mmc_h 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); @@ -2950,7 +2950,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 goto free_card; mmc_set_bus_width(host, MMC_BUS_WIDTH_4); -@@ -442,14 +468,14 @@ +@@ -442,14 +468,14 @@ static int mmc_sd_init_card(struct mmc_h if (!oldcard) host->card = card; @@ -2967,7 +2967,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 } /* -@@ -483,7 +509,7 @@ +@@ -483,7 +509,7 @@ static void mmc_sd_detect(struct mmc_hos mmc_release_host(host); @@ -2976,7 +2976,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 mmc_sd_remove(host); mmc_claim_host(host); -@@ -552,7 +578,8 @@ +@@ -552,7 +578,8 @@ static void mmc_sd_suspend(struct mmc_ho BUG_ON(!host->card); mmc_claim_host(host); @@ -2986,7 +2986,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 host->card->state &= ~MMC_STATE_HIGHSPEED; mmc_release_host(host); } -@@ -574,7 +601,7 @@ +@@ -574,7 +601,7 @@ static void mmc_sd_resume(struct mmc_hos err = mmc_sd_init_card(host, host->ocr, host->card); mmc_release_host(host); @@ -2995,7 +2995,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 mmc_sd_remove(host); mmc_claim_host(host); -@@ -608,11 +635,22 @@ +@@ -608,11 +635,22 @@ int mmc_attach_sd(struct mmc_host *host, int err; BUG_ON(!host); @@ -3019,7 +3019,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 * Sanity check the voltages that the card claims to * support. */ -@@ -644,7 +682,7 @@ +@@ -644,7 +682,7 @@ int mmc_attach_sd(struct mmc_host *host, * Detect and init the card. */ err = mmc_sd_init_card(host, host->ocr, NULL); @@ -3028,7 +3028,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 goto err; mmc_release_host(host); -@@ -666,6 +704,6 @@ +@@ -666,6 +704,6 @@ err: printk(KERN_ERR "%s: error %d whilst initialising SD card\n", mmc_hostname(host), err); @@ -3046,7 +3046,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 #include #include -@@ -33,21 +32,21 @@ +@@ -33,21 +32,21 @@ static int mmc_app_cmd(struct mmc_host * if (card) { cmd.arg = card->rca << 16; @@ -3074,7 +3074,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 } /** -@@ -73,7 +72,7 @@ +@@ -73,7 +72,7 @@ int mmc_wait_for_app_cmd(struct mmc_host BUG_ON(!cmd); BUG_ON(retries < 0); @@ -3083,7 +3083,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 /* * We have to resend MMC_APP_CMD for each attempt so -@@ -83,8 +82,14 @@ +@@ -83,8 +82,14 @@ int mmc_wait_for_app_cmd(struct mmc_host memset(&mrq, 0, sizeof(struct mmc_request)); err = mmc_app_cmd(host, card); @@ -3099,7 +3099,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 memset(&mrq, 0, sizeof(struct mmc_request)); -@@ -97,8 +102,14 @@ +@@ -97,8 +102,14 @@ int mmc_wait_for_app_cmd(struct mmc_host mmc_wait_for_req(host, &mrq); err = cmd->error; @@ -3115,7 +3115,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 } return err; -@@ -127,14 +138,14 @@ +@@ -127,14 +138,14 @@ int mmc_app_set_bus_width(struct mmc_car cmd.arg = SD_BUS_WIDTH_4; break; default: @@ -3133,7 +3133,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 } int mmc_send_app_op_cond(struct mmc_host *host, u32 ocr, u32 *rocr) -@@ -147,23 +158,36 @@ +@@ -147,23 +158,36 @@ int mmc_send_app_op_cond(struct mmc_host memset(&cmd, 0, sizeof(struct mmc_command)); cmd.opcode = SD_APP_OP_COND; @@ -3176,7 +3176,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 *rocr = cmd.resp[0]; return err; -@@ -174,6 +198,7 @@ +@@ -174,6 +198,7 @@ int mmc_send_if_cond(struct mmc_host *ho struct mmc_command cmd; int err; static const u8 test_pattern = 0xAA; @@ -3184,7 +3184,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 /* * To support SD 2.0 cards, we must always invoke SD_SEND_IF_COND -@@ -182,16 +207,21 @@ +@@ -182,16 +207,21 @@ int mmc_send_if_cond(struct mmc_host *ho */ cmd.opcode = SD_SEND_IF_COND; cmd.arg = ((ocr & 0xFF8000) != 0) << 8 | test_pattern; @@ -3211,7 +3211,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 } int mmc_send_relative_addr(struct mmc_host *host, unsigned int *rca) -@@ -209,12 +239,12 @@ +@@ -209,12 +239,12 @@ int mmc_send_relative_addr(struct mmc_ho cmd.flags = MMC_RSP_R6 | MMC_CMD_BCR; err = mmc_wait_for_cmd(host, &cmd, MMC_CMD_RETRIES); @@ -3226,7 +3226,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 } int mmc_app_send_scr(struct mmc_card *card, u32 *scr) -@@ -229,8 +259,10 @@ +@@ -229,8 +259,10 @@ int mmc_app_send_scr(struct mmc_card *ca BUG_ON(!card->host); BUG_ON(!scr); @@ -3238,7 +3238,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 return err; memset(&mrq, 0, sizeof(struct mmc_request)); -@@ -242,7 +274,7 @@ +@@ -242,7 +274,7 @@ int mmc_app_send_scr(struct mmc_card *ca cmd.opcode = SD_APP_SEND_SCR; cmd.arg = 0; @@ -3247,7 +3247,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 data.blksz = 8; data.blocks = 1; -@@ -252,19 +284,19 @@ +@@ -252,19 +284,19 @@ int mmc_app_send_scr(struct mmc_card *ca sg_init_one(&sg, scr, 8); @@ -3273,7 +3273,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 } int mmc_sd_switch(struct mmc_card *card, int mode, int group, -@@ -278,6 +310,8 @@ +@@ -278,6 +310,8 @@ int mmc_sd_switch(struct mmc_card *card, BUG_ON(!card); BUG_ON(!card->host); @@ -3282,7 +3282,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 mode = !!mode; value &= 0xF; -@@ -292,7 +326,7 @@ +@@ -292,7 +326,7 @@ int mmc_sd_switch(struct mmc_card *card, cmd.arg = mode << 31 | 0x00FFFFFF; cmd.arg &= ~(0xF << (group * 4)); cmd.arg |= value << (group * 4); @@ -3291,7 +3291,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 data.blksz = 64; data.blocks = 1; -@@ -302,15 +336,15 @@ +@@ -302,15 +336,15 @@ int mmc_sd_switch(struct mmc_card *card, sg_init_one(&sg, resp, 64); @@ -5403,7 +5403,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 + --- a/include/linux/mmc/card.h +++ b/include/linux/mmc/card.h -@@ -55,7 +55,28 @@ +@@ -55,7 +55,28 @@ struct sd_switch_caps { unsigned int hs_max_dtr; }; @@ -5432,7 +5432,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 /* * MMC device -@@ -67,11 +88,13 @@ +@@ -67,11 +88,13 @@ struct mmc_card { unsigned int type; /* card type */ #define MMC_TYPE_MMC 0 /* MMC card */ #define MMC_TYPE_SD 1 /* SD card */ @@ -5446,7 +5446,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 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 @@ +@@ -80,10 +103,19 @@ struct mmc_card { 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 */ @@ -5468,7 +5468,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 #define mmc_card_readonly(c) ((c)->state & MMC_STATE_READONLY) --- a/include/linux/mmc/core.h +++ b/include/linux/mmc/core.h -@@ -25,14 +25,20 @@ +@@ -25,14 +25,20 @@ struct mmc_command { #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 */ @@ -5491,7 +5491,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 * patterns of the above flags. One additional valid pattern * is all zeros, which means we don't expect a response. */ -@@ -41,12 +47,30 @@ +@@ -41,12 +47,30 @@ struct mmc_command { #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) @@ -5522,7 +5522,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 * These are the command types. */ #define mmc_cmd_type(cmd) ((cmd)->flags & MMC_CMD_MASK) -@@ -54,12 +78,19 @@ +@@ -54,12 +78,19 @@ struct mmc_command { unsigned int retries; /* max number of retries */ unsigned int error; /* command error */ @@ -5548,7 +5548,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 struct mmc_data *data; /* data segment associated with cmd */ struct mmc_request *mrq; /* associated request */ -@@ -76,7 +107,6 @@ +@@ -76,7 +107,6 @@ struct mmc_data { #define MMC_DATA_WRITE (1 << 8) #define MMC_DATA_READ (1 << 9) #define MMC_DATA_STREAM (1 << 10) @@ -5556,7 +5556,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 unsigned int bytes_xfered; -@@ -104,9 +134,20 @@ +@@ -104,9 +134,20 @@ extern int mmc_wait_for_cmd(struct mmc_h extern int mmc_wait_for_app_cmd(struct mmc_host *, struct mmc_card *, struct mmc_command *, int); @@ -5590,7 +5590,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 #include struct mmc_ios { -@@ -51,6 +53,7 @@ +@@ -51,6 +53,7 @@ struct mmc_host_ops { 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); @@ -5598,7 +5598,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 }; struct mmc_card; -@@ -87,9 +90,10 @@ +@@ -87,9 +90,10 @@ struct mmc_host { #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 */ @@ -5612,7 +5612,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 /* host specific block data */ unsigned int max_seg_size; /* see blk_queue_max_segment_size */ -@@ -106,23 +110,30 @@ +@@ -106,23 +110,30 @@ struct mmc_host { struct mmc_ios ios; /* current io bus settings */ u32 ocr; /* the current OCR setting */ @@ -5651,7 +5651,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 unsigned long private[0] ____cacheline_aligned; }; -@@ -137,6 +148,8 @@ +@@ -137,6 +148,8 @@ static inline void *mmc_priv(struct mmc_ return (void *)host->private; } @@ -5660,7 +5660,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 #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 @@ +@@ -147,5 +160,11 @@ extern int mmc_resume_host(struct mmc_ho extern void mmc_detect_change(struct mmc_host *, unsigned long delay); extern void mmc_request_done(struct mmc_host *, struct mmc_request *); @@ -5749,7 +5749,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 /* These are unpacked versions of the actual responses */ struct _mmc_csd { -@@ -182,6 +207,7 @@ +@@ -182,6 +207,7 @@ struct _mmc_csd { */ #define CCC_BASIC (1<<0) /* (0) Basic protocol functions */ /* (CMD0,1,2,3,4,7,9,10,12,13,15) */ @@ -5757,7 +5757,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 #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 @@ +@@ -227,6 +253,7 @@ struct _mmc_csd { #define EXT_CSD_BUS_WIDTH 183 /* R/W */ #define EXT_CSD_HS_TIMING 185 /* R/W */ #define EXT_CSD_CARD_TYPE 196 /* RO */ @@ -6117,7 +6117,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 +#endif --- a/include/linux/mod_devicetable.h +++ b/include/linux/mod_devicetable.h -@@ -22,6 +22,18 @@ +@@ -22,6 +22,18 @@ struct pci_device_id { }; @@ -6138,7 +6138,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 #define IEEE1394_MATCH_SPECIFIER_ID 0x0004 --- a/drivers/mmc/card/Kconfig +++ b/drivers/mmc/card/Kconfig -@@ -32,3 +32,10 @@ +@@ -32,3 +32,10 @@ config MMC_BLOCK_BOUNCE If unsure, say Y here. @@ -6151,7 +6151,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 + --- a/drivers/mmc/card/Makefile +++ b/drivers/mmc/card/Makefile -@@ -9,3 +9,5 @@ +@@ -9,3 +9,5 @@ endif obj-$(CONFIG_MMC_BLOCK) += mmc_block.o mmc_block-objs := block.o queue.o @@ -6169,7 +6169,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 /* * There is one mmc_blk_data per slot. -@@ -80,6 +83,9 @@ +@@ -80,6 +83,9 @@ static void mmc_blk_put(struct mmc_blk_d mutex_lock(&open_lock); md->usage--; if (md->usage == 0) { @@ -6179,7 +6179,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 put_disk(md->disk); kfree(md); } -@@ -151,17 +157,19 @@ +@@ -151,17 +157,19 @@ static u32 mmc_sd_num_wr_blocks(struct m cmd.opcode = MMC_APP_CMD; cmd.arg = card->rca << 16; @@ -6202,7 +6202,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 memset(&data, 0, sizeof(struct mmc_data)); -@@ -192,7 +200,7 @@ +@@ -192,7 +200,7 @@ static u32 mmc_sd_num_wr_blocks(struct m mmc_wait_for_req(card->host, &mrq); @@ -6211,7 +6211,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 return (u32)-1; blocks = ntohl(blocks); -@@ -220,17 +228,15 @@ +@@ -220,17 +228,15 @@ static int mmc_blk_issue_rq(struct mmc_q brq.cmd.arg = req->sector; if (!mmc_card_blockaddr(card)) brq.cmd.arg <<= 9; @@ -6231,7 +6231,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 /* * If the host doesn't support multiple block writes, force * block writes to single block. SD cards are excepted from -@@ -243,8 +249,12 @@ +@@ -243,8 +249,12 @@ static int mmc_blk_issue_rq(struct mmc_q brq.data.blocks = 1; if (brq.data.blocks > 1) { @@ -6246,7 +6246,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 readcmd = MMC_READ_MULTIPLE_BLOCK; writecmd = MMC_WRITE_MULTIPLE_BLOCK; } else { -@@ -261,6 +271,8 @@ +@@ -261,6 +271,8 @@ static int mmc_blk_issue_rq(struct mmc_q brq.data.flags |= MMC_DATA_WRITE; } @@ -6255,7 +6255,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 brq.data.sg = mq->sg; brq.data.sg_len = mmc_queue_map_sg(mq); -@@ -302,7 +314,7 @@ +@@ -302,7 +314,7 @@ static int mmc_blk_issue_rq(struct mmc_q goto cmd_err; } @@ -6264,7 +6264,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 do { int err; -@@ -315,7 +327,13 @@ +@@ -315,7 +327,13 @@ static int mmc_blk_issue_rq(struct mmc_q req->rq_disk->disk_name, err); goto cmd_err; } @@ -6279,7 +6279,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 #if 0 if (cmd.resp[0] & ~0x00000900) -@@ -394,9 +412,6 @@ +@@ -394,9 +412,6 @@ static int mmc_blk_issue_rq(struct mmc_q return 0; } @@ -6289,7 +6289,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 static inline int mmc_blk_readonly(struct mmc_card *card) { -@@ -510,7 +525,7 @@ +@@ -510,7 +525,7 @@ mmc_blk_set_blksize(struct mmc_blk_data mmc_claim_host(card->host); cmd.opcode = MMC_SET_BLOCKLEN; cmd.arg = 1 << md->block_bits; @@ -6298,7 +6298,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 err = mmc_wait_for_cmd(card->host, &cmd, 5); mmc_release_host(card->host); -@@ -562,17 +577,12 @@ +@@ -562,17 +577,12 @@ static void mmc_blk_remove(struct mmc_ca struct mmc_blk_data *md = mmc_get_drvdata(card); if (md) { @@ -6339,7 +6339,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 /* * Prepare a MMC request. This just filters out odd stuff. */ -@@ -159,6 +166,7 @@ +@@ -159,6 +166,7 @@ int mmc_init_queue(struct mmc_queue *mq, ret = -ENOMEM; goto cleanup_queue; } @@ -6347,7 +6347,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 mq->bounce_sg = kmalloc(sizeof(struct scatterlist) * bouncesz / 512, GFP_KERNEL); -@@ -166,6 +174,7 @@ +@@ -166,6 +174,7 @@ int mmc_init_queue(struct mmc_queue *mq, ret = -ENOMEM; goto cleanup_queue; } @@ -6355,7 +6355,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 } } #endif -@@ -183,6 +192,7 @@ +@@ -183,6 +192,7 @@ int mmc_init_queue(struct mmc_queue *mq, ret = -ENOMEM; goto cleanup_queue; } @@ -6363,7 +6363,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 } init_MUTEX(&mq->thread_sem); -@@ -302,12 +312,12 @@ +@@ -302,12 +312,12 @@ static void copy_sg(struct scatterlist * BUG_ON(dst_len == 0); if (dst_size == 0) { @@ -6378,7 +6378,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 src_size = src->length; } -@@ -353,9 +363,7 @@ +@@ -353,9 +363,7 @@ unsigned int mmc_queue_map_sg(struct mmc return 1; } @@ -7552,7 +7552,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3 +MODULE_LICENSE("GPL"); --- a/drivers/mmc/core/Makefile +++ b/drivers/mmc/core/Makefile -@@ -8,5 +8,7 @@ +@@ -8,5 +8,7 @@ endif 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 e6152b219..666ba096a 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,6 +1,6 @@ --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c -@@ -481,16 +481,16 @@ +@@ -481,16 +481,16 @@ static void sdhci_finish_data(struct sdh * Controller doesn't count down when in single block mode. */ if (data->blocks == 1) @@ -20,7 +20,7 @@ } if (data->stop) { -@@ -498,7 +498,7 @@ +@@ -498,7 +498,7 @@ static void sdhci_finish_data(struct sdh * The controller needs a reset of internal state machines * upon error conditions. */ @@ -29,7 +29,7 @@ sdhci_reset(host, SDHCI_RESET_CMD); sdhci_reset(host, SDHCI_RESET_DATA); } -@@ -533,7 +533,7 @@ +@@ -533,7 +533,7 @@ static void sdhci_send_command(struct sd printk(KERN_ERR "%s: Controller never released " "inhibit bit(s).\n", mmc_hostname(host->mmc)); sdhci_dumpregs(host); @@ -38,7 +38,7 @@ tasklet_schedule(&host->finish_tasklet); return; } -@@ -554,7 +554,7 @@ +@@ -554,7 +554,7 @@ static void sdhci_send_command(struct sd if ((cmd->flags & MMC_RSP_136) && (cmd->flags & MMC_RSP_BUSY)) { printk(KERN_ERR "%s: Unsupported response type!\n", mmc_hostname(host->mmc)); @@ -47,7 +47,7 @@ tasklet_schedule(&host->finish_tasklet); return; } -@@ -601,7 +601,7 @@ +@@ -601,7 +601,7 @@ static void sdhci_finish_command(struct } } @@ -56,7 +56,7 @@ if (host->data && host->data_early) sdhci_finish_data(host); -@@ -722,7 +722,7 @@ +@@ -722,7 +722,7 @@ static void sdhci_request(struct mmc_hos host->mrq = mrq; if (!(readl(host->ioaddr + SDHCI_PRESENT_STATE) & SDHCI_CARD_PRESENT)) { @@ -65,7 +65,7 @@ tasklet_schedule(&host->finish_tasklet); } else sdhci_send_command(host, mrq->cmd); -@@ -831,7 +831,7 @@ +@@ -831,7 +831,7 @@ static void sdhci_tasklet_card(unsigned sdhci_reset(host, SDHCI_RESET_CMD); sdhci_reset(host, SDHCI_RESET_DATA); @@ -74,7 +74,7 @@ tasklet_schedule(&host->finish_tasklet); } } -@@ -859,9 +859,9 @@ +@@ -859,9 +859,9 @@ static void sdhci_tasklet_finish(unsigne * The controller needs a reset of internal state machines * upon error conditions. */ @@ -87,7 +87,7 @@ /* Some controllers need this kick or reset won't work here */ if (host->chip->quirks & SDHCI_QUIRK_CLOCK_BEFORE_RESET) { -@@ -906,13 +906,13 @@ +@@ -906,13 +906,13 @@ static void sdhci_timeout_timer(unsigned sdhci_dumpregs(host); if (host->data) { @@ -104,7 +104,7 @@ tasklet_schedule(&host->finish_tasklet); } -@@ -941,13 +941,12 @@ +@@ -941,13 +941,12 @@ static void sdhci_cmd_irq(struct sdhci_h } if (intmask & SDHCI_INT_TIMEOUT) @@ -123,7 +123,7 @@ tasklet_schedule(&host->finish_tasklet); else if (intmask & SDHCI_INT_RESPONSE) sdhci_finish_command(host); -@@ -974,13 +973,11 @@ +@@ -974,13 +973,11 @@ static void sdhci_data_irq(struct sdhci_ } if (intmask & SDHCI_INT_DATA_TIMEOUT) @@ -141,7 +141,7 @@ sdhci_finish_data(host); else { if (intmask & (SDHCI_INT_DATA_AVAIL | SDHCI_INT_SPACE_AVAIL)) -@@ -1312,7 +1309,7 @@ +@@ -1312,7 +1309,7 @@ static int __devinit sdhci_probe_slot(st 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 c58248099..f929f4848 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,6 +1,6 @@ --- a/drivers/leds/Kconfig +++ b/drivers/leds/Kconfig -@@ -133,4 +133,8 @@ +@@ -133,4 +133,8 @@ config LEDS_TRIGGER_HEARTBEAT load average. If unsure, say Y. @@ -11,7 +11,7 @@ endif # NEW_LEDS --- a/drivers/leds/Makefile +++ b/drivers/leds/Makefile -@@ -22,3 +22,4 @@ +@@ -22,3 +22,4 @@ obj-$(CONFIG_LEDS_GPIO) += leds-gpio.o 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 a40ea02c1..88493a19d 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,6 +1,6 @@ --- a/drivers/leds/Kconfig +++ b/drivers/leds/Kconfig -@@ -81,6 +81,12 @@ +@@ -81,6 +81,12 @@ config LEDS_WRAP help This option enables support for the PCEngines WRAP programmable LEDs. @@ -15,7 +15,7 @@ depends LEDS_CLASS && ARCH_H1940 --- a/drivers/leds/Makefile +++ b/drivers/leds/Makefile -@@ -14,6 +14,7 @@ +@@ -14,6 +14,7 @@ obj-$(CONFIG_LEDS_S3C24XX) += leds-s3c2 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 2dabf931a..accece5d7 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,6 +1,6 @@ --- a/drivers/leds/Kconfig +++ b/drivers/leds/Kconfig -@@ -143,4 +143,11 @@ +@@ -143,4 +143,11 @@ config LEDS_TRIGGER_MORSE tristate "LED Morse Trigger" depends on LEDS_TRIGGERS @@ -14,7 +14,7 @@ endif # NEW_LEDS --- a/drivers/leds/Makefile +++ b/drivers/leds/Makefile -@@ -24,3 +24,4 @@ +@@ -24,3 +24,4 @@ obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledt 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 2b17d3385..1af2cfb79 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,6 +1,6 @@ --- a/drivers/leds/Kconfig +++ b/drivers/leds/Kconfig -@@ -150,4 +150,11 @@ +@@ -150,4 +150,11 @@ config LEDS_TRIGGER_DEFAULT_ON This allows LEDs to be initialised in the ON state. If unsure, say Y. @@ -14,7 +14,7 @@ endif # NEW_LEDS --- a/drivers/leds/Makefile +++ b/drivers/leds/Makefile -@@ -25,3 +25,4 @@ +@@ -25,3 +25,4 @@ obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += l 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 c7ede5dfb..31d40c944 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,6 +1,6 @@ --- a/drivers/input/misc/Kconfig +++ b/drivers/input/misc/Kconfig -@@ -183,4 +183,20 @@ +@@ -183,4 +183,20 @@ config HP_SDC_RTC Say Y here if you want to support the built-in real time clock of the HP SDC controller. @@ -23,7 +23,7 @@ endif --- a/drivers/input/misc/Makefile +++ b/drivers/input/misc/Makefile -@@ -18,3 +18,4 @@ +@@ -18,3 +18,4 @@ obj-$(CONFIG_INPUT_POWERMATE) += powerm 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/420-gpiodev.patch b/target/linux/generic-2.6/patches-2.6.23/420-gpiodev.patch index 1508685b6..8801d8702 100644 --- a/target/linux/generic-2.6/patches-2.6.23/420-gpiodev.patch +++ b/target/linux/generic-2.6/patches-2.6.23/420-gpiodev.patch @@ -1,6 +1,6 @@ --- a/drivers/char/Kconfig +++ b/drivers/char/Kconfig -@@ -970,6 +970,13 @@ +@@ -970,6 +970,13 @@ config CS5535_GPIO If compiled as a module, it will be called cs5535_gpio. @@ -16,7 +16,7 @@ depends on CPU_VR41XX --- a/drivers/char/Makefile +++ b/drivers/char/Makefile -@@ -93,6 +93,7 @@ +@@ -93,6 +93,7 @@ obj-$(CONFIG_SCx200_GPIO) += scx200_gpio obj-$(CONFIG_PC8736x_GPIO) += pc8736x_gpio.o obj-$(CONFIG_NSC_GPIO) += nsc_gpio.o obj-$(CONFIG_CS5535_GPIO) += cs5535_gpio.o diff --git a/target/linux/generic-2.6/patches-2.6.23/510-yaffs_support.patch b/target/linux/generic-2.6/patches-2.6.23/510-yaffs_support.patch index a48dfbbd2..60c89b2d7 100644 --- a/target/linux/generic-2.6/patches-2.6.23/510-yaffs_support.patch +++ b/target/linux/generic-2.6/patches-2.6.23/510-yaffs_support.patch @@ -1,6 +1,6 @@ --- a/fs/Kconfig +++ b/fs/Kconfig -@@ -419,6 +419,7 @@ +@@ -419,6 +419,7 @@ config FS_POSIX_ACL source "fs/xfs/Kconfig" source "fs/gfs2/Kconfig" @@ -10,7 +10,7 @@ tristate "OCFS2 file system support" --- a/fs/Makefile +++ b/fs/Makefile -@@ -120,3 +120,4 @@ +@@ -120,3 +120,4 @@ obj-$(CONFIG_HPPFS) += hppfs/ 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 cf874169f..b2d36a3fa 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,6 +1,6 @@ --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c -@@ -344,6 +344,50 @@ +@@ -344,6 +344,50 @@ int phy_ethtool_gset(struct phy_device * } EXPORT_SYMBOL(phy_ethtool_gset); @@ -53,7 +53,7 @@ * @phydev: the phy_device struct --- a/include/linux/phy.h +++ b/include/linux/phy.h -@@ -393,6 +393,7 @@ +@@ -393,6 +393,7 @@ void phy_start_machine(struct phy_device void phy_stop_machine(struct phy_device *phydev); int phy_ethtool_sset(struct phy_device *phydev, struct ethtool_cmd *cmd); int phy_ethtool_gset(struct phy_device *phydev, struct ethtool_cmd *cmd); 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 87af641bc..c56c00f59 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,6 +1,6 @@ --- a/drivers/net/phy/mdio_bus.c +++ b/drivers/net/phy/mdio_bus.c -@@ -131,6 +131,9 @@ +@@ -131,6 +131,9 @@ static int mdio_bus_match(struct device struct phy_device *phydev = to_phy_device(dev); struct phy_driver *phydrv = to_phy_driver(drv); @@ -12,7 +12,7 @@ } --- a/include/linux/phy.h +++ b/include/linux/phy.h -@@ -319,6 +319,11 @@ +@@ -319,6 +319,11 @@ struct phy_driver { 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 c7aadae3e..9820d145f 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,6 +1,6 @@ --- a/drivers/net/phy/Kconfig +++ b/drivers/net/phy/Kconfig -@@ -60,6 +60,11 @@ +@@ -60,6 +60,11 @@ config ICPLUS_PHY ---help--- Currently supports the IP175C PHY. @@ -14,7 +14,7 @@ ---help--- --- a/drivers/net/phy/Makefile +++ b/drivers/net/phy/Makefile -@@ -12,4 +12,5 @@ +@@ -12,4 +12,5 @@ obj-$(CONFIG_SMSC_PHY) += smsc.o 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 32d6c2fdd..3aa20157c 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,6 +1,6 @@ --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -44,6 +44,18 @@ +@@ -44,6 +44,18 @@ static struct phy_driver genphy_driver; extern int mdio_bus_init(void); extern void mdio_bus_exit(void); @@ -19,7 +19,7 @@ struct phy_device* phy_device_create(struct mii_bus *bus, int addr, int phy_id) { struct phy_device *dev; -@@ -67,6 +79,8 @@ +@@ -67,6 +79,8 @@ struct phy_device* phy_device_create(str dev->bus = bus; dev->state = PHY_DOWN; @@ -30,7 +30,7 @@ --- a/include/linux/phy.h +++ b/include/linux/phy.h -@@ -289,6 +289,17 @@ +@@ -289,6 +289,17 @@ struct phy_device { void (*adjust_link)(struct net_device *dev); void (*adjust_state)(struct net_device *dev); @@ -50,7 +50,7 @@ --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -426,6 +426,7 @@ +@@ -426,6 +426,7 @@ struct net_device void *ax25_ptr; /* AX.25 specific data */ struct wireless_dev *ieee80211_ptr; /* IEEE 802.11 specific data, assign before registering */ diff --git a/target/linux/generic-2.6/patches-2.6.23/640-mvswitch.patch b/target/linux/generic-2.6/patches-2.6.23/640-mvswitch.patch index ba628326c..8fe1df283 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,6 +1,6 @@ --- a/drivers/net/phy/Kconfig +++ b/drivers/net/phy/Kconfig -@@ -65,6 +65,12 @@ +@@ -65,6 +65,12 @@ config ADM6996_PHY ---help--- Currently supports the ADM6996F switch @@ -15,7 +15,7 @@ ---help--- --- a/drivers/net/phy/Makefile +++ b/drivers/net/phy/Makefile -@@ -13,4 +13,5 @@ +@@ -13,4 +13,5 @@ obj-$(CONFIG_VITESSE_PHY) += vitesse.o obj-$(CONFIG_BROADCOM_PHY) += broadcom.o obj-$(CONFIG_ICPLUS_PHY) += icplus.o obj-$(CONFIG_ADM6996_PHY) += adm6996.o @@ -36,7 +36,7 @@ /** * mdiobus_register - bring up all the PHYs on a given bus and attach them to bus * @bus: target mii_bus -@@ -85,6 +91,7 @@ +@@ -85,6 +91,7 @@ int mdiobus_register(struct mii_bus *bus 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 9f707363b..7fff15a56 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,6 +1,6 @@ --- a/init/main.c +++ b/init/main.c -@@ -780,7 +780,7 @@ +@@ -780,7 +780,7 @@ static int noinline init_post(void) 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 1370c8c3c..24ee35cba 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,6 +1,6 @@ --- a/drivers/usb/serial/usb-serial.c +++ b/drivers/usb/serial/usb-serial.c -@@ -58,6 +58,7 @@ +@@ -58,6 +58,7 @@ static struct usb_driver usb_serial_driv drivers depend on it. */ @@ -8,7 +8,7 @@ static int debug; static struct usb_serial *serial_table[SERIAL_TTY_MINORS]; /* initially all NULL */ static DEFINE_MUTEX(table_lock); -@@ -866,7 +867,7 @@ +@@ -866,7 +867,7 @@ int usb_serial_probe(struct usb_interfac dev_err(&interface->dev, "No free urbs available\n"); goto probe_error; } @@ -17,7 +17,7 @@ port->bulk_in_size = buffer_size; port->bulk_in_endpointAddress = endpoint->bEndpointAddress; port->bulk_in_buffer = kmalloc (buffer_size, GFP_KERNEL); -@@ -1276,3 +1277,5 @@ +@@ -1276,3 +1277,5 @@ MODULE_LICENSE("GPL"); module_param(debug, bool, S_IRUGO | S_IWUSR); MODULE_PARM_DESC(debug, "Debug enabled or not"); diff --git a/target/linux/generic-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 9dd011ca5..fc87a17f8 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 @@ -11,7 +11,7 @@ #include #ifdef __KERNEL__ -@@ -227,4 +231,6 @@ +@@ -227,4 +231,6 @@ struct itimerval { */ #define TIMER_ABSTIME 0x01 @@ -35,7 +35,7 @@ #ifdef __KERNEL__ #define BITS_TO_LONGS(bits) \ -@@ -162,6 +170,8 @@ +@@ -162,6 +170,8 @@ typedef unsigned long blkcnt_t; #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 9bf058bc7..29eeeb314 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 @@ -62,7 +62,7 @@ --- a/scripts/kconfig/Makefile +++ b/scripts/kconfig/Makefile -@@ -88,6 +88,9 @@ +@@ -88,6 +88,9 @@ check-lxdialog := $(srctree)/$(src)/lxd # we really need to do so. (Do not call gcc as part of make mrproper) HOST_EXTRACFLAGS = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ccflags) HOST_LOADLIBES = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC)) diff --git a/target/linux/generic-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 c0c01c010..7fe248d8d 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,6 +1,6 @@ --- a/include/linux/stddef.h +++ b/include/linux/stddef.h -@@ -16,6 +16,7 @@ +@@ -16,6 +16,7 @@ enum { false = 0, true = 1 }; @@ -8,7 +8,7 @@ #undef offsetof #ifdef __compiler_offsetof -@@ -23,6 +24,5 @@ +@@ -23,6 +24,5 @@ enum { #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 401b15126..8fc9381a6 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,6 +1,6 @@ --- a/scripts/gen_initramfs_list.sh +++ b/scripts/gen_initramfs_list.sh -@@ -125,7 +125,7 @@ +@@ -125,7 +125,7 @@ parse() { str="${ftype} ${name} ${location} ${str}" ;; "nod") @@ -9,7 +9,7 @@ local maj=`field 5 ${dev}` local min=`field 6 ${dev}` maj=${maj%,} -@@ -135,7 +135,7 @@ +@@ -135,7 +135,7 @@ parse() { str="${ftype} ${name} ${str} ${dev} ${maj} ${min}" ;; "slink") 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 a3221fa9a..1cc95132f 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 @@ -32,7 +32,7 @@ and didn't make it with the ppc32 equivalent. Thanks. --- --- a/include/asm-ppc/io.h +++ b/include/asm-ppc/io.h -@@ -453,11 +453,21 @@ +@@ -453,11 +453,21 @@ static inline unsigned int ioread16(void return readw(addr); } @@ -54,7 +54,7 @@ and didn't make it with the ppc32 equivalent. Thanks. static inline void iowrite8(u8 val, void __iomem *addr) { writeb(val, addr); -@@ -468,11 +478,21 @@ +@@ -468,11 +478,21 @@ static inline void iowrite16(u16 val, vo 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 eeb7285a0..1ad193249 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,6 +1,6 @@ --- a/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig -@@ -100,6 +100,11 @@ +@@ -100,6 +100,11 @@ config SPI_BUTTERFLY inexpensive battery powered microcontroller evaluation board. This same cable can be used to flash new firmware. @@ -14,7 +14,7 @@ depends on SPI_MASTER && ARCH_IMX && EXPERIMENTAL --- a/drivers/spi/Makefile +++ b/drivers/spi/Makefile -@@ -16,6 +16,7 @@ +@@ -16,6 +16,7 @@ obj-$(CONFIG_SPI_BFIN) += spi_bfin5xx. 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 fa2f38e54..dc5aadfbc 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,6 +1,6 @@ --- a/drivers/w1/masters/Kconfig +++ b/drivers/w1/masters/Kconfig -@@ -42,5 +42,15 @@ +@@ -42,5 +42,15 @@ config W1_MASTER_DS1WM in HP iPAQ devices like h5xxx, h2200, and ASIC3-based like hx4700. @@ -18,7 +18,7 @@ --- a/drivers/w1/masters/Makefile +++ b/drivers/w1/masters/Makefile -@@ -6,3 +6,4 @@ +@@ -6,3 +6,4 @@ obj-$(CONFIG_W1_MASTER_MATROX) += matro obj-$(CONFIG_W1_MASTER_DS2490) += ds2490.o obj-$(CONFIG_W1_MASTER_DS2482) += ds2482.o obj-$(CONFIG_W1_MASTER_DS1WM) += ds1wm.o 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 d889a7a62..d3c7cfd2b 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 @@ -2,7 +2,7 @@ This patch ports ssb to the 2.6.23 kernel. --- a/drivers/ssb/driver_mipscore.c +++ b/drivers/ssb/driver_mipscore.c -@@ -223,3 +223,5 @@ +@@ -223,3 +223,5 @@ void ssb_mipscore_init(struct ssb_mipsco ssb_mips_serial_init(mcore); ssb_mips_flash_detect(mcore); } @@ -10,7 +10,7 @@ This patch ports ssb to the 2.6.23 kernel. +EXPORT_SYMBOL(ssb_mips_irq); --- a/include/linux/mod_devicetable.h +++ b/include/linux/mod_devicetable.h -@@ -352,4 +352,19 @@ +@@ -352,4 +352,19 @@ struct parisc_device_id { #define PA_HVERSION_ANY_ID 0xffff #define PA_SVERSION_ANY_ID 0xffffffff @@ -32,7 +32,7 @@ This patch ports ssb to the 2.6.23 kernel. #endif /* LINUX_MOD_DEVICETABLE_H */ --- a/drivers/ssb/main.c +++ b/drivers/ssb/main.c -@@ -321,14 +321,16 @@ +@@ -321,14 +321,16 @@ static int ssb_bus_match(struct device * return 0; } @@ -53,7 +53,7 @@ This patch ports ssb to the 2.6.23 kernel. ssb_dev->id.revision); --- a/drivers/ssb/scan.c +++ b/drivers/ssb/scan.c -@@ -391,12 +391,14 @@ +@@ -391,12 +391,14 @@ int ssb_bus_scan(struct ssb_bus *bus, if (bus->bustype == SSB_BUSTYPE_PCI) { /* Ignore PCI cores on PCI-E cards. * Ignore PCI-E cores on PCI cards. */ @@ -74,7 +74,7 @@ This patch ports ssb to the 2.6.23 kernel. if (bus->pcicore.dev) { --- a/drivers/ssb/driver_pcicore.c +++ b/drivers/ssb/driver_pcicore.c -@@ -362,7 +362,7 @@ +@@ -362,7 +362,7 @@ static int pcicore_is_in_hostmode(struct chipid_top != 0x5300) return 0; -- 2.20.1