From 0f80ce2088410d9ccb5f3c8070210af67c787ae0 Mon Sep 17 00:00:00 2001 From: juhosg Date: Thu, 6 Nov 2008 20:55:33 +0000 Subject: [kernel] refresh 2.6.26 patches git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13135 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../generic-2.6/patches-2.6.26/001-squashfs.patch | 12 +- .../patches-2.6.26/002-lzma_decompress.patch | 2 +- .../patches-2.6.26/003-squashfs_lzma.patch | 10 +- .../patches-2.6.26/004-extra_optimization.patch | 2 +- .../patches-2.6.26/005-squashfs_fix.patch | 2 +- .../patches-2.6.26/006-gcc4_inline_fix.patch | 2 +- .../patches-2.6.26/007-samsung_flash.patch | 2 +- .../009-revert_intel_flash_breakage.patch | 16 +- .../patches-2.6.26/060-block2mtd_init.patch | 14 +- .../patches-2.6.26/065-rootfs_split.patch | 44 ++-- .../patches-2.6.26/070-redboot_space.patch | 2 +- .../patches-2.6.26/071-redboot_boardconfig.patch | 8 +- .../080-mtd_plat_nand_chip_fixup.patch | 4 +- .../patches-2.6.26/100-netfilter_layer7_2.17.patch | 10 +- .../101-netfilter_layer7_pktmatch.patch | 10 +- .../patches-2.6.26/110-ipp2p_0.8.1rc1.patch | 4 +- .../patches-2.6.26/130-netfilter_ipset.patch | 6 +- .../patches-2.6.26/140-netfilter_time.patch | 4 +- .../patches-2.6.26/150-netfilter_imq.patch | 18 +- .../170-netfilter_chaostables_0.8.patch | 12 +- .../patches-2.6.26/171-netfilter_tarpit.patch | 4 +- .../patches-2.6.26/180-netfilter_depends.patch | 4 +- .../patches-2.6.26/190-netfilter_rtsp.patch | 8 +- .../patches-2.6.26/200-sched_esfq.patch | 6 +- .../patches-2.6.26/202-mips-freestanding.patch | 2 +- .../patches-2.6.26/204-jffs2_eofdetect.patch | 22 +- .../patches-2.6.26/208-rtl8110sb_fix.patch | 8 +- .../generic-2.6/patches-2.6.26/209-mini_fo.patch | 4 +- .../patches-2.6.26/210-mini_fo_2.6.25_fixes.patch | 16 +- .../211-mini_fo_2.6.25_dentry_open_war.patch | 8 +- .../patches-2.6.26/212-mini_fo_2.6.26_fixes.patch | 8 +- .../patches-2.6.26/213-kobject_uevent.patch | 6 +- .../patches-2.6.26/220-sound_kconfig.patch | 2 +- .../patches-2.6.26/400-ledtrig_morse.patch | 4 +- .../generic-2.6/patches-2.6.26/401-led_alix.patch | 4 +- .../patches-2.6.26/402-ledtrig_netdev.patch | 4 +- .../patches-2.6.26/410-gpio_buttons.patch | 4 +- .../generic-2.6/patches-2.6.26/420-gpiodev.patch | 4 +- .../patches-2.6.26/510-yaffs_support.patch | 4 +- .../patches-2.6.26/512-yaffs_2.6.25_fix.patch | 10 +- .../patches-2.6.26/513-yaffs_2.6.26_fix.patch | 14 +- .../patches-2.6.26/600-phy_extension.patch | 8 +- .../patches-2.6.26/610-phy_detect.patch | 4 +- .../patches-2.6.26/620-phy_adm6996.patch | 4 +- .../patches-2.6.26/630-phy_packets.patch | 8 +- .../generic-2.6/patches-2.6.26/640-mvswitch.patch | 6 +- .../801-usb_serial_endpoint_size.patch | 6 +- .../840-unable_to_open_console.patch | 2 +- .../patches-2.6.26/900-headers_type_and_time.patch | 4 +- .../902-darwin_scripts_include.patch | 2 +- .../patches-2.6.26/903-hostap_txpower.patch | 14 +- .../patches-2.6.26/903-stddef_include.patch | 4 +- .../patches-2.6.26/910-cryptodev_backport.patch | 240 ++++++++++----------- .../patches-2.6.26/915-hso-backport.patch | 6 +- .../patches-2.6.26/921-gpio_spi_driver.patch | 6 +- .../generic-2.6/patches-2.6.26/922-gpiommc.patch | 6 +- .../923-gpiommc-configfs-locking.patch | 12 +- .../930-ppc_big_endian_io_memory_accessors.patch | 4 +- .../patches-2.6.26/940-arm_mach_types.patch | 8 +- .../950-revert_xt_sctp_simplify.patch | 2 +- .../patches-2.6.26/951-revert_gcc4_4_fixes.patch | 8 +- .../patches-2.6.26/970-ocf_20080704.patch | 10 +- .../980-backport_gpio_sysfs_support.patch | 50 ++--- ...81-backport_usb_serial_sierrawireless_ids.patch | 2 +- 64 files changed, 373 insertions(+), 373 deletions(-) (limited to 'target/linux/generic-2.6') diff --git a/target/linux/generic-2.6/patches-2.6.26/001-squashfs.patch b/target/linux/generic-2.6/patches-2.6.26/001-squashfs.patch index ab854bba4..f82f4ee3e 100644 --- a/target/linux/generic-2.6/patches-2.6.26/001-squashfs.patch +++ b/target/linux/generic-2.6/patches-2.6.26/001-squashfs.patch @@ -1,6 +1,6 @@ --- a/fs/Kconfig +++ b/fs/Kconfig -@@ -1395,6 +1395,71 @@ +@@ -1395,6 +1395,71 @@ config CRAMFS If unsure, say N. @@ -74,7 +74,7 @@ depends on BLOCK --- a/fs/Makefile +++ b/fs/Makefile -@@ -73,6 +73,7 @@ +@@ -73,6 +73,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.26/002-lzma_decompress.patch b/target/linux/generic-2.6/patches-2.6.26/002-lzma_decompress.patch index fdc303986..939e0a9e3 100644 --- a/target/linux/generic-2.6/patches-2.6.26/002-lzma_decompress.patch +++ b/target/linux/generic-2.6/patches-2.6.26/002-lzma_decompress.patch @@ -769,7 +769,7 @@ +} --- a/lib/Makefile +++ b/lib/Makefile -@@ -14,7 +14,7 @@ +@@ -14,7 +14,7 @@ lib-$(CONFIG_SMP) += cpumask.o lib-y += kobject.o kref.o klist.o obj-y += div64.o sort.o parser.o halfmd4.o debug_locks.o random32.o \ diff --git a/target/linux/generic-2.6/patches-2.6.26/003-squashfs_lzma.patch b/target/linux/generic-2.6/patches-2.6.26/003-squashfs_lzma.patch index 16cc87319..9050e370c 100644 --- a/target/linux/generic-2.6/patches-2.6.26/003-squashfs_lzma.patch +++ b/target/linux/generic-2.6/patches-2.6.26/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.26/004-extra_optimization.patch b/target/linux/generic-2.6/patches-2.6.26/004-extra_optimization.patch index 6dc316e6f..723bd06b9 100644 --- a/target/linux/generic-2.6/patches-2.6.26/004-extra_optimization.patch +++ b/target/linux/generic-2.6/patches-2.6.26/004-extra_optimization.patch @@ -1,6 +1,6 @@ --- a/Makefile +++ b/Makefile -@@ -537,6 +537,9 @@ +@@ -537,6 +537,9 @@ endif NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include) CHECKFLAGS += $(NOSTDINC_FLAGS) diff --git a/target/linux/generic-2.6/patches-2.6.26/005-squashfs_fix.patch b/target/linux/generic-2.6/patches-2.6.26/005-squashfs_fix.patch index 961829e58..56b7fc2c4 100644 --- a/target/linux/generic-2.6/patches-2.6.26/005-squashfs_fix.patch +++ b/target/linux/generic-2.6/patches-2.6.26/005-squashfs_fix.patch @@ -8,7 +8,7 @@ #include #include #include -@@ -2125,7 +2126,7 @@ +@@ -2125,7 +2126,7 @@ static void squashfs_destroy_inode(struc } diff --git a/target/linux/generic-2.6/patches-2.6.26/006-gcc4_inline_fix.patch b/target/linux/generic-2.6/patches-2.6.26/006-gcc4_inline_fix.patch index dbb7e7c87..cd62e9c25 100644 --- a/target/linux/generic-2.6/patches-2.6.26/006-gcc4_inline_fix.patch +++ b/target/linux/generic-2.6/patches-2.6.26/006-gcc4_inline_fix.patch @@ -1,6 +1,6 @@ --- a/include/asm-mips/system.h +++ b/include/asm-mips/system.h -@@ -185,7 +185,7 @@ +@@ -185,7 +185,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.26/007-samsung_flash.patch b/target/linux/generic-2.6/patches-2.6.26/007-samsung_flash.patch index 71e47a55c..d55192a8b 100644 --- a/target/linux/generic-2.6/patches-2.6.26/007-samsung_flash.patch +++ b/target/linux/generic-2.6/patches-2.6.26/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 *); -@@ -324,12 +325,19 @@ +@@ -324,12 +325,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.26/009-revert_intel_flash_breakage.patch b/target/linux/generic-2.6/patches-2.6.26/009-revert_intel_flash_breakage.patch index 21c2bde58..bb8daa033 100644 --- a/target/linux/generic-2.6/patches-2.6.26/009-revert_intel_flash_breakage.patch +++ b/target/linux/generic-2.6/patches-2.6.26/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 -@@ -1010,7 +1010,7 @@ +@@ -1010,7 +1010,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; -@@ -1019,7 +1019,7 @@ +@@ -1019,7 +1019,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; -@@ -1129,8 +1129,8 @@ +@@ -1129,8 +1129,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 -@@ -1142,65 +1142,65 @@ +@@ -1142,65 +1142,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; -@@ -1209,7 +1209,8 @@ +@@ -1209,7 +1209,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) -@@ -1443,7 +1444,7 @@ +@@ -1443,7 +1444,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); -@@ -1683,7 +1684,7 @@ +@@ -1683,7 +1684,7 @@ static int __xipram do_write_buffer(stru ret = INVAL_CACHE_AND_WAIT(map, chip, cmd_adr, initial_adr, initial_len, @@ -158,7 +158,7 @@ if (ret) { map_write(map, CMD(0x70), cmd_adr); chip->state = FL_STATUS; -@@ -1818,7 +1819,7 @@ +@@ -1818,7 +1819,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.26/060-block2mtd_init.patch b/target/linux/generic-2.6/patches-2.6.26/060-block2mtd_init.patch index 6fb0be101..4f046b469 100644 --- a/target/linux/generic-2.6/patches-2.6.26/060-block2mtd_init.patch +++ b/target/linux/generic-2.6/patches-2.6.26/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 */ @@ -44,7 +44,7 @@ dev->mtd.erasesize = erase_size; dev->mtd.writesize = 1; dev->mtd.type = MTD_RAM; -@@ -299,14 +305,17 @@ +@@ -299,14 +305,17 @@ static struct block2mtd_dev *add_device( dev->mtd.priv = dev; dev->mtd.owner = THIS_MODULE; @@ -65,7 +65,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) { @@ -77,7 +77,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); @@ -86,7 +86,7 @@ token[i] = strsep(&str, ","); if (str) -@@ -411,8 +420,10 @@ +@@ -411,8 +420,10 @@ static int block2mtd_setup2(const char * parse_err("illegal erase size"); } } @@ -98,7 +98,7 @@ return 0; } -@@ -446,7 +457,7 @@ +@@ -446,7 +457,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.26/065-rootfs_split.patch b/target/linux/generic-2.6/patches-2.6.26/065-rootfs_split.patch index c619cdad2..2c0c4c40d 100644 --- a/target/linux/generic-2.6/patches-2.6.26/065-rootfs_split.patch +++ b/target/linux/generic-2.6/patches-2.6.26/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 -@@ -322,6 +324,316 @@ +@@ -322,6 +324,316 @@ int del_mtd_partitions(struct mtd_info * return 0; } @@ -354,7 +354,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 -@@ -334,171 +646,31 @@ +@@ -334,171 +646,31 @@ int add_mtd_partitions(struct mtd_info * int nbparts) { struct mtd_part *slave; @@ -547,7 +547,7 @@ } } -@@ -574,6 +746,32 @@ +@@ -574,6 +746,32 @@ int parse_mtd_partitions(struct mtd_info return ret; } @@ -582,7 +582,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; @@ -591,7 +591,7 @@ }; -@@ -86,6 +88,12 @@ +@@ -86,6 +88,12 @@ static int block2mtd_erase(struct mtd_in size_t len = instr->len; int err; @@ -604,7 +604,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); @@ -615,7 +615,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); @@ -633,7 +633,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); @@ -652,7 +652,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++; } @@ -664,7 +664,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; @@ -691,7 +691,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; @@ -701,7 +701,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; @@ -761,7 +761,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)) { @@ -861,7 +861,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; @@ -879,7 +879,7 @@ #include -@@ -756,6 +757,13 @@ +@@ -756,6 +757,13 @@ static int mtd_ioctl(struct inode *inode file->f_pos = 0; break; } @@ -895,7 +895,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; }; @@ -903,7 +903,7 @@ struct mtd_info { u_char type; u_int32_t flags; -@@ -213,6 +214,9 @@ +@@ -213,6 +214,9 @@ struct mtd_info { struct module *owner; int usecount; @@ -923,7 +923,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 */ @@ -931,7 +931,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 *); @@ -941,7 +941,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.26/070-redboot_space.patch b/target/linux/generic-2.6/patches-2.6.26/070-redboot_space.patch index 0f15bab3d..784fba1b7 100644 --- a/target/linux/generic-2.6/patches-2.6.26/070-redboot_space.patch +++ b/target/linux/generic-2.6/patches-2.6.26/070-redboot_space.patch @@ -1,6 +1,6 @@ --- a/drivers/mtd/redboot.c +++ b/drivers/mtd/redboot.c -@@ -251,14 +251,21 @@ +@@ -251,14 +251,21 @@ static int parse_redboot_partitions(stru #endif names += strlen(names)+1; diff --git a/target/linux/generic-2.6/patches-2.6.26/071-redboot_boardconfig.patch b/target/linux/generic-2.6/patches-2.6.26/071-redboot_boardconfig.patch index 07f569a73..1d6507997 100644 --- a/target/linux/generic-2.6/patches-2.6.26/071-redboot_boardconfig.patch +++ b/target/linux/generic-2.6/patches-2.6.26/071-redboot_boardconfig.patch @@ -9,7 +9,7 @@ struct fis_image_desc { unsigned char name[16]; // Null terminated name uint32_t flash_base; // Address within FLASH of image -@@ -43,6 +45,7 @@ +@@ -43,6 +45,7 @@ static int parse_redboot_partitions(stru struct mtd_partition **pparts, unsigned long fis_origin) { @@ -17,7 +17,7 @@ int nrparts = 0; struct fis_image_desc *buf; struct mtd_partition *parts; -@@ -211,14 +214,14 @@ +@@ -211,14 +214,14 @@ static int parse_redboot_partitions(stru } } #endif @@ -34,7 +34,7 @@ #ifdef CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED if (nulllen > 0) { strcpy(nullname, nullstring); -@@ -237,6 +240,8 @@ +@@ -237,6 +240,8 @@ static int parse_redboot_partitions(stru } #endif for ( ; iimg->size; parts[i].offset = fl->img->flash_base; parts[i].name = names; -@@ -270,6 +275,14 @@ +@@ -270,6 +275,14 @@ static int parse_redboot_partitions(stru fl = fl->next; kfree(tmp_fl); } diff --git a/target/linux/generic-2.6/patches-2.6.26/080-mtd_plat_nand_chip_fixup.patch b/target/linux/generic-2.6/patches-2.6.26/080-mtd_plat_nand_chip_fixup.patch index a263093c0..3440004e4 100644 --- a/target/linux/generic-2.6/patches-2.6.26/080-mtd_plat_nand_chip_fixup.patch +++ b/target/linux/generic-2.6/patches-2.6.26/080-mtd_plat_nand_chip_fixup.patch @@ -1,6 +1,6 @@ --- a/include/linux/mtd/nand.h +++ b/include/linux/mtd/nand.h -@@ -573,6 +573,7 @@ +@@ -573,6 +573,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 -@@ -71,7 +71,18 @@ +@@ -71,7 +71,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.26/100-netfilter_layer7_2.17.patch b/target/linux/generic-2.6/patches-2.6.26/100-netfilter_layer7_2.17.patch index 58ebdc532..5599537ea 100644 --- a/target/linux/generic-2.6/patches-2.6.26/100-netfilter_layer7_2.17.patch +++ b/target/linux/generic-2.6/patches-2.6.26/100-netfilter_layer7_2.17.patch @@ -1,6 +1,6 @@ --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -749,6 +749,27 @@ +@@ -749,6 +749,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 -@@ -78,6 +78,7 @@ +@@ -78,6 +78,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_RATEEST) 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 -@@ -205,6 +205,14 @@ +@@ -205,6 +205,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 -@@ -174,7 +174,12 @@ +@@ -174,7 +174,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 -@@ -124,6 +124,22 @@ +@@ -124,6 +124,22 @@ struct nf_conn u_int32_t secmark; #endif diff --git a/target/linux/generic-2.6/patches-2.6.26/101-netfilter_layer7_pktmatch.patch b/target/linux/generic-2.6/patches-2.6.26/101-netfilter_layer7_pktmatch.patch index dff6d188a..ad0fdb823 100644 --- a/target/linux/generic-2.6/patches-2.6.26/101-netfilter_layer7_pktmatch.patch +++ b/target/linux/generic-2.6/patches-2.6.26/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. */ @@ -60,7 +60,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; @@ -69,7 +69,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 */ @@ -80,7 +80,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.26/110-ipp2p_0.8.1rc1.patch b/target/linux/generic-2.6/patches-2.6.26/110-ipp2p_0.8.1rc1.patch index 053f1c7e1..6b01fac4f 100644 --- a/target/linux/generic-2.6/patches-2.6.26/110-ipp2p_0.8.1rc1.patch +++ b/target/linux/generic-2.6/patches-2.6.26/110-ipp2p_0.8.1rc1.patch @@ -893,7 +893,7 @@ + --- a/net/ipv4/netfilter/Kconfig +++ b/net/ipv4/netfilter/Kconfig -@@ -57,6 +57,12 @@ +@@ -57,6 +57,12 @@ config IP_NF_IPTABLES To compile it as a module, choose M here. If unsure, say N. # The matches. @@ -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_ECN) += ipt_ecn obj-$(CONFIG_IP_NF_MATCH_RECENT) += ipt_recent.o obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o diff --git a/target/linux/generic-2.6/patches-2.6.26/130-netfilter_ipset.patch b/target/linux/generic-2.6/patches-2.6.26/130-netfilter_ipset.patch index 31e62e250..5f5ef6843 100644 --- a/target/linux/generic-2.6/patches-2.6.26/130-netfilter_ipset.patch +++ b/target/linux/generic-2.6/patches-2.6.26/130-netfilter_ipset.patch @@ -7517,7 +7517,7 @@ +module_exit(ipt_SET_fini); --- a/net/ipv4/netfilter/Kconfig +++ b/net/ipv4/netfilter/Kconfig -@@ -401,5 +401,122 @@ +@@ -401,5 +401,122 @@ config IP_NF_ARP_MANGLE Allows altering the ARP packet payload: source and destination hardware and network addresses. @@ -7642,7 +7642,7 @@ --- a/net/ipv4/netfilter/Makefile +++ b/net/ipv4/netfilter/Makefile -@@ -49,6 +49,7 @@ +@@ -49,6 +49,7 @@ obj-$(CONFIG_IP_NF_MATCH_AH) += ipt_ah.o obj-$(CONFIG_IP_NF_MATCH_ECN) += ipt_ecn.o obj-$(CONFIG_IP_NF_MATCH_RECENT) += ipt_recent.o obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o @@ -7650,7 +7650,7 @@ obj-$(CONFIG_IP_NF_MATCH_IPP2P) += ipt_ipp2p.o -@@ -62,6 +63,18 @@ +@@ -62,6 +63,18 @@ obj-$(CONFIG_IP_NF_TARGET_REDIRECT) += i obj-$(CONFIG_IP_NF_TARGET_REJECT) += ipt_REJECT.o obj-$(CONFIG_IP_NF_TARGET_TTL) += ipt_TTL.o obj-$(CONFIG_IP_NF_TARGET_ULOG) += ipt_ULOG.o diff --git a/target/linux/generic-2.6/patches-2.6.26/140-netfilter_time.patch b/target/linux/generic-2.6/patches-2.6.26/140-netfilter_time.patch index 821c0cef5..ef8c9b17f 100644 --- a/target/linux/generic-2.6/patches-2.6.26/140-netfilter_time.patch +++ b/target/linux/generic-2.6/patches-2.6.26/140-netfilter_time.patch @@ -204,7 +204,7 @@ +} --- a/net/ipv4/netfilter/Kconfig +++ b/net/ipv4/netfilter/Kconfig -@@ -63,6 +63,22 @@ +@@ -63,6 +63,22 @@ config IP_NF_MATCH_IPP2P help Module for matching traffic of various Peer-to-Peer applications @@ -229,7 +229,7 @@ depends on IP_NF_IPTABLES --- a/net/ipv4/netfilter/Makefile +++ b/net/ipv4/netfilter/Makefile -@@ -50,6 +50,7 @@ +@@ -50,6 +50,7 @@ obj-$(CONFIG_IP_NF_MATCH_ECN) += ipt_ecn obj-$(CONFIG_IP_NF_MATCH_RECENT) += ipt_recent.o obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o obj-$(CONFIG_IP_NF_MATCH_SET) += ipt_set.o diff --git a/target/linux/generic-2.6/patches-2.6.26/150-netfilter_imq.patch b/target/linux/generic-2.6/patches-2.6.26/150-netfilter_imq.patch index d43baf01d..c85e81160 100644 --- a/target/linux/generic-2.6/patches-2.6.26/150-netfilter_imq.patch +++ b/target/linux/generic-2.6/patches-2.6.26/150-netfilter_imq.patch @@ -477,7 +477,7 @@ + --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig -@@ -117,6 +117,129 @@ +@@ -117,6 +117,129 @@ config EQUALIZER To compile this driver as a module, choose M here: the module will be called eql. If unsure, say N. @@ -609,7 +609,7 @@ select CRC32 --- a/drivers/net/Makefile +++ b/drivers/net/Makefile -@@ -142,6 +142,7 @@ +@@ -142,6 +142,7 @@ obj-$(CONFIG_SLHC) += slhc.o obj-$(CONFIG_XEN_NETDEV_FRONTEND) += xen-netfront.o obj-$(CONFIG_DUMMY) += dummy.o @@ -653,7 +653,7 @@ +#endif /* _IP6T_IMQ_H */ --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -300,6 +300,10 @@ +@@ -300,6 +300,10 @@ struct sk_buff { struct nf_conntrack *nfct; struct sk_buff *nfct_reasm; #endif @@ -664,7 +664,7 @@ #ifdef CONFIG_BRIDGE_NETFILTER struct nf_bridge_info *nf_bridge; #endif -@@ -1633,6 +1637,10 @@ +@@ -1633,6 +1637,10 @@ static inline void __nf_copy(struct sk_b dst->nfct_reasm = src->nfct_reasm; nf_conntrack_get_reasm(src->nfct_reasm); #endif @@ -687,7 +687,7 @@ #include #include #include -@@ -1569,7 +1572,11 @@ +@@ -1569,7 +1572,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)) { @@ -774,7 +774,7 @@ +MODULE_LICENSE("GPL"); --- a/net/ipv4/netfilter/Kconfig +++ b/net/ipv4/netfilter/Kconfig -@@ -145,6 +145,17 @@ +@@ -145,6 +145,17 @@ config IP_NF_FILTER To compile it as a module, choose M here. If unsure, say N. @@ -794,7 +794,7 @@ depends on IP_NF_FILTER --- 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_CLUSTERIP) += ipt_CLUSTERIP.o obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_ECN.o obj-$(CONFIG_IP_NF_TARGET_LOG) += ipt_LOG.o @@ -876,7 +876,7 @@ +MODULE_LICENSE("GPL"); --- a/net/ipv6/netfilter/Kconfig +++ b/net/ipv6/netfilter/Kconfig -@@ -179,6 +179,15 @@ +@@ -179,6 +179,15 @@ config IP6_NF_MANGLE To compile it as a module, choose M here. If unsure, say N. @@ -904,7 +904,7 @@ --- a/net/sched/sch_generic.c +++ b/net/sched/sch_generic.c -@@ -203,6 +203,7 @@ +@@ -203,6 +203,7 @@ void __qdisc_run(struct net_device *dev) clear_bit(__LINK_STATE_QDISC_RUNNING, &dev->state); } diff --git a/target/linux/generic-2.6/patches-2.6.26/170-netfilter_chaostables_0.8.patch b/target/linux/generic-2.6/patches-2.6.26/170-netfilter_chaostables_0.8.patch index 9c69385df..6357f6df9 100644 --- a/target/linux/generic-2.6/patches-2.6.26/170-netfilter_chaostables_0.8.patch +++ b/target/linux/generic-2.6/patches-2.6.26/170-netfilter_chaostables_0.8.patch @@ -95,7 +95,7 @@ +#define xt_request_find_match xt_request_find_match_lo --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -288,6 +288,14 @@ +@@ -288,6 +288,14 @@ config NETFILTER_XTABLES # alphabetically ordered list of targets @@ -110,7 +110,7 @@ config NETFILTER_XT_TARGET_CLASSIFY tristate '"CLASSIFY" target support' depends on NETFILTER_XTABLES -@@ -317,6 +325,14 @@ +@@ -317,6 +325,14 @@ config NETFILTER_XT_TARGET_CONNMARK . The module will be called ipt_CONNMARK.ko. If unsure, say `N'. @@ -125,7 +125,7 @@ config NETFILTER_XT_TARGET_DSCP tristate '"DSCP" and "TOS" target support' depends on NETFILTER_XTABLES -@@ -653,6 +669,14 @@ +@@ -653,6 +669,14 @@ config NETFILTER_XT_MATCH_POLICY To compile it as a module, choose M here. If unsure, say N. @@ -142,7 +142,7 @@ depends on NETFILTER_XTABLES --- a/net/netfilter/Makefile +++ b/net/netfilter/Makefile -@@ -51,6 +51,8 @@ +@@ -51,6 +51,8 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_SECMARK obj-$(CONFIG_NETFILTER_XT_TARGET_TCPMSS) += xt_TCPMSS.o obj-$(CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP) += xt_TCPOPTSTRIP.o obj-$(CONFIG_NETFILTER_XT_TARGET_TRACE) += xt_TRACE.o @@ -151,7 +151,7 @@ # matches obj-$(CONFIG_NETFILTER_XT_MATCH_COMMENT) += xt_comment.o -@@ -84,3 +86,4 @@ +@@ -84,3 +86,4 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_STRING) obj-$(CONFIG_NETFILTER_XT_MATCH_TCPMSS) += xt_tcpmss.o obj-$(CONFIG_NETFILTER_XT_MATCH_TIME) += xt_time.o obj-$(CONFIG_NETFILTER_XT_MATCH_U32) += xt_u32.o @@ -833,7 +833,7 @@ +MODULE_ALIAS("ipt_portscan"); --- a/drivers/char/random.c +++ b/drivers/char/random.c -@@ -1554,6 +1554,8 @@ +@@ -1554,6 +1554,8 @@ __u32 secure_tcp_sequence_number(__be32 return seq; } diff --git a/target/linux/generic-2.6/patches-2.6.26/171-netfilter_tarpit.patch b/target/linux/generic-2.6/patches-2.6.26/171-netfilter_tarpit.patch index 24b334efe..6bddb5b8c 100644 --- a/target/linux/generic-2.6/patches-2.6.26/171-netfilter_tarpit.patch +++ b/target/linux/generic-2.6/patches-2.6.26/171-netfilter_tarpit.patch @@ -1,6 +1,6 @@ --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -449,6 +449,23 @@ +@@ -449,6 +449,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 -@@ -48,6 +48,7 @@ +@@ -48,6 +48,7 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_NFQUEUE obj-$(CONFIG_NETFILTER_XT_TARGET_NOTRACK) += xt_NOTRACK.o obj-$(CONFIG_NETFILTER_XT_TARGET_RATEEST) += xt_RATEEST.o obj-$(CONFIG_NETFILTER_XT_TARGET_SECMARK) += xt_SECMARK.o diff --git a/target/linux/generic-2.6/patches-2.6.26/180-netfilter_depends.patch b/target/linux/generic-2.6/patches-2.6.26/180-netfilter_depends.patch index 63c81b273..e63dd7b33 100644 --- a/target/linux/generic-2.6/patches-2.6.26/180-netfilter_depends.patch +++ b/target/linux/generic-2.6/patches-2.6.26/180-netfilter_depends.patch @@ -1,6 +1,6 @@ --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -157,7 +157,7 @@ +@@ -157,7 +157,7 @@ config NF_CONNTRACK_FTP config NF_CONNTRACK_H323 tristate "H.323 protocol support" @@ -9,7 +9,7 @@ depends on NETFILTER_ADVANCED help H.323 is a VoIP signalling protocol from ITU-T. As one of the most -@@ -468,7 +468,7 @@ +@@ -468,7 +468,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.26/190-netfilter_rtsp.patch b/target/linux/generic-2.6/patches-2.6.26/190-netfilter_rtsp.patch index 0b2965a94..505d0d1db 100644 --- a/target/linux/generic-2.6/patches-2.6.26/190-netfilter_rtsp.patch +++ b/target/linux/generic-2.6/patches-2.6.26/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 -@@ -270,6 +270,16 @@ +@@ -270,6 +270,16 @@ config NF_CONNTRACK_TFTP To compile it as a module, choose M here. If unsure, say N. @@ -323,7 +323,7 @@ depends on NF_CONNTRACK --- 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 -@@ -304,6 +304,11 @@ +@@ -304,6 +304,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.26/200-sched_esfq.patch b/target/linux/generic-2.6/patches-2.6.26/200-sched_esfq.patch index 4a336a959..1c8666a64 100644 --- a/target/linux/generic-2.6/patches-2.6.26/200-sched_esfq.patch +++ b/target/linux/generic-2.6/patches-2.6.26/200-sched_esfq.patch @@ -1,6 +1,6 @@ --- a/include/linux/pkt_sched.h +++ b/include/linux/pkt_sched.h -@@ -162,8 +162,37 @@ +@@ -162,8 +162,37 @@ struct tc_sfq_xstats * * 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 -@@ -128,6 +128,37 @@ +@@ -128,6 +128,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 -@@ -23,6 +23,7 @@ +@@ -23,6 +23,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.26/202-mips-freestanding.patch b/target/linux/generic-2.6/patches-2.6.26/202-mips-freestanding.patch index 17ef6c629..8ac3a7e4d 100644 --- a/target/linux/generic-2.6/patches-2.6.26/202-mips-freestanding.patch +++ b/target/linux/generic-2.6/patches-2.6.26/202-mips-freestanding.patch @@ -1,6 +1,6 @@ --- a/arch/mips/Makefile +++ b/arch/mips/Makefile -@@ -597,6 +597,9 @@ +@@ -597,6 +597,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.26/204-jffs2_eofdetect.patch b/target/linux/generic-2.6/patches-2.6.26/204-jffs2_eofdetect.patch index 17a082d2c..16d3e1f8e 100644 --- a/target/linux/generic-2.6/patches-2.6.26/204-jffs2_eofdetect.patch +++ b/target/linux/generic-2.6/patches-2.6.26/204-jffs2_eofdetect.patch @@ -1,6 +1,6 @@ --- a/fs/jffs2/build.c +++ b/fs/jffs2/build.c -@@ -111,6 +111,17 @@ +@@ -111,6 +111,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 -@@ -72,7 +72,7 @@ +@@ -72,7 +72,7 @@ static int file_dirty(struct jffs2_sb_in return ret; if ((ret = jffs2_scan_dirty_space(c, jeb, jeb->free_size))) return ret; @@ -29,7 +29,7 @@ think it's recoverable now. */ jeb->dirty_size += jeb->wasted_size; c->dirty_size += jeb->wasted_size; -@@ -144,8 +144,11 @@ +@@ -144,8 +144,11 @@ int jffs2_scan_medium(struct jffs2_sb_in /* reset summary info for next eraseblock scan */ jffs2_sum_reset_collected(s); @@ -43,7 +43,7 @@ if (ret < 0) goto out; -@@ -400,7 +403,7 @@ +@@ -400,7 +403,7 @@ static int jffs2_scan_xref_node(struct j if (!ref) return -ENOMEM; @@ -52,7 +52,7 @@ * and AFTER xattr_ref is marked as a dead xref, * ref->xid is used to store 32bit xid, xd is not used * ref->ino is used to store 32bit inode-number, ic is not used -@@ -473,7 +476,7 @@ +@@ -473,7 +476,7 @@ static int jffs2_scan_eraseblock (struct struct jffs2_sum_marker *sm; void *sumptr = NULL; uint32_t sumlen; @@ -61,7 +61,7 @@ if (!buf_size) { /* XIP case. Just look, point at the summary if it's there */ sm = (void *)buf + c->sector_size - sizeof(*sm); -@@ -489,9 +492,9 @@ +@@ -489,9 +492,9 @@ static int jffs2_scan_eraseblock (struct buf_len = sizeof(*sm); /* Read as much as we want into the _end_ of the preallocated buffer */ @@ -73,7 +73,7 @@ if (err) return err; -@@ -510,9 +513,9 @@ +@@ -510,9 +513,9 @@ static int jffs2_scan_eraseblock (struct } if (buf_len < sumlen) { /* Need to read more so that the entire summary node is present */ @@ -85,7 +85,7 @@ if (err) return err; } -@@ -525,7 +528,7 @@ +@@ -525,7 +528,7 @@ static int jffs2_scan_eraseblock (struct if (buf_size && sumlen > buf_size) kfree(sumptr); @@ -94,7 +94,7 @@ If it returns positive, that's a block classification (i.e. BLK_STATE_xxx) so return that too. If it returns zero, fall through to full scan. */ -@@ -546,6 +549,17 @@ +@@ -546,6 +549,17 @@ static int jffs2_scan_eraseblock (struct return err; } @@ -112,7 +112,7 @@ /* We temporarily use 'ofs' as a pointer into the buffer/jeb */ ofs = 0; -@@ -671,7 +685,7 @@ +@@ -671,7 +685,7 @@ scan_more: scan_end = buf_len; goto more_empty; } @@ -121,7 +121,7 @@ /* See how much more there is to read in this eraseblock... */ buf_len = min_t(uint32_t, buf_size, jeb->offset + c->sector_size - ofs); if (!buf_len) { -@@ -907,7 +921,7 @@ +@@ -907,7 +921,7 @@ scan_more: D1(printk(KERN_DEBUG "Block at 0x%08x: free 0x%08x, dirty 0x%08x, unchecked 0x%08x, used 0x%08x, wasted 0x%08x\n", jeb->offset,jeb->free_size, jeb->dirty_size, jeb->unchecked_size, jeb->used_size, jeb->wasted_size)); diff --git a/target/linux/generic-2.6/patches-2.6.26/208-rtl8110sb_fix.patch b/target/linux/generic-2.6/patches-2.6.26/208-rtl8110sb_fix.patch index e812f9b51..2196a494b 100644 --- a/target/linux/generic-2.6/patches-2.6.26/208-rtl8110sb_fix.patch +++ b/target/linux/generic-2.6/patches-2.6.26/208-rtl8110sb_fix.patch @@ -1,6 +1,6 @@ --- a/drivers/net/r8169.c +++ b/drivers/net/r8169.c -@@ -1539,7 +1539,7 @@ +@@ -1539,7 +1539,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, .msi = 0 -@@ -1548,7 +1548,7 @@ +@@ -1548,7 +1548,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, .msi = RTL_FEATURE_MSI -@@ -1557,7 +1557,7 @@ +@@ -1557,7 +1557,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, .msi = RTL_FEATURE_MSI -@@ -2905,10 +2905,12 @@ +@@ -2905,10 +2905,12 @@ static irqreturn_t rtl8169_interrupt(int break; } diff --git a/target/linux/generic-2.6/patches-2.6.26/209-mini_fo.patch b/target/linux/generic-2.6/patches-2.6.26/209-mini_fo.patch index aa40112e5..9dc12d47c 100644 --- a/target/linux/generic-2.6/patches-2.6.26/209-mini_fo.patch +++ b/target/linux/generic-2.6/patches-2.6.26/209-mini_fo.patch @@ -1,6 +1,6 @@ --- a/fs/Kconfig +++ b/fs/Kconfig -@@ -1477,6 +1477,9 @@ +@@ -1477,6 +1477,9 @@ config VXFS_FS To compile this as a module, choose M here: the module will be called freevxfs. If unsure, say N. @@ -12,7 +12,7 @@ depends on BLOCK --- a/fs/Makefile +++ b/fs/Makefile -@@ -77,6 +77,7 @@ +@@ -77,6 +77,7 @@ obj-$(CONFIG_SQUASHFS) += squashfs/ obj-y += ramfs/ obj-$(CONFIG_HUGETLBFS) += hugetlbfs/ obj-$(CONFIG_CODA_FS) += coda/ diff --git a/target/linux/generic-2.6/patches-2.6.26/210-mini_fo_2.6.25_fixes.patch b/target/linux/generic-2.6/patches-2.6.26/210-mini_fo_2.6.25_fixes.patch index 22ca3900e..d71e3b6fa 100644 --- a/target/linux/generic-2.6/patches-2.6.26/210-mini_fo_2.6.25_fixes.patch +++ b/target/linux/generic-2.6/patches-2.6.26/210-mini_fo_2.6.25_fixes.patch @@ -1,6 +1,6 @@ --- a/fs/mini_fo/main.c +++ b/fs/mini_fo/main.c -@@ -79,6 +79,7 @@ +@@ -79,6 +79,7 @@ mini_fo_tri_interpose(dentry_t *hidden_d * of the new inode's fields */ @@ -8,7 +8,7 @@ /* * original: inode = iget(sb, hidden_inode->i_ino); */ -@@ -87,6 +88,13 @@ +@@ -87,6 +88,13 @@ mini_fo_tri_interpose(dentry_t *hidden_d err = -EACCES; /* should be impossible??? */ goto out; } @@ -22,7 +22,7 @@ /* * interpose the inode if not already interposed -@@ -184,9 +192,9 @@ +@@ -184,9 +192,9 @@ mini_fo_parse_options(super_block_t *sb, hidden_root = ERR_PTR(err); goto out; } @@ -35,7 +35,7 @@ } else if(!strncmp("sto=", options, 4)) { /* parse the storage dir */ -@@ -204,9 +212,9 @@ +@@ -204,9 +212,9 @@ mini_fo_parse_options(super_block_t *sb, hidden_root2 = ERR_PTR(err); goto out; } @@ -50,7 +50,7 @@ /* validate storage dir, this is done in --- a/fs/mini_fo/mini_fo.h +++ b/fs/mini_fo/mini_fo.h -@@ -302,6 +302,10 @@ +@@ -302,6 +302,10 @@ extern int mini_fo_tri_interpose(dentry_ extern int mini_fo_cp_cont(dentry_t *tgt_dentry, struct vfsmount *tgt_mnt, dentry_t *src_dentry, struct vfsmount *src_mnt); @@ -61,7 +61,7 @@ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) extern int mini_fo_create(inode_t *dir, dentry_t *dentry, int mode, struct nameidata *nd); -@@ -501,6 +505,29 @@ +@@ -501,6 +505,29 @@ static inline void double_unlock(struct #endif /* if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) */ #endif /* __KERNEL__ */ @@ -93,7 +93,7 @@ */ --- a/fs/mini_fo/super.c +++ b/fs/mini_fo/super.c -@@ -262,10 +262,31 @@ +@@ -262,10 +262,31 @@ mini_fo_umount_begin(super_block_t *sb) } #endif @@ -127,7 +127,7 @@ #endif /* defined(FIST_DEBUG) || defined(FIST_FILTER_SCA) */ --- a/fs/mini_fo/aux.c +++ b/fs/mini_fo/aux.c -@@ -164,11 +164,11 @@ +@@ -164,11 +164,11 @@ dentry_t *bpath_walk(super_block_t *sb, err = vfs_path_lookup(mnt->mnt_root, mnt, bpath+1, 0, &nd); /* validate */ diff --git a/target/linux/generic-2.6/patches-2.6.26/211-mini_fo_2.6.25_dentry_open_war.patch b/target/linux/generic-2.6/patches-2.6.26/211-mini_fo_2.6.25_dentry_open_war.patch index 14a9f3766..48a19429b 100644 --- a/target/linux/generic-2.6/patches-2.6.26/211-mini_fo_2.6.25_dentry_open_war.patch +++ b/target/linux/generic-2.6/patches-2.6.26/211-mini_fo_2.6.25_dentry_open_war.patch @@ -1,6 +1,6 @@ --- a/fs/mini_fo/meta.c +++ b/fs/mini_fo/meta.c -@@ -442,6 +442,11 @@ +@@ -442,6 +442,11 @@ int meta_write_d_entry(dentry_t *dentry, S_IRUSR | S_IWUSR); #endif } @@ -12,7 +12,7 @@ /* open META-file for writing */ meta_file = dentry_open(meta_dentry, meta_mnt, 0x1); if(!meta_file || IS_ERR(meta_file)) { -@@ -535,6 +540,11 @@ +@@ -535,6 +540,11 @@ int meta_write_r_entry(dentry_t *dentry, meta_dentry, S_IRUSR | S_IWUSR); #endif } @@ -24,7 +24,7 @@ /* open META-file for writing */ meta_file = dentry_open(meta_dentry, meta_mnt, 0x1); if(!meta_file || IS_ERR(meta_file)) { -@@ -671,14 +681,16 @@ +@@ -671,14 +681,16 @@ int meta_sync_d_list(dentry_t *dentry, i } } @@ -44,7 +44,7 @@ dput(meta_dentry); err = -1; goto out; -@@ -811,14 +823,16 @@ +@@ -811,14 +823,16 @@ int meta_sync_r_list(dentry_t *dentry, i } } diff --git a/target/linux/generic-2.6/patches-2.6.26/212-mini_fo_2.6.26_fixes.patch b/target/linux/generic-2.6/patches-2.6.26/212-mini_fo_2.6.26_fixes.patch index f4a4572b4..8bd9ba324 100644 --- a/target/linux/generic-2.6/patches-2.6.26/212-mini_fo_2.6.26_fixes.patch +++ b/target/linux/generic-2.6/patches-2.6.26/212-mini_fo_2.6.26_fixes.patch @@ -1,6 +1,6 @@ --- a/fs/mini_fo/super.c +++ b/fs/mini_fo/super.c -@@ -84,6 +84,7 @@ +@@ -84,6 +84,7 @@ mini_fo_write_inode(inode_t *inode, int #endif /* defined(FIST_DEBUG) || defined(FIST_FILTER_SCA) */ @@ -8,7 +8,7 @@ STATIC void mini_fo_put_inode(inode_t *inode) { -@@ -99,6 +100,7 @@ +@@ -99,6 +100,7 @@ mini_fo_put_inode(inode_t *inode) if (atomic_read(&inode->i_count) == 1) inode->i_nlink = 0; } @@ -16,7 +16,7 @@ #if defined(FIST_DEBUG) || defined(FIST_FILTER_SCA) -@@ -238,7 +240,7 @@ +@@ -238,7 +240,7 @@ mini_fo_clear_inode(inode_t *inode) * dies. */ STATIC void @@ -25,7 +25,7 @@ mini_fo_umount_begin(struct vfsmount *mnt, int flags) { struct vfsmount *hidden_mnt; -@@ -290,7 +292,9 @@ +@@ -290,7 +292,9 @@ struct super_operations mini_fo_sops = #if defined(FIST_DEBUG) || defined(FIST_FILTER_SCA) write_inode: mini_fo_write_inode, #endif /* defined(FIST_DEBUG) || defined(FIST_FILTER_SCA) */ diff --git a/target/linux/generic-2.6/patches-2.6.26/213-kobject_uevent.patch b/target/linux/generic-2.6/patches-2.6.26/213-kobject_uevent.patch index 93ed1d035..279665e86 100644 --- a/target/linux/generic-2.6/patches-2.6.26/213-kobject_uevent.patch +++ b/target/linux/generic-2.6/patches-2.6.26/213-kobject_uevent.patch @@ -1,6 +1,6 @@ --- a/lib/kobject_uevent.c +++ b/lib/kobject_uevent.c -@@ -29,7 +29,8 @@ +@@ -29,7 +29,8 @@ u64 uevent_seqnum; char uevent_helper[UEVENT_HELPER_PATH_LEN] = CONFIG_UEVENT_HELPER_PATH; static DEFINE_SPINLOCK(sequence_lock); #if defined(CONFIG_NET) @@ -10,7 +10,7 @@ #endif /* the strings here must match the enum in include/linux/kobject.h */ -@@ -42,6 +43,18 @@ +@@ -42,6 +43,18 @@ static const char *kobject_actions[] = { [KOBJ_OFFLINE] = "offline", }; @@ -29,7 +29,7 @@ /** * kobject_action_type - translate action string to numeric type * -@@ -194,9 +207,7 @@ +@@ -194,9 +207,7 @@ int kobject_uevent_env(struct kobject *k kobj->state_remove_uevent_sent = 1; /* we will send an event, so request a new sequence number */ diff --git a/target/linux/generic-2.6/patches-2.6.26/220-sound_kconfig.patch b/target/linux/generic-2.6/patches-2.6.26/220-sound_kconfig.patch index c052f2ad2..d215d1207 100644 --- a/target/linux/generic-2.6/patches-2.6.26/220-sound_kconfig.patch +++ b/target/linux/generic-2.6/patches-2.6.26/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.26/400-ledtrig_morse.patch b/target/linux/generic-2.6/patches-2.6.26/400-ledtrig_morse.patch index d7544fa0e..8560a7dca 100644 --- a/target/linux/generic-2.6/patches-2.6.26/400-ledtrig_morse.patch +++ b/target/linux/generic-2.6/patches-2.6.26/400-ledtrig_morse.patch @@ -1,6 +1,6 @@ --- a/drivers/leds/Kconfig +++ b/drivers/leds/Kconfig -@@ -190,4 +190,8 @@ +@@ -190,4 +190,8 @@ config LEDS_TRIGGER_DEFAULT_ON This allows LEDs to be initialised in the ON state. If unsure, say Y. @@ -11,7 +11,7 @@ endif # NEW_LEDS --- a/drivers/leds/Makefile +++ b/drivers/leds/Makefile -@@ -27,3 +27,4 @@ +@@ -27,3 +27,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_DEFAULT_ON) += ledtrig-default-on.o diff --git a/target/linux/generic-2.6/patches-2.6.26/401-led_alix.patch b/target/linux/generic-2.6/patches-2.6.26/401-led_alix.patch index 1bec37ecb..80e5401c7 100644 --- a/target/linux/generic-2.6/patches-2.6.26/401-led_alix.patch +++ b/target/linux/generic-2.6/patches-2.6.26/401-led_alix.patch @@ -1,6 +1,6 @@ --- a/drivers/leds/Kconfig +++ b/drivers/leds/Kconfig -@@ -77,6 +77,12 @@ +@@ -77,6 +77,12 @@ config LEDS_WRAP help This option enables support for the PCEngines WRAP programmable LEDs. @@ -15,7 +15,7 @@ depends on LEDS_CLASS && ARCH_H1940 --- a/drivers/leds/Makefile +++ b/drivers/leds/Makefile -@@ -13,6 +13,7 @@ +@@ -13,6 +13,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.26/402-ledtrig_netdev.patch b/target/linux/generic-2.6/patches-2.6.26/402-ledtrig_netdev.patch index 8a564b2ec..16c6ef4a4 100644 --- a/target/linux/generic-2.6/patches-2.6.26/402-ledtrig_netdev.patch +++ b/target/linux/generic-2.6/patches-2.6.26/402-ledtrig_netdev.patch @@ -1,6 +1,6 @@ --- a/drivers/leds/Kconfig +++ b/drivers/leds/Kconfig -@@ -200,4 +200,11 @@ +@@ -200,4 +200,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 -@@ -29,3 +29,4 @@ +@@ -29,3 +29,4 @@ obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += l obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) += ledtrig-heartbeat.o obj-$(CONFIG_LEDS_TRIGGER_DEFAULT_ON) += ledtrig-default-on.o obj-$(CONFIG_LEDS_TRIGGER_MORSE) += ledtrig-morse.o diff --git a/target/linux/generic-2.6/patches-2.6.26/410-gpio_buttons.patch b/target/linux/generic-2.6/patches-2.6.26/410-gpio_buttons.patch index 6ae2cd7df..46ca987e5 100644 --- a/target/linux/generic-2.6/patches-2.6.26/410-gpio_buttons.patch +++ b/target/linux/generic-2.6/patches-2.6.26/410-gpio_buttons.patch @@ -1,6 +1,6 @@ --- a/drivers/input/misc/Kconfig +++ b/drivers/input/misc/Kconfig -@@ -197,4 +197,20 @@ +@@ -197,4 +197,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 -@@ -19,3 +19,4 @@ +@@ -19,3 +19,4 @@ obj-$(CONFIG_INPUT_YEALINK) += yealink. obj-$(CONFIG_HP_SDC_RTC) += hp_sdc_rtc.o obj-$(CONFIG_INPUT_UINPUT) += uinput.o obj-$(CONFIG_INPUT_APANEL) += apanel.o diff --git a/target/linux/generic-2.6/patches-2.6.26/420-gpiodev.patch b/target/linux/generic-2.6/patches-2.6.26/420-gpiodev.patch index 5865521bf..1caf27519 100644 --- a/target/linux/generic-2.6/patches-2.6.26/420-gpiodev.patch +++ b/target/linux/generic-2.6/patches-2.6.26/420-gpiodev.patch @@ -1,6 +1,6 @@ --- a/drivers/char/Kconfig +++ b/drivers/char/Kconfig -@@ -1002,6 +1002,13 @@ +@@ -1002,6 +1002,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 -@@ -95,6 +95,7 @@ +@@ -95,6 +95,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.26/510-yaffs_support.patch b/target/linux/generic-2.6/patches-2.6.26/510-yaffs_support.patch index e0f1a9bef..cef6ea592 100644 --- a/target/linux/generic-2.6/patches-2.6.26/510-yaffs_support.patch +++ b/target/linux/generic-2.6/patches-2.6.26/510-yaffs_support.patch @@ -1,6 +1,6 @@ --- a/fs/Kconfig +++ b/fs/Kconfig -@@ -421,6 +421,7 @@ +@@ -421,6 +421,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 -@@ -121,3 +121,4 @@ +@@ -121,3 +121,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.26/512-yaffs_2.6.25_fix.patch b/target/linux/generic-2.6/patches-2.6.26/512-yaffs_2.6.25_fix.patch index ac895342f..c12733634 100644 --- a/target/linux/generic-2.6/patches-2.6.26/512-yaffs_2.6.25_fix.patch +++ b/target/linux/generic-2.6/patches-2.6.26/512-yaffs_2.6.25_fix.patch @@ -1,6 +1,6 @@ --- a/fs/yaffs2/yaffs_fs.c +++ b/fs/yaffs2/yaffs_fs.c -@@ -181,7 +181,13 @@ +@@ -181,7 +181,13 @@ static int yaffs_statfs(struct super_blo #else static int yaffs_statfs(struct super_block *sb, struct statfs *buf); #endif @@ -14,7 +14,7 @@ static void yaffs_put_inode(struct inode *inode); static void yaffs_delete_inode(struct inode *); -@@ -284,7 +290,9 @@ +@@ -284,7 +290,9 @@ static struct file_operations yaffs_dir_ static struct super_operations yaffs_super_ops = { .statfs = yaffs_statfs, @@ -24,7 +24,7 @@ .put_inode = yaffs_put_inode, .put_super = yaffs_put_super, .delete_inode = yaffs_delete_inode, -@@ -844,11 +852,17 @@ +@@ -844,11 +852,17 @@ struct inode *yaffs_get_inode(struct sup T(YAFFS_TRACE_OS, (KERN_DEBUG "yaffs_get_inode for object %d\n", obj->objectId)); @@ -42,7 +42,7 @@ return inode; } -@@ -1427,6 +1441,39 @@ +@@ -1427,6 +1441,39 @@ static int yaffs_sync_fs(struct super_bl } @@ -82,7 +82,7 @@ static void yaffs_read_inode(struct inode *inode) { /* NB This is called as a side effect of other functions, but -@@ -1448,6 +1495,7 @@ +@@ -1448,6 +1495,7 @@ static void yaffs_read_inode(struct inod yaffs_GrossUnlock(dev); } diff --git a/target/linux/generic-2.6/patches-2.6.26/513-yaffs_2.6.26_fix.patch b/target/linux/generic-2.6/patches-2.6.26/513-yaffs_2.6.26_fix.patch index 32bd3a5d5..11594547d 100644 --- a/target/linux/generic-2.6/patches-2.6.26/513-yaffs_2.6.26_fix.patch +++ b/target/linux/generic-2.6/patches-2.6.26/513-yaffs_2.6.26_fix.patch @@ -1,6 +1,6 @@ --- a/fs/yaffs2/yaffs_fs.c +++ b/fs/yaffs2/yaffs_fs.c -@@ -76,6 +76,12 @@ +@@ -76,6 +76,12 @@ extern const char *yaffs_guts_c_version; #endif @@ -13,7 +13,7 @@ #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,17)) #define WRITE_SIZE_STR "writesize" #define WRITE_SIZE(mtd) (mtd)->writesize -@@ -189,7 +195,9 @@ +@@ -189,7 +195,9 @@ static void yaffs_read_inode(struct inod #endif @@ -23,7 +23,7 @@ static void yaffs_delete_inode(struct inode *); static void yaffs_clear_inode(struct inode *); -@@ -293,7 +301,9 @@ +@@ -293,7 +301,9 @@ static struct super_operations yaffs_sup #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25)) .read_inode = yaffs_read_inode, #endif @@ -33,7 +33,7 @@ .put_super = yaffs_put_super, .delete_inode = yaffs_delete_inode, .clear_inode = yaffs_clear_inode, -@@ -437,6 +447,7 @@ +@@ -437,6 +447,7 @@ static struct dentry *yaffs_lookup(struc } @@ -41,7 +41,7 @@ /* For now put inode is just for debugging * Put inode is called when the inode **structure** is put. */ -@@ -447,6 +458,7 @@ +@@ -447,6 +458,7 @@ static void yaffs_put_inode(struct inode atomic_read(&inode->i_count))); } @@ -49,7 +49,7 @@ /* clear is called to tell the fs to release any per-inode data it holds */ static void yaffs_clear_inode(struct inode *inode) -@@ -2279,7 +2291,7 @@ +@@ -2279,7 +2291,7 @@ static int __init init_yaffs_fs(void) /* Install the proc_fs entry */ my_proc_entry = create_proc_entry("yaffs", S_IRUGO | S_IFREG, @@ -58,7 +58,7 @@ if (my_proc_entry) { my_proc_entry->write_proc = yaffs_proc_write; -@@ -2325,7 +2337,7 @@ +@@ -2325,7 +2337,7 @@ static void __exit exit_yaffs_fs(void) T(YAFFS_TRACE_ALWAYS, ("yaffs " __DATE__ " " __TIME__ " removing. \n")); diff --git a/target/linux/generic-2.6/patches-2.6.26/600-phy_extension.patch b/target/linux/generic-2.6/patches-2.6.26/600-phy_extension.patch index 39f22bbde..cacb7483a 100644 --- a/target/linux/generic-2.6/patches-2.6.26/600-phy_extension.patch +++ b/target/linux/generic-2.6/patches-2.6.26/600-phy_extension.patch @@ -1,6 +1,6 @@ --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c -@@ -348,6 +348,50 @@ +@@ -348,6 +348,50 @@ int phy_ethtool_gset(struct phy_device * } EXPORT_SYMBOL(phy_ethtool_gset); @@ -51,7 +51,7 @@ /** * phy_mii_ioctl - generic PHY MII ioctl interface * @phydev: the phy_device struct -@@ -403,8 +447,8 @@ +@@ -403,8 +447,8 @@ int phy_mii_ioctl(struct phy_device *phy } phy_write(phydev, mii_data->reg_num, val); @@ -62,7 +62,7 @@ && val & BMCR_RESET && phydev->drv->config_init) { phy_scan_fixups(phydev); -@@ -524,7 +568,7 @@ +@@ -524,7 +568,7 @@ static void phy_force_reduction(struct p int idx; idx = phy_find_setting(phydev->speed, phydev->duplex); @@ -73,7 +73,7 @@ idx = phy_find_valid(idx, phydev->supported); --- a/include/linux/phy.h +++ b/include/linux/phy.h -@@ -434,6 +434,7 @@ +@@ -434,6 +434,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.26/610-phy_detect.patch b/target/linux/generic-2.6/patches-2.6.26/610-phy_detect.patch index 5cc9cd289..fb46bce6e 100644 --- a/target/linux/generic-2.6/patches-2.6.26/610-phy_detect.patch +++ b/target/linux/generic-2.6/patches-2.6.26/610-phy_detect.patch @@ -1,6 +1,6 @@ --- a/drivers/net/phy/mdio_bus.c +++ b/drivers/net/phy/mdio_bus.c -@@ -135,6 +135,9 @@ +@@ -135,6 +135,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 -@@ -339,6 +339,11 @@ +@@ -339,6 +339,11 @@ struct phy_driver { u32 features; u32 flags; diff --git a/target/linux/generic-2.6/patches-2.6.26/620-phy_adm6996.patch b/target/linux/generic-2.6/patches-2.6.26/620-phy_adm6996.patch index 46e6bf34b..1b035cbdb 100644 --- a/target/linux/generic-2.6/patches-2.6.26/620-phy_adm6996.patch +++ b/target/linux/generic-2.6/patches-2.6.26/620-phy_adm6996.patch @@ -1,6 +1,6 @@ --- a/drivers/net/phy/Kconfig +++ b/drivers/net/phy/Kconfig -@@ -65,6 +65,11 @@ +@@ -65,6 +65,11 @@ config REALTEK_PHY ---help--- Supports the Realtek 821x PHY. @@ -14,7 +14,7 @@ depends on PHYLIB=y --- a/drivers/net/phy/Makefile +++ b/drivers/net/phy/Makefile -@@ -12,6 +12,7 @@ +@@ -12,6 +12,7 @@ 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.26/630-phy_packets.patch b/target/linux/generic-2.6/patches-2.6.26/630-phy_packets.patch index a561bb29c..b4e8b4dbe 100644 --- a/target/linux/generic-2.6/patches-2.6.26/630-phy_packets.patch +++ b/target/linux/generic-2.6/patches-2.6.26/630-phy_packets.patch @@ -1,6 +1,6 @@ --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -143,6 +143,18 @@ +@@ -143,6 +143,18 @@ int phy_scan_fixups(struct phy_device *p } EXPORT_SYMBOL(phy_scan_fixups); @@ -19,7 +19,7 @@ struct phy_device* phy_device_create(struct mii_bus *bus, int addr, int phy_id) { struct phy_device *dev; -@@ -168,6 +180,8 @@ +@@ -168,6 +180,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 -@@ -309,6 +309,20 @@ +@@ -309,6 +309,20 @@ struct phy_device { void (*adjust_link)(struct net_device *dev); void (*adjust_state)(struct net_device *dev); @@ -53,7 +53,7 @@ --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -613,6 +613,7 @@ +@@ -613,6 +613,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.26/640-mvswitch.patch b/target/linux/generic-2.6/patches-2.6.26/640-mvswitch.patch index 85b8cb4f9..c2d7d1c0d 100644 --- a/target/linux/generic-2.6/patches-2.6.26/640-mvswitch.patch +++ b/target/linux/generic-2.6/patches-2.6.26/640-mvswitch.patch @@ -1,6 +1,6 @@ --- a/drivers/net/phy/Kconfig +++ b/drivers/net/phy/Kconfig -@@ -70,6 +70,12 @@ +@@ -70,6 +70,12 @@ config ADM6996_PHY ---help--- Currently supports the ADM6996F switch @@ -15,7 +15,7 @@ depends on PHYLIB=y --- a/drivers/net/phy/Makefile +++ b/drivers/net/phy/Makefile -@@ -13,6 +13,7 @@ +@@ -13,6 +13,7 @@ obj-$(CONFIG_VITESSE_PHY) += vitesse.o obj-$(CONFIG_BROADCOM_PHY) += broadcom.o obj-$(CONFIG_ICPLUS_PHY) += icplus.o obj-$(CONFIG_ADM6996_PHY) += adm6996.o @@ -38,7 +38,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.26/801-usb_serial_endpoint_size.patch b/target/linux/generic-2.6/patches-2.6.26/801-usb_serial_endpoint_size.patch index e7bc6c52f..d1e2c5bef 100644 --- a/target/linux/generic-2.6/patches-2.6.26/801-usb_serial_endpoint_size.patch +++ b/target/linux/generic-2.6/patches-2.6.26/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); -@@ -814,7 +815,7 @@ +@@ -814,7 +815,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); -@@ -1228,3 +1229,5 @@ +@@ -1228,3 +1229,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.26/840-unable_to_open_console.patch b/target/linux/generic-2.6/patches-2.6.26/840-unable_to_open_console.patch index ec13777dd..bfaf0617d 100644 --- a/target/linux/generic-2.6/patches-2.6.26/840-unable_to_open_console.patch +++ b/target/linux/generic-2.6/patches-2.6.26/840-unable_to_open_console.patch @@ -1,6 +1,6 @@ --- a/init/main.c +++ b/init/main.c -@@ -803,7 +803,7 @@ +@@ -803,7 +803,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.26/900-headers_type_and_time.patch b/target/linux/generic-2.6/patches-2.6.26/900-headers_type_and_time.patch index b318c9060..b12387280 100644 --- a/target/linux/generic-2.6/patches-2.6.26/900-headers_type_and_time.patch +++ b/target/linux/generic-2.6/patches-2.6.26/900-headers_type_and_time.patch @@ -11,7 +11,7 @@ #include #ifdef __KERNEL__ -@@ -228,4 +232,6 @@ +@@ -228,4 +232,6 @@ struct itimerval { */ #define TIMER_ABSTIME 0x01 @@ -35,7 +35,7 @@ #ifdef __KERNEL__ #define DECLARE_BITMAP(name,bits) \ -@@ -161,6 +169,8 @@ +@@ -161,6 +169,8 @@ typedef unsigned long blkcnt_t; #endif /* __KERNEL_STRICT_NAMES */ diff --git a/target/linux/generic-2.6/patches-2.6.26/902-darwin_scripts_include.patch b/target/linux/generic-2.6/patches-2.6.26/902-darwin_scripts_include.patch index 5d454b8e0..96fffc066 100644 --- a/target/linux/generic-2.6/patches-2.6.26/902-darwin_scripts_include.patch +++ b/target/linux/generic-2.6/patches-2.6.26/902-darwin_scripts_include.patch @@ -62,7 +62,7 @@ --- a/scripts/kconfig/Makefile +++ b/scripts/kconfig/Makefile -@@ -93,6 +93,9 @@ +@@ -93,6 +93,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.26/903-hostap_txpower.patch b/target/linux/generic-2.6/patches-2.6.26/903-hostap_txpower.patch index 3d6d5d097..92cb2d108 100644 --- a/target/linux/generic-2.6/patches-2.6.26/903-hostap_txpower.patch +++ b/target/linux/generic-2.6/patches-2.6.26/903-hostap_txpower.patch @@ -1,6 +1,6 @@ --- a/drivers/net/wireless/hostap/hostap_ap.c +++ b/drivers/net/wireless/hostap/hostap_ap.c -@@ -2397,13 +2397,13 @@ +@@ -2397,13 +2397,13 @@ int prism2_ap_get_sta_qual(local_info_t addr[count].sa_family = ARPHRD_ETHER; memcpy(addr[count].sa_data, sta->addr, ETH_ALEN); if (sta->last_rx_silence == 0) @@ -20,7 +20,7 @@ qual[count].updated = sta->last_rx_updated; sta->last_rx_updated = IW_QUAL_DBM; -@@ -2468,13 +2468,13 @@ +@@ -2468,13 +2468,13 @@ int prism2_ap_translate_scan(struct net_ memset(&iwe, 0, sizeof(iwe)); iwe.cmd = IWEVQUAL; if (sta->last_rx_silence == 0) @@ -54,7 +54,7 @@ #endif /* HOSTAP_CONFIG_H */ --- a/drivers/net/wireless/hostap/hostap.h +++ b/drivers/net/wireless/hostap/hostap.h -@@ -89,6 +89,7 @@ +@@ -89,6 +89,7 @@ extern const struct iw_handler_def hosta extern const struct ethtool_ops prism2_ethtool_ops; int hostap_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd); @@ -64,7 +64,7 @@ #endif /* HOSTAP_H */ --- a/drivers/net/wireless/hostap/hostap_hw.c +++ b/drivers/net/wireless/hostap/hostap_hw.c -@@ -933,6 +933,7 @@ +@@ -933,6 +933,7 @@ static int hfa384x_set_rid(struct net_de prism2_hw_reset(dev); } @@ -74,7 +74,7 @@ --- a/drivers/net/wireless/hostap/hostap_info.c +++ b/drivers/net/wireless/hostap/hostap_info.c -@@ -434,6 +434,11 @@ +@@ -434,6 +434,11 @@ static void handle_info_queue_linkstatus } /* Get BSSID if we have a valid AP address */ @@ -88,7 +88,7 @@ netif_carrier_on(local->ddev); --- a/drivers/net/wireless/hostap/hostap_ioctl.c +++ b/drivers/net/wireless/hostap/hostap_ioctl.c -@@ -1500,23 +1500,20 @@ +@@ -1500,23 +1500,20 @@ static int prism2_txpower_hfa386x_to_dBm val = 255; tmp = val; @@ -116,7 +116,7 @@ return (unsigned char) tmp; } -@@ -4076,3 +4073,35 @@ +@@ -4076,3 +4073,35 @@ int hostap_ioctl(struct net_device *dev, return ret; } diff --git a/target/linux/generic-2.6/patches-2.6.26/903-stddef_include.patch b/target/linux/generic-2.6/patches-2.6.26/903-stddef_include.patch index c0c01c010..7fe248d8d 100644 --- a/target/linux/generic-2.6/patches-2.6.26/903-stddef_include.patch +++ b/target/linux/generic-2.6/patches-2.6.26/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.26/910-cryptodev_backport.patch b/target/linux/generic-2.6/patches-2.6.26/910-cryptodev_backport.patch index a2d64367c..5cc6fa4c9 100644 --- a/target/linux/generic-2.6/patches-2.6.26/910-cryptodev_backport.patch +++ b/target/linux/generic-2.6/patches-2.6.26/910-cryptodev_backport.patch @@ -1,6 +1,6 @@ --- a/crypto/Kconfig +++ b/crypto/Kconfig -@@ -65,6 +65,7 @@ +@@ -65,6 +65,7 @@ config CRYPTO_NULL config CRYPTO_CRYPTD tristate "Software async crypto daemon" select CRYPTO_BLKCIPHER @@ -8,7 +8,7 @@ select CRYPTO_MANAGER help This is a generic software asynchronous crypto daemon that -@@ -212,7 +213,7 @@ +@@ -212,7 +213,7 @@ comment "Digest" config CRYPTO_CRC32C tristate "CRC32c CRC algorithm" @@ -17,7 +17,7 @@ select LIBCRC32C help Castagnoli, et al Cyclic Redundancy-Check Algorithm. Used -@@ -241,6 +242,57 @@ +@@ -241,6 +242,57 @@ config CRYPTO_MICHAEL_MIC should not be used for other purposes because of the weakness of the algorithm. @@ -75,7 +75,7 @@ config CRYPTO_SHA1 tristate "SHA1 digest algorithm" select CRYPTO_ALGAPI -@@ -614,6 +666,15 @@ +@@ -614,6 +666,15 @@ config CRYPTO_LZO help This is the LZO algorithm. @@ -93,7 +93,7 @@ endif # if CRYPTO --- a/crypto/Makefile +++ b/crypto/Makefile -@@ -19,6 +19,7 @@ +@@ -19,6 +19,7 @@ obj-$(CONFIG_CRYPTO_BLKCIPHER) += crypto obj-$(CONFIG_CRYPTO_SEQIV) += seqiv.o crypto_hash-objs := hash.o @@ -101,7 +101,7 @@ obj-$(CONFIG_CRYPTO_HASH) += crypto_hash.o obj-$(CONFIG_CRYPTO_MANAGER) += cryptomgr.o -@@ -27,6 +28,10 @@ +@@ -27,6 +28,10 @@ obj-$(CONFIG_CRYPTO_XCBC) += xcbc.o obj-$(CONFIG_CRYPTO_NULL) += crypto_null.o obj-$(CONFIG_CRYPTO_MD4) += md4.o obj-$(CONFIG_CRYPTO_MD5) += md5.o @@ -112,7 +112,7 @@ obj-$(CONFIG_CRYPTO_SHA1) += sha1_generic.o obj-$(CONFIG_CRYPTO_SHA256) += sha256_generic.o obj-$(CONFIG_CRYPTO_SHA512) += sha512_generic.o -@@ -64,7 +69,7 @@ +@@ -64,7 +69,7 @@ obj-$(CONFIG_CRYPTO_MICHAEL_MIC) += mich obj-$(CONFIG_CRYPTO_CRC32C) += crc32c.o obj-$(CONFIG_CRYPTO_AUTHENC) += authenc.o obj-$(CONFIG_CRYPTO_LZO) += lzo.o @@ -320,7 +320,7 @@ +MODULE_DESCRIPTION("Asynchronous cryptographic hash type"); --- a/crypto/api.c +++ b/crypto/api.c -@@ -235,8 +235,12 @@ +@@ -235,8 +235,12 @@ static int crypto_init_ops(struct crypto return crypto_init_cipher_ops(tfm); case CRYPTO_ALG_TYPE_DIGEST: @@ -346,7 +346,7 @@ static const u32 camellia_sp1110[256] = { 0x70707000,0x82828200,0x2c2c2c00,0xececec00, -@@ -335,20 +337,6 @@ +@@ -335,20 +337,6 @@ static const u32 camellia_sp4404[256] = /* * macros */ @@ -367,7 +367,7 @@ #define ROLDQ(ll, lr, rl, rr, w0, w1, bits) \ do { \ w0 = ll; \ -@@ -383,7 +371,7 @@ +@@ -383,7 +371,7 @@ static const u32 camellia_sp4404[256] = ^ camellia_sp3033[(u8)(il >> 8)] \ ^ camellia_sp4404[(u8)(il )]; \ yl ^= yr; \ @@ -376,7 +376,7 @@ yr ^= yl; \ } while(0) -@@ -405,7 +393,7 @@ +@@ -405,7 +393,7 @@ static void camellia_setup_tail(u32 *sub subL[7] ^= subL[1]; subR[7] ^= subR[1]; subL[1] ^= subR[1] & ~subR[9]; dw = subL[1] & subL[9], @@ -385,7 +385,7 @@ /* round 8 */ subL[11] ^= subL[1]; subR[11] ^= subR[1]; /* round 10 */ -@@ -414,7 +402,7 @@ +@@ -414,7 +402,7 @@ static void camellia_setup_tail(u32 *sub subL[15] ^= subL[1]; subR[15] ^= subR[1]; subL[1] ^= subR[1] & ~subR[17]; dw = subL[1] & subL[17], @@ -394,7 +394,7 @@ /* round 14 */ subL[19] ^= subL[1]; subR[19] ^= subR[1]; /* round 16 */ -@@ -430,7 +418,7 @@ +@@ -430,7 +418,7 @@ static void camellia_setup_tail(u32 *sub } else { subL[1] ^= subR[1] & ~subR[25]; dw = subL[1] & subL[25], @@ -403,7 +403,7 @@ /* round 20 */ subL[27] ^= subL[1]; subR[27] ^= subR[1]; /* round 22 */ -@@ -450,7 +438,7 @@ +@@ -450,7 +438,7 @@ static void camellia_setup_tail(u32 *sub subL[26] ^= kw4l; subR[26] ^= kw4r; kw4l ^= kw4r & ~subR[24]; dw = kw4l & subL[24], @@ -412,7 +412,7 @@ } /* round 17 */ subL[22] ^= kw4l; subR[22] ^= kw4r; -@@ -460,7 +448,7 @@ +@@ -460,7 +448,7 @@ static void camellia_setup_tail(u32 *sub subL[18] ^= kw4l; subR[18] ^= kw4r; kw4l ^= kw4r & ~subR[16]; dw = kw4l & subL[16], @@ -421,7 +421,7 @@ /* round 11 */ subL[14] ^= kw4l; subR[14] ^= kw4r; /* round 9 */ -@@ -469,7 +457,7 @@ +@@ -469,7 +457,7 @@ static void camellia_setup_tail(u32 *sub subL[10] ^= kw4l; subR[10] ^= kw4r; kw4l ^= kw4r & ~subR[8]; dw = kw4l & subL[8], @@ -430,7 +430,7 @@ /* round 5 */ subL[6] ^= kw4l; subR[6] ^= kw4r; /* round 3 */ -@@ -494,7 +482,7 @@ +@@ -494,7 +482,7 @@ static void camellia_setup_tail(u32 *sub SUBKEY_R(6) = subR[5] ^ subR[7]; tl = subL[10] ^ (subR[10] & ~subR[8]); dw = tl & subL[8], /* FL(kl1) */ @@ -439,7 +439,7 @@ SUBKEY_L(7) = subL[6] ^ tl; /* round 6 */ SUBKEY_R(7) = subR[6] ^ tr; SUBKEY_L(8) = subL[8]; /* FL(kl1) */ -@@ -503,7 +491,7 @@ +@@ -503,7 +491,7 @@ static void camellia_setup_tail(u32 *sub SUBKEY_R(9) = subR[9]; tl = subL[7] ^ (subR[7] & ~subR[9]); dw = tl & subL[9], /* FLinv(kl2) */ @@ -448,7 +448,7 @@ SUBKEY_L(10) = tl ^ subL[11]; /* round 7 */ SUBKEY_R(10) = tr ^ subR[11]; SUBKEY_L(11) = subL[10] ^ subL[12]; /* round 8 */ -@@ -516,7 +504,7 @@ +@@ -516,7 +504,7 @@ static void camellia_setup_tail(u32 *sub SUBKEY_R(14) = subR[13] ^ subR[15]; tl = subL[18] ^ (subR[18] & ~subR[16]); dw = tl & subL[16], /* FL(kl3) */ @@ -457,7 +457,7 @@ SUBKEY_L(15) = subL[14] ^ tl; /* round 12 */ SUBKEY_R(15) = subR[14] ^ tr; SUBKEY_L(16) = subL[16]; /* FL(kl3) */ -@@ -525,7 +513,7 @@ +@@ -525,7 +513,7 @@ static void camellia_setup_tail(u32 *sub SUBKEY_R(17) = subR[17]; tl = subL[15] ^ (subR[15] & ~subR[17]); dw = tl & subL[17], /* FLinv(kl4) */ @@ -466,7 +466,7 @@ SUBKEY_L(18) = tl ^ subL[19]; /* round 13 */ SUBKEY_R(18) = tr ^ subR[19]; SUBKEY_L(19) = subL[18] ^ subL[20]; /* round 14 */ -@@ -544,7 +532,7 @@ +@@ -544,7 +532,7 @@ static void camellia_setup_tail(u32 *sub } else { tl = subL[26] ^ (subR[26] & ~subR[24]); dw = tl & subL[24], /* FL(kl5) */ @@ -475,7 +475,7 @@ SUBKEY_L(23) = subL[22] ^ tl; /* round 18 */ SUBKEY_R(23) = subR[22] ^ tr; SUBKEY_L(24) = subL[24]; /* FL(kl5) */ -@@ -553,7 +541,7 @@ +@@ -553,7 +541,7 @@ static void camellia_setup_tail(u32 *sub SUBKEY_R(25) = subR[25]; tl = subL[23] ^ (subR[23] & ~subR[25]); dw = tl & subL[25], /* FLinv(kl6) */ @@ -484,7 +484,7 @@ SUBKEY_L(26) = tl ^ subL[27]; /* round 19 */ SUBKEY_R(26) = tr ^ subR[27]; SUBKEY_L(27) = subL[26] ^ subL[28]; /* round 20 */ -@@ -573,17 +561,17 @@ +@@ -573,17 +561,17 @@ static void camellia_setup_tail(u32 *sub /* apply the inverse of the last half of P-function */ i = 2; do { @@ -508,7 +508,7 @@ SUBKEY_R(i + 5) = SUBKEY_L(i + 5) ^ dw; SUBKEY_L(i + 5) = dw; i += 8; } while (i < max); -@@ -599,10 +587,10 @@ +@@ -599,10 +587,10 @@ static void camellia_setup128(const unsi /** * k == kll || klr || krl || krr (|| is concatenation) */ @@ -523,7 +523,7 @@ /* generate KL dependent subkeys */ /* kw1 */ -@@ -707,14 +695,14 @@ +@@ -707,14 +695,14 @@ static void camellia_setup256(const unsi * key = (kll || klr || krl || krr || krll || krlr || krrl || krrr) * (|| is concatenation) */ @@ -546,7 +546,7 @@ /* generate KL dependent subkeys */ /* kw1 */ -@@ -870,13 +858,13 @@ +@@ -870,13 +858,13 @@ static void camellia_setup192(const unsi t0 &= ll; \ t2 |= rr; \ rl ^= t2; \ @@ -562,7 +562,7 @@ } while(0) #define CAMELLIA_ROUNDSM(xl, xr, kl, kr, yl, yr, il, ir) \ -@@ -892,7 +880,7 @@ +@@ -892,7 +880,7 @@ static void camellia_setup192(const unsi il ^= kl; \ ir ^= il ^ kr; \ yl ^= ir; \ @@ -605,7 +605,7 @@ #define CHKSUM_DIGEST_SIZE 4 struct chksum_ctx { -@@ -27,7 +30,7 @@ +@@ -27,7 +30,7 @@ struct chksum_ctx { }; /* @@ -614,7 +614,7 @@ * crc using table. */ -@@ -67,11 +70,11 @@ +@@ -67,11 +70,11 @@ static void chksum_update(struct crypto_ static void chksum_final(struct crypto_tfm *tfm, u8 *out) { struct chksum_ctx *mctx = crypto_tfm_ctx(tfm); @@ -628,7 +628,7 @@ { struct chksum_ctx *mctx = crypto_tfm_ctx(tfm); -@@ -79,14 +82,14 @@ +@@ -79,14 +82,14 @@ static int crc32c_cra_init(struct crypto return 0; } @@ -646,7 +646,7 @@ .cra_u = { .digest = { .dia_digestsize= CHKSUM_DIGEST_SIZE, -@@ -98,14 +101,125 @@ +@@ -98,14 +101,125 @@ static struct crypto_alg alg = { } }; @@ -783,7 +783,7 @@ #include #include #include -@@ -45,6 +46,13 @@ +@@ -45,6 +46,13 @@ struct cryptd_blkcipher_request_ctx { crypto_completion_t complete; }; @@ -797,7 +797,7 @@ static inline struct cryptd_state *cryptd_get_state(struct crypto_tfm *tfm) { -@@ -82,10 +90,8 @@ +@@ -82,10 +90,8 @@ static void cryptd_blkcipher_crypt(struc rctx = ablkcipher_request_ctx(req); @@ -810,7 +810,7 @@ desc.tfm = child; desc.info = req->info; -@@ -95,8 +101,9 @@ +@@ -95,8 +101,9 @@ static void cryptd_blkcipher_crypt(struc req->base.complete = rctx->complete; @@ -821,7 +821,7 @@ local_bh_enable(); } -@@ -261,6 +268,240 @@ +@@ -261,6 +268,240 @@ out_put_alg: return inst; } @@ -1062,7 +1062,7 @@ static struct cryptd_state state; static struct crypto_instance *cryptd_alloc(struct rtattr **tb) -@@ -274,6 +515,8 @@ +@@ -274,6 +515,8 @@ static struct crypto_instance *cryptd_al switch (algt->type & algt->mask & CRYPTO_ALG_TYPE_MASK) { case CRYPTO_ALG_TYPE_BLKCIPHER: return cryptd_alloc_blkcipher(tb, &state); @@ -1081,7 +1081,7 @@ #include #include #include -@@ -141,7 +142,7 @@ +@@ -141,7 +142,7 @@ int crypto_init_digest_ops(struct crypto struct hash_tfm *ops = &tfm->crt_hash; struct digest_alg *dalg = &tfm->__crt_alg->cra_digest; @@ -1090,7 +1090,7 @@ return -EINVAL; ops->init = init; -@@ -157,3 +158,83 @@ +@@ -157,3 +158,83 @@ int crypto_init_digest_ops(struct crypto void crypto_exit_digest_ops(struct crypto_tfm *tfm) { } @@ -1184,7 +1184,7 @@ #include #include #include -@@ -59,24 +60,107 @@ +@@ -59,24 +60,107 @@ static int hash_setkey(struct crypto_has return alg->setkey(crt, key, keylen); } @@ -1303,7 +1303,7 @@ static void crypto_hash_show(struct seq_file *m, struct crypto_alg *alg) --- a/crypto/hmac.c +++ b/crypto/hmac.c -@@ -226,6 +226,7 @@ +@@ -226,6 +226,7 @@ static struct crypto_instance *hmac_allo struct crypto_instance *inst; struct crypto_alg *alg; int err; @@ -1311,7 +1311,7 @@ err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_HASH); if (err) -@@ -236,6 +237,13 @@ +@@ -236,6 +237,13 @@ static struct crypto_instance *hmac_allo if (IS_ERR(alg)) return ERR_CAST(alg); @@ -1325,7 +1325,7 @@ inst = crypto_alloc_instance("hmac", alg); if (IS_ERR(inst)) goto out_put_alg; -@@ -246,14 +254,10 @@ +@@ -246,14 +254,10 @@ static struct crypto_instance *hmac_allo inst->alg.cra_alignmask = alg->cra_alignmask; inst->alg.cra_type = &crypto_hash_type; @@ -1344,7 +1344,7 @@ inst->alg.cra_init = hmac_init_tfm; --- a/crypto/internal.h +++ b/crypto/internal.h -@@ -86,6 +86,7 @@ +@@ -86,6 +86,7 @@ struct crypto_alg *__crypto_alg_lookup(c struct crypto_alg *crypto_alg_mod_lookup(const char *name, u32 type, u32 mask); int crypto_init_digest_ops(struct crypto_tfm *tfm); @@ -3329,7 +3329,7 @@ #define IDX2 32400 #define IDX3 1 #define IDX4 8193 -@@ -83,7 +76,8 @@ +@@ -83,7 +76,8 @@ static char *check[] = { "blowfish", "twofish", "serpent", "sha384", "sha512", "md4", "aes", "cast6", "arc4", "michael_mic", "deflate", "crc32c", "tea", "xtea", "khazad", "wp512", "wp384", "wp256", "tnepres", "xeta", "fcrypt", @@ -3339,7 +3339,7 @@ }; static void hexdump(unsigned char *buf, unsigned int len) -@@ -110,22 +104,30 @@ +@@ -110,22 +104,30 @@ static void test_hash(char *algo, struct unsigned int i, j, k, temp; struct scatterlist sg[8]; char result[64]; @@ -3375,7 +3375,7 @@ for (i = 0; i < tcount; i++) { printk("test %u:\n", i + 1); -@@ -139,8 +141,9 @@ +@@ -139,8 +141,9 @@ static void test_hash(char *algo, struct sg_init_one(&sg[0], hash_buff, template[i].psize); if (template[i].ksize) { @@ -3387,7 +3387,7 @@ if (ret) { printk("setkey() failed ret=%d\n", ret); kfree(hash_buff); -@@ -148,17 +151,30 @@ +@@ -148,17 +151,30 @@ static void test_hash(char *algo, struct } } @@ -3422,7 +3422,7 @@ "fail" : "pass"); kfree(hash_buff); } -@@ -187,8 +203,9 @@ +@@ -187,8 +203,9 @@ static void test_hash(char *algo, struct } if (template[i].ksize) { @@ -3434,7 +3434,7 @@ if (ret) { printk("setkey() failed ret=%d\n", ret); -@@ -196,29 +213,44 @@ +@@ -196,29 +213,44 @@ static void test_hash(char *algo, struct } } @@ -3486,7 +3486,7 @@ char *q; struct crypto_aead *tfm; char *key; -@@ -344,13 +376,12 @@ +@@ -344,13 +376,12 @@ static void test_aead(char *algo, int en goto next_one; } @@ -3501,7 +3501,7 @@ next_one: if (!template[i].key) kfree(key); -@@ -360,7 +391,6 @@ +@@ -360,7 +391,6 @@ next_one: } printk(KERN_INFO "\ntesting %s %s across pages (chunking)\n", algo, e); @@ -3509,7 +3509,7 @@ memset(axbuf, 0, XBUFSIZE); for (i = 0, j = 0; i < tcount; i++) { -@@ -388,6 +418,7 @@ +@@ -388,6 +418,7 @@ next_one: goto out; } @@ -3517,7 +3517,7 @@ sg_init_table(sg, template[i].np); for (k = 0, temp = 0; k < template[i].np; k++) { memcpy(&xbuf[IDX[k]], -@@ -450,7 +481,7 @@ +@@ -450,7 +481,7 @@ next_one: for (k = 0, temp = 0; k < template[i].np; k++) { printk(KERN_INFO "page %u\n", k); @@ -3526,7 +3526,7 @@ hexdump(q, template[i].tap[k]); printk(KERN_INFO "%s\n", memcmp(q, template[i].result + temp, -@@ -459,8 +490,15 @@ +@@ -459,8 +490,15 @@ next_one: 0 : authsize)) ? "fail" : "pass"); @@ -3543,7 +3543,7 @@ } } } -@@ -473,7 +511,7 @@ +@@ -473,7 +511,7 @@ out: static void test_cipher(char *algo, int enc, struct cipher_testvec *template, unsigned int tcount) { @@ -3552,7 +3552,7 @@ char *q; struct crypto_ablkcipher *tfm; struct ablkcipher_request *req; -@@ -569,19 +607,17 @@ +@@ -569,19 +607,17 @@ static void test_cipher(char *algo, int goto out; } @@ -3573,7 +3573,7 @@ j = 0; for (i = 0; i < tcount; i++) { -@@ -596,6 +632,7 @@ +@@ -596,6 +632,7 @@ static void test_cipher(char *algo, int printk("test %u (%d bit key):\n", j, template[i].klen * 8); @@ -3581,7 +3581,7 @@ crypto_ablkcipher_clear_flags(tfm, ~0); if (template[i].wk) crypto_ablkcipher_set_flags( -@@ -649,14 +686,21 @@ +@@ -649,14 +686,21 @@ static void test_cipher(char *algo, int temp = 0; for (k = 0; k < template[i].np; k++) { printk("page %u\n", k); @@ -3605,7 +3605,7 @@ } } } -@@ -1172,6 +1216,14 @@ +@@ -1172,6 +1216,14 @@ static void do_test(void) test_cipher("ecb(des3_ede)", DECRYPT, des3_ede_dec_tv_template, DES3_EDE_DEC_TEST_VECTORS); @@ -3620,7 +3620,7 @@ test_hash("md4", md4_tv_template, MD4_TEST_VECTORS); test_hash("sha224", sha224_tv_template, SHA224_TEST_VECTORS); -@@ -1382,6 +1434,14 @@ +@@ -1382,6 +1434,14 @@ static void do_test(void) DES3_EDE_ENC_TEST_VECTORS); test_cipher("ecb(des3_ede)", DECRYPT, des3_ede_dec_tv_template, DES3_EDE_DEC_TEST_VECTORS); @@ -3635,7 +3635,7 @@ break; case 5: -@@ -1550,7 +1610,7 @@ +@@ -1550,7 +1610,7 @@ static void do_test(void) case 29: test_hash("tgr128", tgr128_tv_template, TGR128_TEST_VECTORS); break; @@ -3644,7 +3644,7 @@ case 30: test_cipher("ecb(xeta)", ENCRYPT, xeta_enc_tv_template, XETA_ENC_TEST_VECTORS); -@@ -1615,6 +1675,22 @@ +@@ -1615,6 +1675,22 @@ static void do_test(void) CTS_MODE_DEC_TEST_VECTORS); break; @@ -3667,7 +3667,7 @@ case 100: test_hash("hmac(md5)", hmac_md5_tv_template, HMAC_MD5_TEST_VECTORS); -@@ -1650,6 +1726,16 @@ +@@ -1650,6 +1726,16 @@ static void do_test(void) XCBC_AES_TEST_VECTORS); break; @@ -3684,7 +3684,7 @@ case 200: test_cipher_speed("ecb(aes)", ENCRYPT, sec, NULL, 0, speed_template_16_24_32); -@@ -1788,6 +1874,22 @@ +@@ -1788,6 +1874,22 @@ static void do_test(void) test_hash_speed("sha224", sec, generic_hash_speed_template); if (mode > 300 && mode < 400) break; @@ -3722,7 +3722,7 @@ */ #ifndef _CRYPTO_TCRYPT_H #define _CRYPTO_TCRYPT_H -@@ -168,6 +162,271 @@ +@@ -168,6 +162,271 @@ static struct hash_testvec md5_tv_templa .digest = "\x57\xed\xf4\xa2\x2b\xe3\xc9\x55" "\xac\x49\xda\x2e\x21\x07\xb6\x7a", } @@ -3994,7 +3994,7 @@ }; /* -@@ -817,6 +1076,168 @@ +@@ -817,6 +1076,168 @@ static struct hash_testvec hmac_md5_tv_t }; /* @@ -4163,7 +4163,7 @@ * HMAC-SHA1 test vectors from RFC2202 */ #define HMAC_SHA1_TEST_VECTORS 7 -@@ -1442,6 +1863,8 @@ +@@ -1442,6 +1863,8 @@ static struct hash_testvec hmac_sha512_t #define DES_CBC_DEC_TEST_VECTORS 4 #define DES3_EDE_ENC_TEST_VECTORS 3 #define DES3_EDE_DEC_TEST_VECTORS 3 @@ -4172,7 +4172,7 @@ static struct cipher_testvec des_enc_tv_template[] = { { /* From Applied Cryptography */ -@@ -1680,9 +2103,6 @@ +@@ -1680,9 +2103,6 @@ static struct cipher_testvec des_cbc_dec }, }; @@ -4182,7 +4182,7 @@ static struct cipher_testvec des3_ede_enc_tv_template[] = { { /* These are from openssl */ .key = "\x01\x23\x45\x67\x89\xab\xcd\xef" -@@ -1745,6 +2165,94 @@ +@@ -1745,6 +2165,94 @@ static struct cipher_testvec des3_ede_de }, }; @@ -4279,7 +4279,7 @@ */ --- a/drivers/crypto/Kconfig +++ b/drivers/crypto/Kconfig -@@ -174,4 +174,30 @@ +@@ -174,4 +174,30 @@ config CRYPTO_DEV_HIFN_795X_RNG Select this option if you want to enable the random number generator on the HIFN 795x crypto adapters. @@ -4312,7 +4312,7 @@ endif # CRYPTO_HW --- a/drivers/crypto/Makefile +++ b/drivers/crypto/Makefile -@@ -2,3 +2,5 @@ +@@ -2,3 +2,5 @@ obj-$(CONFIG_CRYPTO_DEV_PADLOCK_AES) += obj-$(CONFIG_CRYPTO_DEV_PADLOCK_SHA) += padlock-sha.o obj-$(CONFIG_CRYPTO_DEV_GEODE) += geode-aes.o obj-$(CONFIG_CRYPTO_DEV_HIFN_795X) += hifn_795x.o @@ -4328,7 +4328,7 @@ #include #include #include -@@ -369,7 +368,9 @@ +@@ -369,7 +368,9 @@ static atomic_t hifn_dev_number; #define HIFN_D_DST_RSIZE 80*4 #define HIFN_D_RES_RSIZE 24*4 @@ -4339,7 +4339,7 @@ #define AES_MIN_KEY_SIZE 16 #define AES_MAX_KEY_SIZE 32 -@@ -535,10 +536,10 @@ +@@ -535,10 +536,10 @@ struct hifn_crypt_command */ struct hifn_mac_command { @@ -4354,7 +4354,7 @@ }; #define HIFN_MAC_CMD_ALG_MASK 0x0001 -@@ -564,10 +565,10 @@ +@@ -564,10 +565,10 @@ struct hifn_mac_command struct hifn_comp_command { @@ -4369,7 +4369,7 @@ }; #define HIFN_COMP_CMD_SRCLEN_M 0xc000 -@@ -583,10 +584,10 @@ +@@ -583,10 +584,10 @@ struct hifn_comp_command struct hifn_base_result { @@ -4384,7 +4384,7 @@ }; #define HIFN_BASE_RES_DSTOVERRUN 0x0200 /* destination overrun */ -@@ -597,8 +598,8 @@ +@@ -597,8 +598,8 @@ struct hifn_base_result struct hifn_comp_result { @@ -4395,7 +4395,7 @@ }; #define HIFN_COMP_RES_LCB_M 0xff00 /* longitudinal check byte */ -@@ -609,8 +610,8 @@ +@@ -609,8 +610,8 @@ struct hifn_comp_result struct hifn_mac_result { @@ -4406,7 +4406,7 @@ /* followed by 0, 6, 8, or 10 u16's of the MAC, then crypt */ }; -@@ -619,8 +620,8 @@ +@@ -619,8 +620,8 @@ struct hifn_mac_result struct hifn_crypt_result { @@ -4417,7 +4417,7 @@ }; #define HIFN_CRYPT_RES_SRC_NOTZERO 0x0001 /* source expired */ -@@ -686,12 +687,12 @@ +@@ -686,12 +687,12 @@ static inline u32 hifn_read_1(struct hif static inline void hifn_write_0(struct hifn_device *dev, u32 reg, u32 val) { @@ -4432,7 +4432,7 @@ } static void hifn_wait_puc(struct hifn_device *dev) -@@ -894,7 +895,7 @@ +@@ -894,7 +895,7 @@ static int hifn_enable_crypto(struct hif char *offtbl = NULL; int i; @@ -4441,7 +4441,7 @@ if (pci2id[i].pci_vendor == dev->pdev->vendor && pci2id[i].pci_prod == dev->pdev->device) { offtbl = pci2id[i].card_id; -@@ -1037,14 +1038,14 @@ +@@ -1037,14 +1038,14 @@ static void hifn_init_registers(struct h hifn_write_0(dev, HIFN_0_PUIER, HIFN_PUIER_DSTOVER); /* write all 4 ring address registers */ @@ -4464,7 +4464,7 @@ mdelay(2); #if 0 -@@ -1166,109 +1167,15 @@ +@@ -1166,109 +1167,15 @@ static int hifn_setup_crypto_command(str return cmd_len; } @@ -4577,7 +4577,7 @@ buf_pos = buf = dma->command_bufs[dma->cmdi]; mask = 0; -@@ -1370,16 +1277,113 @@ +@@ -1370,16 +1277,113 @@ static int hifn_setup_dma(struct hifn_de hifn_write_1(dev, HIFN_1_DMA_CSR, HIFN_DMACSR_C_CTRL_ENA); dev->flags |= HIFN_FLAG_CMD_BUSY; } @@ -4695,7 +4695,7 @@ static int ablkcipher_walk_init(struct ablkcipher_walk *w, int num, gfp_t gfp_flags) { -@@ -1431,7 +1435,7 @@ +@@ -1431,7 +1435,7 @@ static int ablkcipher_add(void *daddr, u return -EINVAL; while (size) { @@ -4704,7 +4704,7 @@ saddr = kmap_atomic(sg_page(src), KM_SOFTIRQ1); memcpy(daddr, saddr + src->offset, copy); -@@ -1458,10 +1462,6 @@ +@@ -1458,10 +1462,6 @@ static int ablkcipher_add(void *daddr, u static int ablkcipher_walk(struct ablkcipher_request *req, struct ablkcipher_walk *w) { @@ -4715,7 +4715,7 @@ struct scatterlist *src, *dst, *t; void *daddr; unsigned int nbytes = req->nbytes, offset, copy, diff; -@@ -1477,16 +1477,14 @@ +@@ -1477,16 +1477,14 @@ static int ablkcipher_walk(struct ablkci dst = &req->dst[idx]; dprintk("\n%s: slen: %u, dlen: %u, soff: %u, doff: %u, offset: %u, " @@ -4738,7 +4738,7 @@ unsigned dlen = PAGE_SIZE; t = &w->cache[idx]; -@@ -1498,8 +1496,8 @@ +@@ -1498,8 +1496,8 @@ static int ablkcipher_walk(struct ablkci idx += err; @@ -4749,7 +4749,7 @@ if (dlen < nbytes) { /* -@@ -1507,7 +1505,7 @@ +@@ -1507,7 +1505,7 @@ static int ablkcipher_walk(struct ablkci * to put there additional blocksized chunk, * so we mark that page as containing only * blocksize aligned chunks: @@ -4758,7 +4758,7 @@ * and increase number of bytes to be processed * in next chunk: * nbytes += diff; -@@ -1544,7 +1542,7 @@ +@@ -1544,7 +1542,7 @@ static int ablkcipher_walk(struct ablkci kunmap_atomic(daddr, KM_SOFTIRQ0); } else { @@ -4767,7 +4767,7 @@ idx++; } -@@ -1563,14 +1561,10 @@ +@@ -1563,14 +1561,10 @@ static int hifn_setup_session(struct abl struct hifn_context *ctx = crypto_tfm_ctx(req->base.tfm); struct hifn_device *dev = ctx->dev; struct page *spage, *dpage; @@ -4783,7 +4783,7 @@ if (ctx->iv && !ctx->ivsize && ctx->mode != ACRYPTO_MODE_ECB) goto err_out_exit; -@@ -1578,17 +1572,14 @@ +@@ -1578,17 +1572,14 @@ static int hifn_setup_session(struct abl ctx->walk.flags = 0; while (nbytes) { @@ -4805,7 +4805,7 @@ idx++; } -@@ -1602,7 +1593,10 @@ +@@ -1602,7 +1593,10 @@ static int hifn_setup_session(struct abl idx = 0; sg_num = ablkcipher_walk(req, &ctx->walk); @@ -4817,7 +4817,7 @@ atomic_set(&ctx->sg_num, sg_num); spin_lock_irqsave(&dev->lock, flags); -@@ -1640,7 +1634,7 @@ +@@ -1640,7 +1634,7 @@ static int hifn_setup_session(struct abl if (err) goto err_out; @@ -4826,7 +4826,7 @@ } dev->active = HIFN_DEFAULT_ACTIVE_NUM; -@@ -1651,7 +1645,7 @@ +@@ -1651,7 +1645,7 @@ static int hifn_setup_session(struct abl err_out: spin_unlock_irqrestore(&dev->lock, flags); err_out_exit: @@ -4835,7 +4835,7 @@ dprintk("%s: iv: %p [%d], key: %p [%d], mode: %u, op: %u, " "type: %u, err: %d.\n", dev->name, ctx->iv, ctx->ivsize, -@@ -1745,8 +1739,7 @@ +@@ -1745,8 +1739,7 @@ static int ablkcipher_get(void *saddr, u return -EINVAL; while (size) { @@ -4845,7 +4845,7 @@ daddr = kmap_atomic(sg_page(dst), KM_IRQ0); memcpy(daddr + dst->offset + offset, saddr, copy); -@@ -1803,7 +1796,7 @@ +@@ -1803,7 +1796,7 @@ static void hifn_process_ready(struct ab sg_page(dst), dst->length, nbytes); if (!t->length) { @@ -4854,7 +4854,7 @@ idx++; continue; } -@@ -2202,9 +2195,9 @@ +@@ -2202,9 +2195,9 @@ static int hifn_setup_crypto(struct ablk return err; if (dev->started < HIFN_QUEUE_LENGTH && dev->queue.qlen) @@ -4866,7 +4866,7 @@ } /* -@@ -2364,7 +2357,7 @@ +@@ -2364,7 +2357,7 @@ static struct hifn_alg_template hifn_alg * 3DES ECB, CBC, CFB and OFB modes. */ { @@ -4875,7 +4875,7 @@ .ablkcipher = { .min_keysize = HIFN_3DES_KEY_LENGTH, .max_keysize = HIFN_3DES_KEY_LENGTH, -@@ -2374,7 +2367,7 @@ +@@ -2374,7 +2367,7 @@ static struct hifn_alg_template hifn_alg }, }, { @@ -4884,7 +4884,7 @@ .ablkcipher = { .min_keysize = HIFN_3DES_KEY_LENGTH, .max_keysize = HIFN_3DES_KEY_LENGTH, -@@ -2384,8 +2377,9 @@ +@@ -2384,8 +2377,9 @@ static struct hifn_alg_template hifn_alg }, }, { @@ -4895,7 +4895,7 @@ .min_keysize = HIFN_3DES_KEY_LENGTH, .max_keysize = HIFN_3DES_KEY_LENGTH, .setkey = hifn_setkey, -@@ -2394,7 +2388,7 @@ +@@ -2394,7 +2388,7 @@ static struct hifn_alg_template hifn_alg }, }, { @@ -4904,7 +4904,7 @@ .ablkcipher = { .min_keysize = HIFN_3DES_KEY_LENGTH, .max_keysize = HIFN_3DES_KEY_LENGTH, -@@ -2408,7 +2402,7 @@ +@@ -2408,7 +2402,7 @@ static struct hifn_alg_template hifn_alg * DES ECB, CBC, CFB and OFB modes. */ { @@ -4913,7 +4913,7 @@ .ablkcipher = { .min_keysize = HIFN_DES_KEY_LENGTH, .max_keysize = HIFN_DES_KEY_LENGTH, -@@ -2418,7 +2412,7 @@ +@@ -2418,7 +2412,7 @@ static struct hifn_alg_template hifn_alg }, }, { @@ -4922,7 +4922,7 @@ .ablkcipher = { .min_keysize = HIFN_DES_KEY_LENGTH, .max_keysize = HIFN_DES_KEY_LENGTH, -@@ -2428,8 +2422,9 @@ +@@ -2428,8 +2422,9 @@ static struct hifn_alg_template hifn_alg }, }, { @@ -4933,7 +4933,7 @@ .min_keysize = HIFN_DES_KEY_LENGTH, .max_keysize = HIFN_DES_KEY_LENGTH, .setkey = hifn_setkey, -@@ -2438,7 +2433,7 @@ +@@ -2438,7 +2433,7 @@ static struct hifn_alg_template hifn_alg }, }, { @@ -4942,7 +4942,7 @@ .ablkcipher = { .min_keysize = HIFN_DES_KEY_LENGTH, .max_keysize = HIFN_DES_KEY_LENGTH, -@@ -2452,7 +2447,7 @@ +@@ -2452,7 +2447,7 @@ static struct hifn_alg_template hifn_alg * AES ECB, CBC, CFB and OFB modes. */ { @@ -4951,7 +4951,7 @@ .ablkcipher = { .min_keysize = AES_MIN_KEY_SIZE, .max_keysize = AES_MAX_KEY_SIZE, -@@ -2462,8 +2457,9 @@ +@@ -2462,8 +2457,9 @@ static struct hifn_alg_template hifn_alg }, }, { @@ -4962,7 +4962,7 @@ .min_keysize = AES_MIN_KEY_SIZE, .max_keysize = AES_MAX_KEY_SIZE, .setkey = hifn_setkey, -@@ -2472,7 +2468,7 @@ +@@ -2472,7 +2468,7 @@ static struct hifn_alg_template hifn_alg }, }, { @@ -4971,7 +4971,7 @@ .ablkcipher = { .min_keysize = AES_MIN_KEY_SIZE, .max_keysize = AES_MAX_KEY_SIZE, -@@ -2482,7 +2478,7 @@ +@@ -2482,7 +2478,7 @@ static struct hifn_alg_template hifn_alg }, }, { @@ -4980,7 +4980,7 @@ .ablkcipher = { .min_keysize = AES_MIN_KEY_SIZE, .max_keysize = AES_MAX_KEY_SIZE, -@@ -2514,15 +2510,14 @@ +@@ -2514,15 +2510,14 @@ static int hifn_alg_alloc(struct hifn_de return -ENOMEM; snprintf(alg->alg.cra_name, CRYPTO_MAX_ALG_NAME, "%s", t->name); @@ -6510,7 +6510,7 @@ + --- a/drivers/crypto/padlock-aes.c +++ b/drivers/crypto/padlock-aes.c -@@ -411,12 +411,12 @@ +@@ -411,12 +411,12 @@ static int __init padlock_init(void) int ret; if (!cpu_has_xcrypt) { @@ -6527,7 +6527,7 @@ --- a/drivers/crypto/padlock-sha.c +++ b/drivers/crypto/padlock-sha.c -@@ -263,12 +263,12 @@ +@@ -263,12 +263,12 @@ static int __init padlock_init(void) int rc = -ENODEV; if (!cpu_has_phe) { @@ -8606,7 +8606,7 @@ #define CRYPTO_ALG_TYPE_BLKCIPHER_MASK 0x0000000c #define CRYPTO_ALG_LARVAL 0x00000010 -@@ -102,6 +104,7 @@ +@@ -102,6 +104,7 @@ struct crypto_async_request; struct crypto_aead; struct crypto_blkcipher; struct crypto_hash; @@ -8614,7 +8614,7 @@ struct crypto_tfm; struct crypto_type; struct aead_givcrypt_request; -@@ -131,6 +134,16 @@ +@@ -131,6 +134,16 @@ struct ablkcipher_request { void *__ctx[] CRYPTO_MINALIGN_ATTR; }; @@ -8631,7 +8631,7 @@ /** * struct aead_request - AEAD request * @base: Common attributes for async crypto requests -@@ -195,6 +208,17 @@ +@@ -195,6 +208,17 @@ struct ablkcipher_alg { unsigned int ivsize; }; @@ -8649,7 +8649,7 @@ struct aead_alg { int (*setkey)(struct crypto_aead *tfm, const u8 *key, unsigned int keylen); -@@ -272,6 +296,7 @@ +@@ -272,6 +296,7 @@ struct compress_alg { #define cra_cipher cra_u.cipher #define cra_digest cra_u.digest #define cra_hash cra_u.hash @@ -8657,7 +8657,7 @@ #define cra_compress cra_u.compress struct crypto_alg { -@@ -298,6 +323,7 @@ +@@ -298,6 +323,7 @@ struct crypto_alg { struct cipher_alg cipher; struct digest_alg digest; struct hash_alg hash; @@ -8665,7 +8665,7 @@ struct compress_alg compress; } cra_u; -@@ -383,6 +409,18 @@ +@@ -383,6 +409,18 @@ struct hash_tfm { unsigned int digestsize; }; @@ -8684,7 +8684,7 @@ struct compress_tfm { int (*cot_compress)(struct crypto_tfm *tfm, const u8 *src, unsigned int slen, -@@ -397,6 +435,7 @@ +@@ -397,6 +435,7 @@ struct compress_tfm { #define crt_blkcipher crt_u.blkcipher #define crt_cipher crt_u.cipher #define crt_hash crt_u.hash @@ -8692,7 +8692,7 @@ #define crt_compress crt_u.compress struct crypto_tfm { -@@ -409,6 +448,7 @@ +@@ -409,6 +448,7 @@ struct crypto_tfm { struct blkcipher_tfm blkcipher; struct cipher_tfm cipher; struct hash_tfm hash; diff --git a/target/linux/generic-2.6/patches-2.6.26/915-hso-backport.patch b/target/linux/generic-2.6/patches-2.6.26/915-hso-backport.patch index e60ca2ea4..79843a14e 100644 --- a/target/linux/generic-2.6/patches-2.6.26/915-hso-backport.patch +++ b/target/linux/generic-2.6/patches-2.6.26/915-hso-backport.patch @@ -28,7 +28,7 @@ Signed-off-by: Jeff Garzik --- a/drivers/net/Makefile +++ b/drivers/net/Makefile -@@ -237,6 +237,7 @@ +@@ -237,6 +237,7 @@ obj-$(CONFIG_USB_CATC) += usb/ obj-$(CONFIG_USB_KAWETH) += usb/ obj-$(CONFIG_USB_PEGASUS) += usb/ obj-$(CONFIG_USB_RTL8150) += usb/ @@ -38,7 +38,7 @@ Signed-off-by: Jeff Garzik --- a/drivers/net/usb/Kconfig +++ b/drivers/net/usb/Kconfig -@@ -154,6 +154,16 @@ +@@ -154,6 +154,16 @@ config USB_NET_AX8817X This driver creates an interface named "ethX", where X depends on what other networking devices you have in use. @@ -57,7 +57,7 @@ Signed-off-by: Jeff Garzik tristate "CDC Ethernet support (smart devices such as cable modems)" --- a/drivers/net/usb/Makefile +++ b/drivers/net/usb/Makefile -@@ -6,6 +6,7 @@ +@@ -6,6 +6,7 @@ obj-$(CONFIG_USB_CATC) += catc.o obj-$(CONFIG_USB_KAWETH) += kaweth.o obj-$(CONFIG_USB_PEGASUS) += pegasus.o obj-$(CONFIG_USB_RTL8150) += rtl8150.o diff --git a/target/linux/generic-2.6/patches-2.6.26/921-gpio_spi_driver.patch b/target/linux/generic-2.6/patches-2.6.26/921-gpio_spi_driver.patch index 2457cbe42..c70a3808d 100644 --- a/target/linux/generic-2.6/patches-2.6.26/921-gpio_spi_driver.patch +++ b/target/linux/generic-2.6/patches-2.6.26/921-gpio_spi_driver.patch @@ -330,7 +330,7 @@ +MODULE_LICENSE("GPL v2"); --- a/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig -@@ -100,6 +100,19 @@ +@@ -100,6 +100,19 @@ config SPI_BUTTERFLY inexpensive battery powered microcontroller evaluation board. This same cable can be used to flash new firmware. @@ -352,7 +352,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 @@ -362,7 +362,7 @@ obj-$(CONFIG_SPI_PXA2XX) += pxa2xx_spi.o --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -3795,6 +3795,11 @@ +@@ -3795,6 +3795,11 @@ L: cbe-oss-dev@ozlabs.org W: http://www.ibm.com/developerworks/power/cell/ S: Supported diff --git a/target/linux/generic-2.6/patches-2.6.26/922-gpiommc.patch b/target/linux/generic-2.6/patches-2.6.26/922-gpiommc.patch index 2fb3a34c6..2293a5e8a 100644 --- a/target/linux/generic-2.6/patches-2.6.26/922-gpiommc.patch +++ b/target/linux/generic-2.6/patches-2.6.26/922-gpiommc.patch @@ -611,7 +611,7 @@ +module_exit(gpiommc_modexit); --- a/drivers/mmc/host/Kconfig +++ b/drivers/mmc/host/Kconfig -@@ -130,3 +130,27 @@ +@@ -130,3 +130,27 @@ config MMC_SPI If unsure, or if your system has no SPI master driver, say N. @@ -641,7 +641,7 @@ + if configfs is available. --- a/drivers/mmc/host/Makefile +++ b/drivers/mmc/host/Makefile -@@ -17,4 +17,4 @@ +@@ -17,4 +17,4 @@ obj-$(CONFIG_MMC_OMAP) += omap.o obj-$(CONFIG_MMC_AT91) += at91_mci.o obj-$(CONFIG_MMC_TIFM_SD) += tifm_sd.o obj-$(CONFIG_MMC_SPI) += mmc_spi.o @@ -823,7 +823,7 @@ +be done automatically. --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -1818,6 +1818,11 @@ +@@ -1818,6 +1818,11 @@ L: gigaset307x-common@lists.sourceforge. W: http://gigaset307x.sourceforge.net/ S: Maintained diff --git a/target/linux/generic-2.6/patches-2.6.26/923-gpiommc-configfs-locking.patch b/target/linux/generic-2.6/patches-2.6.26/923-gpiommc-configfs-locking.patch index 1d0f5ba65..2e4e820b2 100644 --- a/target/linux/generic-2.6/patches-2.6.26/923-gpiommc-configfs-locking.patch +++ b/target/linux/generic-2.6/patches-2.6.26/923-gpiommc-configfs-locking.patch @@ -3,7 +3,7 @@ does not lock access between files. --- a/drivers/mmc/host/gpiommc.c +++ b/drivers/mmc/host/gpiommc.c -@@ -143,6 +143,8 @@ +@@ -143,6 +143,8 @@ struct gpiommc_configfs_device { struct platform_device *pdev; /* The configuration */ struct gpiommc_platform_data pdata; @@ -12,7 +12,7 @@ does not lock access between files. }; #define GPIO_INVALID -1 -@@ -233,6 +235,8 @@ +@@ -233,6 +235,8 @@ static ssize_t gpiommc_config_attr_show( unsigned int gpio; int err = 0; @@ -21,7 +21,7 @@ does not lock access between files. if (attr == &gpiommc_attr_DI) { gpio = dev->pdata.pins.gpio_di; if (gpio == GPIO_INVALID) -@@ -293,6 +297,8 @@ +@@ -293,6 +297,8 @@ static ssize_t gpiommc_config_attr_show( WARN_ON(1); err = -ENOSYS; out: @@ -30,7 +30,7 @@ does not lock access between files. return err ? err : count; } -@@ -352,6 +358,8 @@ +@@ -352,6 +358,8 @@ static ssize_t gpiommc_config_attr_store int err = -EINVAL; unsigned long data; @@ -39,7 +39,7 @@ does not lock access between files. if (attr == &gpiommc_attr_register) { err = strict_strtoul(page, 10, &data); if (err) -@@ -477,6 +485,8 @@ +@@ -477,6 +485,8 @@ static ssize_t gpiommc_config_attr_store WARN_ON(1); err = -ENOSYS; out: @@ -48,7 +48,7 @@ does not lock access between files. return err ? err : count; } -@@ -513,6 +523,7 @@ +@@ -513,6 +523,7 @@ static struct config_item *gpiommc_make_ if (!dev) return NULL; diff --git a/target/linux/generic-2.6/patches-2.6.26/930-ppc_big_endian_io_memory_accessors.patch b/target/linux/generic-2.6/patches-2.6.26/930-ppc_big_endian_io_memory_accessors.patch index 5b3755e87..25abf821d 100644 --- a/target/linux/generic-2.6/patches-2.6.26/930-ppc_big_endian_io_memory_accessors.patch +++ b/target/linux/generic-2.6/patches-2.6.26/930-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 -@@ -413,11 +413,21 @@ +@@ -413,11 +413,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); -@@ -428,11 +438,21 @@ +@@ -428,11 +438,21 @@ static inline void iowrite16(u16 val, vo writew(val, addr); } diff --git a/target/linux/generic-2.6/patches-2.6.26/940-arm_mach_types.patch b/target/linux/generic-2.6/patches-2.6.26/940-arm_mach_types.patch index 9e3da3cdc..9f0cdcf21 100644 --- a/target/linux/generic-2.6/patches-2.6.26/940-arm_mach_types.patch +++ b/target/linux/generic-2.6/patches-2.6.26/940-arm_mach_types.patch @@ -9,7 +9,7 @@ # # machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number # -@@ -1384,6 +1384,7 @@ +@@ -1384,6 +1384,7 @@ olip8 MACH_OLIP8 OLIP8 1378 ghi270hg MACH_GHI270HG GHI270HG 1379 davinci_dm6467_evm MACH_DAVINCI_DM6467_EVM DAVINCI_DM6467_EVM 1380 davinci_dm355_evm MACH_DAVINCI_DM350_EVM DAVINCI_DM350_EVM 1381 @@ -17,7 +17,7 @@ blackriver MACH_BLACKRIVER BLACKRIVER 1383 sandgate_wp MACH_SANDGATEWP SANDGATEWP 1384 cdotbwsg MACH_CDOTBWSG CDOTBWSG 1385 -@@ -1463,7 +1464,7 @@ +@@ -1463,7 +1464,7 @@ artemis MACH_ARTEMIS ARTEMIS 1462 htctitan MACH_HTCTITAN HTCTITAN 1463 qranium MACH_QRANIUM QRANIUM 1464 adx_wsc2 MACH_ADX_WSC2 ADX_WSC2 1465 @@ -26,7 +26,7 @@ bboard MACH_BBOARD BBOARD 1467 cambria MACH_CAMBRIA CAMBRIA 1468 mt7xxx MACH_MT7XXX MT7XXX 1469 -@@ -1647,7 +1648,7 @@ +@@ -1647,7 +1648,7 @@ badger MACH_BADGER BADGER 1648 trizeps4wl MACH_TRIZEPS4WL TRIZEPS4WL 1649 trizeps5 MACH_TRIZEPS5 TRIZEPS5 1650 marlin MACH_MARLIN MARLIN 1651 @@ -35,7 +35,7 @@ hpipaq214 MACH_HPIPAQ214 HPIPAQ214 1653 at572d940dcm MACH_AT572D940DCM AT572D940DCM 1654 ne1board MACH_NE1BOARD NE1BOARD 1655 -@@ -1720,3 +1721,84 @@ +@@ -1720,3 +1721,84 @@ htc_kaiser MACH_HTC_KAISER HTC_KAISER lg_ks20 MACH_LG_KS20 LG_KS20 1725 hhgps MACH_HHGPS HHGPS 1726 nokia_n810_wimax MACH_NOKIA_N810_WIMAX NOKIA_N810_WIMAX 1727 diff --git a/target/linux/generic-2.6/patches-2.6.26/950-revert_xt_sctp_simplify.patch b/target/linux/generic-2.6/patches-2.6.26/950-revert_xt_sctp_simplify.patch index a4d9381b5..462147b6d 100644 --- a/target/linux/generic-2.6/patches-2.6.26/950-revert_xt_sctp_simplify.patch +++ b/target/linux/generic-2.6/patches-2.6.26/950-revert_xt_sctp_simplify.patch @@ -1,6 +1,6 @@ --- a/include/linux/netfilter/xt_sctp.h +++ b/include/linux/netfilter/xt_sctp.h -@@ -37,54 +37,68 @@ +@@ -37,54 +37,68 @@ struct xt_sctp_info { #define SCTP_CHUNKMAP_SET(chunkmap, type) \ do { \ diff --git a/target/linux/generic-2.6/patches-2.6.26/951-revert_gcc4_4_fixes.patch b/target/linux/generic-2.6/patches-2.6.26/951-revert_gcc4_4_fixes.patch index bc6f5d0aa..20bd9a42c 100644 --- a/target/linux/generic-2.6/patches-2.6.26/951-revert_gcc4_4_fixes.patch +++ b/target/linux/generic-2.6/patches-2.6.26/951-revert_gcc4_4_fixes.patch @@ -236,7 +236,7 @@ -#endif --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile -@@ -51,7 +51,7 @@ +@@ -51,7 +51,7 @@ $(addprefix $(obj)/,$(zlib) gunzip_util. $(addprefix $(obj)/,$(zliblinuxheader)) $(addprefix $(obj)/,$(zlibheader)) src-libfdt := fdt.c fdt_ro.c fdt_wip.c fdt_sw.c fdt_rw.c fdt_strerror.c @@ -247,7 +247,7 @@ gunzip_util.c elf_util.c $(zlib) devtree.c oflib.c ofconsole.c \ --- a/arch/powerpc/kernel/prom_init_check.sh +++ b/arch/powerpc/kernel/prom_init_check.sh -@@ -48,20 +48,6 @@ +@@ -48,20 +48,6 @@ do fi done @@ -502,7 +502,7 @@ -#endif --- a/arch/powerpc/lib/Makefile +++ b/arch/powerpc/lib/Makefile -@@ -9,7 +9,7 @@ +@@ -9,7 +9,7 @@ endif ifeq ($(CONFIG_PPC_MERGE),y) obj-y := string.o alloc.o \ checksum_$(CONFIG_WORD_SIZE).o @@ -513,7 +513,7 @@ --- a/arch/powerpc/Makefile +++ b/arch/powerpc/Makefile -@@ -96,8 +96,6 @@ +@@ -96,8 +96,6 @@ endif else KBUILD_CFLAGS += $(call cc-option,-mtune=power4) endif diff --git a/target/linux/generic-2.6/patches-2.6.26/970-ocf_20080704.patch b/target/linux/generic-2.6/patches-2.6.26/970-ocf_20080704.patch index 003d28c0c..7c07cd107 100644 --- a/target/linux/generic-2.6/patches-2.6.26/970-ocf_20080704.patch +++ b/target/linux/generic-2.6/patches-2.6.26/970-ocf_20080704.patch @@ -1,6 +1,6 @@ --- a/crypto/Kconfig +++ b/crypto/Kconfig -@@ -678,3 +678,6 @@ +@@ -678,3 +678,6 @@ config CRYPTO_PRNG source "drivers/crypto/Kconfig" endif # if CRYPTO @@ -9,7 +9,7 @@ + --- a/crypto/Makefile +++ b/crypto/Makefile -@@ -72,6 +72,8 @@ +@@ -72,6 +72,8 @@ obj-$(CONFIG_CRYPTO_LZO) += lzo.o obj-$(CONFIG_CRYPTO_PRNG) += prng.o obj-$(CONFIG_CRYPTO_TEST) += tcrypt.o @@ -44,7 +44,7 @@ * All of these routines try to estimate how many bits of randomness a * particular randomness source. They do this by keeping track of the * first and second order deltas of the event timings. -@@ -667,6 +677,61 @@ +@@ -667,6 +677,61 @@ void add_disk_randomness(struct gendisk } #endif @@ -108,7 +108,7 @@ /********************************************************************* --- a/fs/fcntl.c +++ b/fs/fcntl.c -@@ -191,6 +191,7 @@ +@@ -191,6 +191,7 @@ asmlinkage long sys_dup(unsigned int fil ret = dupfd(file, 0, 0); return ret; } @@ -167,7 +167,7 @@ struct rand_pool_info { int entropy_count; int buf_size; -@@ -48,6 +73,10 @@ +@@ -48,6 +73,10 @@ extern void add_input_randomness(unsigne unsigned int value); extern void add_interrupt_randomness(int irq); diff --git a/target/linux/generic-2.6/patches-2.6.26/980-backport_gpio_sysfs_support.patch b/target/linux/generic-2.6/patches-2.6.26/980-backport_gpio_sysfs_support.patch index b62724ab0..efacb2512 100644 --- a/target/linux/generic-2.6/patches-2.6.26/980-backport_gpio_sysfs_support.patch +++ b/target/linux/generic-2.6/patches-2.6.26/980-backport_gpio_sysfs_support.patch @@ -70,7 +70,7 @@ Signed-off-by: Linus Torvalds --- a/Documentation/gpio.txt +++ b/Documentation/gpio.txt -@@ -347,15 +347,12 @@ +@@ -347,15 +347,12 @@ necessarily be nonportable. Dynamic definition of GPIOs is not currently standard; for example, as a side effect of configuring an add-on board with some GPIO expanders. @@ -87,7 +87,7 @@ Signed-off-by: Linus Torvalds As a debugging aid, if debugfs is available a /sys/kernel/debug/gpio file will be found there. That will list all the controllers registered through -@@ -439,4 +436,120 @@ +@@ -439,4 +436,120 @@ becomes available. That may mean the de calls for that GPIO can work. One way to address such dependencies is for such gpio_chip controllers to provide setup() and teardown() callbacks to board specific code; those board specific callbacks would register devices @@ -211,7 +211,7 @@ Signed-off-by: Linus Torvalds +suitable for documenting as part of a board support package. --- a/arch/arm/plat-omap/gpio.c +++ b/arch/arm/plat-omap/gpio.c -@@ -1488,6 +1488,9 @@ +@@ -1488,6 +1488,9 @@ static int __init _omap_gpio_init(void) bank->chip.set = gpio_set; if (bank_is_mpuio(bank)) { bank->chip.label = "mpuio"; @@ -223,7 +223,7 @@ Signed-off-by: Linus Torvalds bank->chip.label = "gpio"; --- a/arch/avr32/mach-at32ap/pio.c +++ b/arch/avr32/mach-at32ap/pio.c -@@ -358,6 +358,8 @@ +@@ -358,6 +358,8 @@ static int __init pio_probe(struct platf pio->chip.label = pio->name; pio->chip.base = pdev->id * 32; pio->chip.ngpio = 32; @@ -234,7 +234,7 @@ Signed-off-by: Linus Torvalds pio->chip.get = gpio_get; --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig -@@ -23,6 +23,21 @@ +@@ -23,6 +23,21 @@ config DEBUG_GPIO slower. The diagnostics help catch the type of setup errors that are most common when setting up new platforms or boards. @@ -272,7 +272,7 @@ Signed-off-by: Linus Torvalds /* Optional implementation infrastructure for GPIO interfaces. -@@ -44,6 +47,8 @@ +@@ -44,6 +47,8 @@ struct gpio_desc { #define FLAG_REQUESTED 0 #define FLAG_IS_OUT 1 #define FLAG_RESERVED 2 @@ -281,7 +281,7 @@ Signed-off-by: Linus Torvalds #ifdef CONFIG_DEBUG_FS const char *label; -@@ -151,6 +156,486 @@ +@@ -151,6 +156,486 @@ err: return ret; } @@ -768,7 +768,7 @@ Signed-off-by: Linus Torvalds /** * gpiochip_add() - register a gpio_chip * @chip: the chip to register, with chip->base initialized -@@ -160,6 +645,11 @@ +@@ -160,6 +645,11 @@ err: * because the chip->base is invalid or already associated with a * different chip. Otherwise it returns zero as a success code. * @@ -780,7 +780,7 @@ Signed-off-by: Linus Torvalds * If chip->base is negative, this requests dynamic assignment of * a range of valid GPIOs. */ -@@ -182,7 +672,7 @@ +@@ -182,7 +672,7 @@ int gpiochip_add(struct gpio_chip *chip) base = gpiochip_find_base(chip->ngpio); if (base < 0) { status = base; @@ -789,7 +789,7 @@ Signed-off-by: Linus Torvalds } chip->base = base; } -@@ -197,12 +687,23 @@ +@@ -197,12 +687,23 @@ int gpiochip_add(struct gpio_chip *chip) if (status == 0) { for (id = base; id < base + chip->ngpio; id++) { gpio_desc[id].chip = chip; @@ -815,7 +815,7 @@ Signed-off-by: Linus Torvalds fail: /* failures here can mean systems won't boot... */ if (status) -@@ -239,6 +740,10 @@ +@@ -239,6 +740,10 @@ int gpiochip_remove(struct gpio_chip *ch } spin_unlock_irqrestore(&gpio_lock, flags); @@ -826,7 +826,7 @@ Signed-off-by: Linus Torvalds return status; } EXPORT_SYMBOL_GPL(gpiochip_remove); -@@ -296,6 +801,8 @@ +@@ -296,6 +801,8 @@ void gpio_free(unsigned gpio) return; } @@ -835,7 +835,7 @@ Signed-off-by: Linus Torvalds spin_lock_irqsave(&gpio_lock, flags); desc = &gpio_desc[gpio]; -@@ -534,10 +1041,6 @@ +@@ -534,10 +1041,6 @@ EXPORT_SYMBOL_GPL(gpio_set_value_canslee #ifdef CONFIG_DEBUG_FS @@ -846,7 +846,7 @@ Signed-off-by: Linus Torvalds static void gpiolib_dbg_show(struct seq_file *s, struct gpio_chip *chip) { unsigned i; -@@ -614,17 +1117,28 @@ +@@ -614,17 +1117,28 @@ static int gpiolib_show(struct seq_file /* REVISIT this isn't locked against gpio_chip removal ... */ for (gpio = 0; gpio_is_valid(gpio); gpio++) { @@ -881,7 +881,7 @@ Signed-off-by: Linus Torvalds chip->dbg_show(s, chip); --- a/drivers/gpio/mcp23s08.c +++ b/drivers/gpio/mcp23s08.c -@@ -239,6 +239,7 @@ +@@ -239,6 +239,7 @@ static int mcp23s08_probe(struct spi_dev mcp->chip.base = pdata->base; mcp->chip.ngpio = 8; mcp->chip.can_sleep = 1; @@ -891,7 +891,7 @@ Signed-off-by: Linus Torvalds spi_set_drvdata(spi, mcp); --- a/drivers/gpio/pca953x.c +++ b/drivers/gpio/pca953x.c -@@ -188,6 +188,7 @@ +@@ -188,6 +188,7 @@ static void pca953x_setup_gpio(struct pc gc->base = chip->gpio_start; gc->ngpio = gpios; gc->label = chip->client->name; @@ -901,7 +901,7 @@ Signed-off-by: Linus Torvalds --- a/drivers/gpio/pcf857x.c +++ b/drivers/gpio/pcf857x.c -@@ -175,6 +175,7 @@ +@@ -175,6 +175,7 @@ static int pcf857x_probe(struct i2c_clie gpio->chip.base = pdata->gpio_base; gpio->chip.can_sleep = 1; @@ -911,7 +911,7 @@ Signed-off-by: Linus Torvalds /* NOTE: the OnSemi jlc1562b is also largely compatible with --- a/drivers/i2c/chips/tps65010.c +++ b/drivers/i2c/chips/tps65010.c -@@ -636,6 +636,8 @@ +@@ -636,6 +636,8 @@ static int tps65010_probe(struct i2c_cli tps->outmask = board->outmask; tps->chip.label = client->name; @@ -922,7 +922,7 @@ Signed-off-by: Linus Torvalds tps->chip.direction_output = tps65010_output; --- a/drivers/mfd/htc-egpio.c +++ b/drivers/mfd/htc-egpio.c -@@ -318,6 +318,8 @@ +@@ -318,6 +318,8 @@ static int __init egpio_probe(struct pla ei->chip[i].dev = &(pdev->dev); chip = &(ei->chip[i].chip); chip->label = "htc-egpio"; @@ -933,7 +933,7 @@ Signed-off-by: Linus Torvalds chip->direction_input = egpio_direction_input; --- a/include/asm-generic/gpio.h +++ b/include/asm-generic/gpio.h -@@ -32,6 +32,8 @@ +@@ -32,6 +32,8 @@ struct module; /** * struct gpio_chip - abstract a GPIO controller * @label: for diagnostics @@ -942,7 +942,7 @@ Signed-off-by: Linus Torvalds * @direction_input: configures signal "offset" as input, or returns error * @get: returns value for signal "offset"; for output signals this * returns either the value actually sensed, or zero -@@ -59,6 +61,7 @@ +@@ -59,6 +61,7 @@ struct module; */ struct gpio_chip { char *label; @@ -950,7 +950,7 @@ Signed-off-by: Linus Torvalds struct module *owner; int (*direction_input)(struct gpio_chip *chip, -@@ -74,6 +77,7 @@ +@@ -74,6 +77,7 @@ struct gpio_chip { int base; u16 ngpio; unsigned can_sleep:1; @@ -958,7 +958,7 @@ Signed-off-by: Linus Torvalds }; extern const char *gpiochip_is_requested(struct gpio_chip *chip, -@@ -108,7 +112,18 @@ +@@ -108,7 +112,18 @@ extern void __gpio_set_value(unsigned gp extern int __gpio_cansleep(unsigned gpio); @@ -978,7 +978,7 @@ Signed-off-by: Linus Torvalds static inline int gpio_is_valid(int number) { -@@ -137,6 +152,22 @@ +@@ -137,6 +152,22 @@ static inline void gpio_set_value_cansle gpio_set_value(gpio, value); } @@ -1004,7 +1004,7 @@ Signed-off-by: Linus Torvalds #endif /* _ASM_GENERIC_GPIO_H */ --- a/include/linux/gpio.h +++ b/include/linux/gpio.h -@@ -79,6 +79,19 @@ +@@ -79,6 +79,19 @@ static inline void gpio_set_value_cansle WARN_ON(1); } diff --git a/target/linux/generic-2.6/patches-2.6.26/981-backport_usb_serial_sierrawireless_ids.patch b/target/linux/generic-2.6/patches-2.6.26/981-backport_usb_serial_sierrawireless_ids.patch index 161d2d002..2cb85a041 100644 --- a/target/linux/generic-2.6/patches-2.6.26/981-backport_usb_serial_sierrawireless_ids.patch +++ b/target/linux/generic-2.6/patches-2.6.26/981-backport_usb_serial_sierrawireless_ids.patch @@ -1,6 +1,6 @@ --- a/drivers/usb/serial/sierra.c +++ b/drivers/usb/serial/sierra.c -@@ -205,6 +205,7 @@ +@@ -205,6 +205,7 @@ static struct usb_device_id id_table [] { USB_DEVICE(0x1199, 0x6832) }, /* Sierra Wireless MC8780*/ { USB_DEVICE(0x1199, 0x6833) }, /* Sierra Wireless MC8781*/ { USB_DEVICE(0x1199, 0x683B), .driver_info = DEVICE_1_PORT }, /* Sierra Wireless MC8785 Composite*/ -- cgit v1.2.3