From 19b0e56ba7d5a1c93075cac3d662486917a9ef35 Mon Sep 17 00:00:00 2001
From: Gabor Juhos <juhosg@openwrt.org>
Date: Wed, 15 Oct 2008 19:30:21 +0000
Subject: [PATCH] refresh patches against 2.6.27 final

SVN-Revision: 12987
---
 include/kernel-version.mk                     |  3 -
 .../adm5120/patches-2.6.27/001-adm5120.patch  |  6 +-
 .../patches-2.6.27/002-adm5120_flash.patch    |  4 +-
 .../patches-2.6.27/003-adm5120_switch.patch   |  4 +-
 .../patches-2.6.27/005-adm5120_usb.patch      |  4 +-
 .../patches-2.6.27/007-adm5120_pci.patch      |  2 +-
 .../009-adm5120_leds_switch_trigger.patch     |  4 +-
 .../100-mtd_myloder_partition_parser.patch    |  4 +-
 .../101-cfi_fixup_macronix_bootloc.patch      |  6 +-
 .../102-jedec_pmc_39lvxxx_chips.patch         |  2 +-
 .../patches-2.6.27/103-mtd_trxsplit.patch     |  4 +-
 .../patches-2.6.27/120-rb153_cf_driver.patch  |  4 +-
 .../patches-2.6.27/200-amba_pl010_hacks.patch | 58 +++++++++----------
 .../202-pci_disable_common_quirks.patch       |  8 +--
 .../203-gpio_leds_brightness.patch            |  2 +-
 .../patches-2.6.27/310-adm5120_wdt.patch      |  4 +-
 ..._automatically_enable_rhsc_interrupt.patch |  4 +-
 .../patches-2.6.27/001-ar71xx_core.patch      |  6 +-
 .../patches-2.6.27/002-ar71xx_pci.patch       |  2 +-
 .../patches-2.6.27/003-ar71xx_usb_host.patch  | 10 ++--
 .../004-ar71xx_spi_controller.patch           |  4 +-
 .../005-ar71xx_mac_driver.patch               |  2 +-
 .../006-ar71xx_wdt_driver.patch               |  4 +-
 .../100-mtd_pm25lv_flash_support.patch        |  2 +-
 .../101-ksz8041_phy_driver.patch              |  4 +-
 .../140-redboot_partition_scan.patch          |  4 +-
 .../200-rb4xx_nand_driver.patch               |  4 +-
 .../patches-2.6.27/300-mips_fw_myloader.patch |  4 +-
 .../800-remove_netif_schedule.patch           |  2 +-
 .../900-mips_multi_machine_support.patch      |  6 +-
 .../901-get_c0_compare_irq_function.patch     |  4 +-
 .../902-mips_clocksource_init_war.patch       |  4 +-
 .../atheros/patches-2.6.27/100-board.patch    |  6 +-
 .../atheros/patches-2.6.27/110-spiflash.patch |  4 +-
 .../atheros/patches-2.6.27/120-watchdog.patch |  4 +-
 .../patches-2.6.27/130-ar2313_ethernet.patch  |  4 +-
 .../patches-2.6.27/135-ar2313_2.6.26.patch    |  2 +-
 .../140-redboot_partition_scan.patch          |  4 +-
 .../patches-2.6.27/150-bridge-printk.patch    |  4 +-
 .../200-ar2313_enable_mvswitch.patch          |  6 +-
 .../901-get_c0_compare_irq_function.patch     |  6 +-
 .../902-mips_clocksource_init_war.patch       |  4 +-
 .../patches-2.6.27/001-squashfs.patch         | 12 ++--
 .../patches-2.6.27/002-lzma_decompress.patch  |  2 +-
 .../patches-2.6.27/003-squashfs_lzma.patch    | 10 ++--
 .../004-extra_optimization.patch              |  2 +-
 .../patches-2.6.27/005-squashfs_fix.patch     |  2 +-
 .../patches-2.6.27/006-gcc4_inline_fix.patch  |  2 +-
 .../patches-2.6.27/007-samsung_flash.patch    |  2 +-
 .../patches-2.6.27/060-block2mtd_init.patch   | 14 ++---
 .../patches-2.6.27/065-rootfs_split.patch     | 46 +++++++--------
 .../patches-2.6.27/070-redboot_space.patch    |  2 +-
 .../071-redboot_boardconfig.patch             |  8 +--
 .../080-mtd_plat_nand_chip_fixup.patch        |  4 +-
 .../100-netfilter_layer7_2.17.patch           | 10 ++--
 .../101-netfilter_layer7_pktmatch.patch       | 10 ++--
 .../patches-2.6.27/110-ipp2p_0.8.1rc1.patch   |  4 +-
 .../patches-2.6.27/130-netfilter_ipset.patch  |  6 +-
 .../patches-2.6.27/140-netfilter_time.patch   |  4 +-
 .../patches-2.6.27/150-netfilter_imq.patch    | 18 +++---
 .../170-netfilter_chaostables_0.8.patch       | 12 ++--
 .../patches-2.6.27/171-netfilter_tarpit.patch |  4 +-
 .../180-netfilter_depends.patch               |  4 +-
 .../patches-2.6.27/190-netfilter_rtsp.patch   |  8 +--
 .../patches-2.6.27/200-sched_esfq.patch       |  6 +-
 .../202-mips-freestanding.patch               |  2 +-
 .../patches-2.6.27/204-jffs2_eofdetect.patch  | 22 +++----
 .../patches-2.6.27/208-rtl8110sb_fix.patch    |  8 +--
 .../patches-2.6.27/209-mini_fo.patch          |  4 +-
 .../210-mini_fo_2.6.25_fixes.patch            | 16 ++---
 .../211-mini_fo_2.6.25_dentry_open_war.patch  |  8 +--
 .../212-mini_fo_2.6.26_fixes.patch            |  8 +--
 .../213-mini_fo_2.6.27_fixes.patch            |  8 +--
 .../patches-2.6.27/219-kobject_uevent.patch   |  6 +-
 .../patches-2.6.27/220-sound_kconfig.patch    |  2 +-
 .../patches-2.6.27/400-ledtrig_morse.patch    |  4 +-
 .../patches-2.6.27/401-led_alix.patch         |  4 +-
 .../patches-2.6.27/402-ledtrig_netdev.patch   |  4 +-
 .../patches-2.6.27/410-gpio_buttons.patch     |  4 +-
 .../patches-2.6.27/420-gpiodev.patch          |  4 +-
 .../patches-2.6.27/510-yaffs_support.patch    |  4 +-
 .../patches-2.6.27/512-yaffs_2.6.25_fix.patch | 10 ++--
 .../patches-2.6.27/513-yaffs_2.6.26_fix.patch | 14 ++---
 .../patches-2.6.27/600-phy_extension.patch    |  8 +--
 .../patches-2.6.27/610-phy_detect.patch       |  4 +-
 .../patches-2.6.27/620-phy_adm6996.patch      |  4 +-
 .../patches-2.6.27/630-phy_packets.patch      |  8 +--
 .../patches-2.6.27/640-mvswitch.patch         |  6 +-
 .../801-usb_serial_endpoint_size.patch        |  6 +-
 .../840-unable_to_open_console.patch          |  2 +-
 .../900-headers_type_and_time.patch           |  4 +-
 .../902-darwin_scripts_include.patch          |  2 +-
 .../patches-2.6.27/903-hostap_txpower.patch   | 14 ++---
 .../patches-2.6.27/903-stddef_include.patch   |  4 +-
 .../patches-2.6.27/921-gpio_spi_driver.patch  |  6 +-
 .../patches-2.6.27/922-gpiommc.patch          |  6 +-
 .../923-gpiommc-configfs-locking.patch        | 12 ++--
 .../950-revert_xt_sctp_simplify.patch         |  2 +-
 .../951-revert_gcc4_4_fixes.patch             |  8 +--
 ...ert_xt_string_case_insensitive_match.patch | 12 ++--
 .../patches-2.6.27/970-ocf_20080704.patch     | 10 ++--
 ...00-wg302v2_gateway7001_mac_plat_info.patch |  4 +-
 .../patches-2.6.27/105-wg302v1_support.patch  |  8 +--
 .../110-pronghorn_series_support.patch        | 10 ++--
 .../111-pronghorn_swap_uarts.patch            |  2 +-
 .../115-sidewinder_support.patch              |  8 +--
 .../116-sidewinder_fis_location.patch         |  4 +-
 .../patches-2.6.27/120-compex_support.patch   | 10 ++--
 .../130-wrt300nv2_support.patch               |  8 +--
 .../131-wrt300nv2_mac_plat_info.patch         |  2 +-
 .../150-lanready_ap1000_support.patch         |  8 +--
 .../151-lanready_ap1000_mac_plat_info.patch   |  2 +-
 .../162-wg302v1_mem_fixup.patch               |  4 +-
 .../170-ixdpg425_mac_plat_info.patch          |  2 +-
 .../patches-2.6.27/180-tw5334_support.patch   |  8 +--
 .../patches-2.6.27/190-cambria_support.patch  |  8 +--
 .../191-cambria_optional_uart.patch           |  6 +-
 .../192-cambria_gpio_device.patch             |  6 +-
 ...01-npe_driver_print_license_location.patch |  2 +-
 .../202-npe_driver_switch_support.patch       | 22 +++----
 .../203-npe_driver_phy_reset_autoneg.patch    |  4 +-
 .../204-npe_driver_ixp43x_support.patch       |  8 +--
 .../ixp4xx/patches-2.6.27/210-npe_hss.patch   |  4 +-
 .../294-eeprom_new_notifier.patch             | 10 ++--
 .../patches-2.6.27/295-latch_led_driver.patch |  6 +-
 .../296-avila_mac_plat_info.patch             |  4 +-
 .../patches-2.6.27/300-avila_fetch_mac.patch  |  4 +-
 .../ixp4xx/patches-2.6.27/301-avila_led.patch | 10 ++--
 .../302-avila_gpio_device.patch               |  2 +-
 .../303-avila_gw23x7_phy_quirk.patch          |  8 +--
 .../patches-2.6.27/310-gtwx5717_spi_bus.patch |  2 +-
 .../311-gtwx5717_mac_plat_info.patch          |  2 +-
 .../312-ixp4xx_pata_optimization.patch        |  6 +-
 .../ixp4xx/patches-2.6.27/400-dmabounce.patch |  4 +-
 134 files changed, 433 insertions(+), 436 deletions(-)

diff --git a/include/kernel-version.mk b/include/kernel-version.mk
index 340ce570b9..1fa9fa4675 100644
--- a/include/kernel-version.mk
+++ b/include/kernel-version.mk
@@ -28,9 +28,6 @@ endif
 ifeq ($(LINUX_VERSION),2.6.26.5)
   LINUX_KERNEL_MD5SUM:=98261b39a558cf0739703ffea7db9f43
 endif
-ifeq ($(LINUX_VERSION),2.6.27-rc9)
-  LINUX_KERNEL_MD5SUM:=d78ffa904cc4a9c4eafd68ce55135198
-endif
 ifeq ($(LINUX_VERSION),2.6.27)
   LINUX_KERNEL_MD5SUM:=b3e78977aa79d3754cb7f8143d7ddabd
 endif
diff --git a/target/linux/adm5120/patches-2.6.27/001-adm5120.patch b/target/linux/adm5120/patches-2.6.27/001-adm5120.patch
index 0c94ca2883..5723e0a614 100644
--- a/target/linux/adm5120/patches-2.6.27/001-adm5120.patch
+++ b/target/linux/adm5120/patches-2.6.27/001-adm5120.patch
@@ -1,6 +1,6 @@
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -19,6 +19,20 @@
+@@ -19,6 +19,20 @@ choice
  	prompt "System type"
  	default SGI_IP22
  
@@ -21,7 +21,7 @@
  config MACH_ALCHEMY
  	bool "Alchemy processor based machines"
  
-@@ -598,6 +612,7 @@
+@@ -598,6 +612,7 @@ config WR_PPMC
  
  endchoice
  
@@ -31,7 +31,7 @@
  source "arch/mips/jazz/Kconfig"
 --- a/arch/mips/Makefile
 +++ b/arch/mips/Makefile
-@@ -174,6 +174,21 @@
+@@ -174,6 +174,21 @@ cflags-$(CONFIG_MACH_JAZZ)	+= -Iinclude/
  load-$(CONFIG_MACH_JAZZ)	+= 0xffffffff80080000
  
  #
diff --git a/target/linux/adm5120/patches-2.6.27/002-adm5120_flash.patch b/target/linux/adm5120/patches-2.6.27/002-adm5120_flash.patch
index 923b4fa1fe..99a87cdfb0 100644
--- a/target/linux/adm5120/patches-2.6.27/002-adm5120_flash.patch
+++ b/target/linux/adm5120/patches-2.6.27/002-adm5120_flash.patch
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/maps/Kconfig
 +++ b/drivers/mtd/maps/Kconfig
-@@ -571,5 +571,9 @@
+@@ -571,5 +571,9 @@ config MTD_PLATRAM
  
  	  This selection automatically selects the map_ram driver.
  
@@ -12,7 +12,7 @@
  
 --- a/drivers/mtd/maps/Makefile
 +++ b/drivers/mtd/maps/Makefile
-@@ -42,6 +42,7 @@
+@@ -42,6 +42,7 @@ obj-$(CONFIG_MTD_DBOX2)		+= dbox2-flash.
  obj-$(CONFIG_MTD_SOLUTIONENGINE)+= solutionengine.o
  obj-$(CONFIG_MTD_PCI)		+= pci.o
  obj-$(CONFIG_MTD_ALCHEMY)       += alchemy-flash.o
diff --git a/target/linux/adm5120/patches-2.6.27/003-adm5120_switch.patch b/target/linux/adm5120/patches-2.6.27/003-adm5120_switch.patch
index 1502a4225d..a36a3e2e9c 100644
--- a/target/linux/adm5120/patches-2.6.27/003-adm5120_switch.patch
+++ b/target/linux/adm5120/patches-2.6.27/003-adm5120_switch.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/Kconfig
 +++ b/drivers/net/Kconfig
-@@ -596,6 +596,10 @@
+@@ -596,6 +596,10 @@ config MIPS_AU1X00_ENET
  	  If you have an Alchemy Semi AU1X00 based system
  	  say Y.  Otherwise, say N.
  
@@ -13,7 +13,7 @@
  	depends on PCI && SGI_IP27
 --- a/drivers/net/Makefile
 +++ b/drivers/net/Makefile
-@@ -187,6 +187,7 @@
+@@ -187,6 +187,7 @@ obj-$(CONFIG_SC92031) += sc92031.o
  # This is also a 82596 and should probably be merged
  obj-$(CONFIG_LP486E) += lp486e.o
  
diff --git a/target/linux/adm5120/patches-2.6.27/005-adm5120_usb.patch b/target/linux/adm5120/patches-2.6.27/005-adm5120_usb.patch
index ae85e6468d..751af5a6b7 100644
--- a/target/linux/adm5120/patches-2.6.27/005-adm5120_usb.patch
+++ b/target/linux/adm5120/patches-2.6.27/005-adm5120_usb.patch
@@ -13,7 +13,7 @@
  	depends on USB
 --- a/drivers/usb/host/Makefile
 +++ b/drivers/usb/host/Makefile
-@@ -10,6 +10,7 @@
+@@ -10,6 +10,7 @@ isp1760-objs := isp1760-hcd.o isp1760-if
  
  obj-$(CONFIG_PCI)		+= pci-quirks.o
  
@@ -23,7 +23,7 @@
  obj-$(CONFIG_USB_OHCI_HCD)	+= ohci-hcd.o
 --- a/drivers/usb/Makefile
 +++ b/drivers/usb/Makefile
-@@ -16,6 +16,7 @@
+@@ -16,6 +16,7 @@ obj-$(CONFIG_USB_UHCI_HCD)	+= host/
  obj-$(CONFIG_USB_SL811_HCD)	+= host/
  obj-$(CONFIG_USB_U132_HCD)	+= host/
  obj-$(CONFIG_USB_R8A66597_HCD)	+= host/
diff --git a/target/linux/adm5120/patches-2.6.27/007-adm5120_pci.patch b/target/linux/adm5120/patches-2.6.27/007-adm5120_pci.patch
index 63f90671d7..d197cfe858 100644
--- a/target/linux/adm5120/patches-2.6.27/007-adm5120_pci.patch
+++ b/target/linux/adm5120/patches-2.6.27/007-adm5120_pci.patch
@@ -1,6 +1,6 @@
 --- a/arch/mips/pci/Makefile
 +++ b/arch/mips/pci/Makefile
-@@ -51,3 +51,4 @@
+@@ -51,3 +51,4 @@ obj-$(CONFIG_VICTOR_MPC30X)	+= fixup-mpc
  obj-$(CONFIG_ZAO_CAPCELLA)	+= fixup-capcella.o
  obj-$(CONFIG_WR_PPMC)		+= fixup-wrppmc.o
  obj-$(CONFIG_MIKROTIK_RB532)	+= pci-rc32434.o ops-rc32434.o fixup-rc32434.o
diff --git a/target/linux/adm5120/patches-2.6.27/009-adm5120_leds_switch_trigger.patch b/target/linux/adm5120/patches-2.6.27/009-adm5120_leds_switch_trigger.patch
index 79d0bcbd3b..4b8f8833dd 100644
--- a/target/linux/adm5120/patches-2.6.27/009-adm5120_leds_switch_trigger.patch
+++ b/target/linux/adm5120/patches-2.6.27/009-adm5120_leds_switch_trigger.patch
@@ -1,6 +1,6 @@
 --- a/drivers/leds/Kconfig
 +++ b/drivers/leds/Kconfig
-@@ -223,4 +223,12 @@
+@@ -223,4 +223,12 @@ config LEDS_TRIGGER_NETDEV
  	  This allows LEDs to be controlled by network device activity.
  	  If unsure, say Y.
  
@@ -15,7 +15,7 @@
  endif # NEW_LEDS
 --- a/drivers/leds/Makefile
 +++ b/drivers/leds/Makefile
-@@ -32,3 +32,4 @@
+@@ -32,3 +32,4 @@ obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT)	+= 
  obj-$(CONFIG_LEDS_TRIGGER_DEFAULT_ON)	+= ledtrig-default-on.o
  obj-$(CONFIG_LEDS_TRIGGER_MORSE)	+= ledtrig-morse.o
  obj-$(CONFIG_LEDS_TRIGGER_NETDEV)      += ledtrig-netdev.o
diff --git a/target/linux/adm5120/patches-2.6.27/100-mtd_myloder_partition_parser.patch b/target/linux/adm5120/patches-2.6.27/100-mtd_myloder_partition_parser.patch
index 6d4daeeeb2..90e221958c 100644
--- a/target/linux/adm5120/patches-2.6.27/100-mtd_myloder_partition_parser.patch
+++ b/target/linux/adm5120/patches-2.6.27/100-mtd_myloder_partition_parser.patch
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/Kconfig
 +++ b/drivers/mtd/Kconfig
-@@ -172,6 +172,22 @@
+@@ -172,6 +172,22 @@ config MTD_AR7_PARTS
  	---help---
  	  TI AR7 partitioning support
  
@@ -25,7 +25,7 @@
  config MTD_CHAR
 --- a/drivers/mtd/Makefile
 +++ b/drivers/mtd/Makefile
-@@ -13,6 +13,7 @@
+@@ -13,6 +13,7 @@ obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdli
  obj-$(CONFIG_MTD_AFS_PARTS)	+= afs.o
  obj-$(CONFIG_MTD_AR7_PARTS)	+= ar7part.o
  obj-$(CONFIG_MTD_OF_PARTS)      += ofpart.o
diff --git a/target/linux/adm5120/patches-2.6.27/101-cfi_fixup_macronix_bootloc.patch b/target/linux/adm5120/patches-2.6.27/101-cfi_fixup_macronix_bootloc.patch
index 19ad785a44..d13ddaf631 100644
--- a/target/linux/adm5120/patches-2.6.27/101-cfi_fixup_macronix_bootloc.patch
+++ b/target/linux/adm5120/patches-2.6.27/101-cfi_fixup_macronix_bootloc.patch
@@ -20,7 +20,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 *);
  static int cfi_amdstd_write_buffers(struct mtd_info *, loff_t, size_t, size_t *, const u_char *);
-@@ -240,6 +247,41 @@
+@@ -240,6 +247,41 @@ static void fixup_s29gl032n_sectors(stru
  	}
  }
  
@@ -62,7 +62,7 @@
  static struct cfi_fixup cfi_fixup_table[] = {
  	{ CFI_MFR_ATMEL, CFI_ID_ANY, fixup_convert_atmel_pri, NULL },
  #ifdef AMD_BOOTLOC_BUG
-@@ -275,6 +317,9 @@
+@@ -275,6 +317,9 @@ static struct cfi_fixup fixup_table[] = 
  	 */
  	{ CFI_MFR_ANY, CFI_ID_ANY, fixup_use_erase_chip, NULL },
  	{ CFI_MFR_ATMEL, AT49BV6416, fixup_use_atmel_lock, NULL },
@@ -74,7 +74,7 @@
  
 --- a/drivers/mtd/chips/Kconfig
 +++ b/drivers/mtd/chips/Kconfig
-@@ -196,6 +196,14 @@
+@@ -196,6 +196,14 @@ config MTD_CFI_AMDSTD
  	  provides support for one of those command sets, used on chips
  	  including the AMD Am29LV320.
  
diff --git a/target/linux/adm5120/patches-2.6.27/102-jedec_pmc_39lvxxx_chips.patch b/target/linux/adm5120/patches-2.6.27/102-jedec_pmc_39lvxxx_chips.patch
index 9501800fe2..6c827c851a 100644
--- a/target/linux/adm5120/patches-2.6.27/102-jedec_pmc_39lvxxx_chips.patch
+++ b/target/linux/adm5120/patches-2.6.27/102-jedec_pmc_39lvxxx_chips.patch
@@ -11,7 +11,7 @@
  #define PM49FL002	0x006D
  #define PM49FL004	0x006E
  #define PM49FL008	0x006A
-@@ -1248,6 +1252,54 @@
+@@ -1248,6 +1252,54 @@ static const struct amd_flash_info jedec
  			ERASEINFO(0x02000,2),
  			ERASEINFO(0x04000,1),
  		}
diff --git a/target/linux/adm5120/patches-2.6.27/103-mtd_trxsplit.patch b/target/linux/adm5120/patches-2.6.27/103-mtd_trxsplit.patch
index 4ebf10ca23..d3b0858040 100644
--- a/target/linux/adm5120/patches-2.6.27/103-mtd_trxsplit.patch
+++ b/target/linux/adm5120/patches-2.6.27/103-mtd_trxsplit.patch
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/Kconfig
 +++ b/drivers/mtd/Kconfig
-@@ -55,6 +55,11 @@
+@@ -55,6 +55,11 @@ config MTD_ROOTFS_SPLIT
  	depends on MTD_PARTITIONS
  	default y
  
@@ -14,7 +14,7 @@
  	depends on MTD_PARTITIONS
 --- a/drivers/mtd/Makefile
 +++ b/drivers/mtd/Makefile
-@@ -8,6 +8,7 @@
+@@ -8,6 +8,7 @@ mtd-y				:= mtdcore.o mtdsuper.o
  mtd-$(CONFIG_MTD_PARTITIONS)	+= mtdpart.o
  
  obj-$(CONFIG_MTD_CONCAT)	+= mtdconcat.o
diff --git a/target/linux/adm5120/patches-2.6.27/120-rb153_cf_driver.patch b/target/linux/adm5120/patches-2.6.27/120-rb153_cf_driver.patch
index b30c5def6b..e38a4d22aa 100644
--- a/target/linux/adm5120/patches-2.6.27/120-rb153_cf_driver.patch
+++ b/target/linux/adm5120/patches-2.6.27/120-rb153_cf_driver.patch
@@ -1,6 +1,6 @@
 --- a/drivers/ata/Makefile
 +++ b/drivers/ata/Makefile
-@@ -72,6 +72,7 @@
+@@ -72,6 +72,7 @@ obj-$(CONFIG_PATA_BF54X)	+= pata_bf54x.o
  obj-$(CONFIG_PATA_PLATFORM)	+= pata_platform.o
  obj-$(CONFIG_PATA_OF_PLATFORM)	+= pata_of_platform.o
  obj-$(CONFIG_PATA_ICSIDE)	+= pata_icside.o
@@ -10,7 +10,7 @@
  # Should be last but one libata driver
 --- a/drivers/ata/Kconfig
 +++ b/drivers/ata/Kconfig
-@@ -568,6 +568,15 @@
+@@ -568,6 +568,15 @@ config PATA_RADISYS
  
  	  If unsure, say N.
  
diff --git a/target/linux/adm5120/patches-2.6.27/200-amba_pl010_hacks.patch b/target/linux/adm5120/patches-2.6.27/200-amba_pl010_hacks.patch
index 0352b86eae..03a67627bd 100644
--- a/target/linux/adm5120/patches-2.6.27/200-amba_pl010_hacks.patch
+++ b/target/linux/adm5120/patches-2.6.27/200-amba_pl010_hacks.patch
@@ -14,7 +14,7 @@
  
  #define AMBA_ISR_PASS_LIMIT	256
  
-@@ -80,9 +79,9 @@
+@@ -80,9 +79,9 @@ static void pl010_stop_tx(struct uart_po
  	struct uart_amba_port *uap = (struct uart_amba_port *)port;
  	unsigned int cr;
  
@@ -26,7 +26,7 @@
  }
  
  static void pl010_start_tx(struct uart_port *port)
-@@ -90,9 +89,9 @@
+@@ -90,9 +89,9 @@ static void pl010_start_tx(struct uart_p
  	struct uart_amba_port *uap = (struct uart_amba_port *)port;
  	unsigned int cr;
  
@@ -38,7 +38,7 @@
  }
  
  static void pl010_stop_rx(struct uart_port *port)
-@@ -100,9 +99,9 @@
+@@ -100,9 +99,9 @@ static void pl010_stop_rx(struct uart_po
  	struct uart_amba_port *uap = (struct uart_amba_port *)port;
  	unsigned int cr;
  
@@ -50,7 +50,7 @@
  }
  
  static void pl010_enable_ms(struct uart_port *port)
-@@ -110,9 +109,9 @@
+@@ -110,9 +109,9 @@ static void pl010_enable_ms(struct uart_
  	struct uart_amba_port *uap = (struct uart_amba_port *)port;
  	unsigned int cr;
  
@@ -62,7 +62,7 @@
  }
  
  static void pl010_rx_chars(struct uart_amba_port *uap)
-@@ -120,9 +119,9 @@
+@@ -120,9 +119,9 @@ static void pl010_rx_chars(struct uart_a
  	struct tty_struct *tty = uap->port.info->port.tty;
  	unsigned int status, ch, flag, rsr, max_count = 256;
  
@@ -74,7 +74,7 @@
  		flag = TTY_NORMAL;
  
  		uap->port.icount.rx++;
-@@ -131,9 +130,9 @@
+@@ -131,9 +130,9 @@ static void pl010_rx_chars(struct uart_a
  		 * Note that the error handling code is
  		 * out of the main execution path
  		 */
@@ -86,7 +86,7 @@
  
  			if (rsr & UART01x_RSR_BE) {
  				rsr &= ~(UART01x_RSR_FE | UART01x_RSR_PE);
-@@ -163,7 +162,7 @@
+@@ -163,7 +162,7 @@ static void pl010_rx_chars(struct uart_a
  		uart_insert_char(&uap->port, rsr, UART01x_RSR_OE, ch, flag);
  
  	ignore_char:
@@ -95,7 +95,7 @@
  	}
  	spin_unlock(&uap->port.lock);
  	tty_flip_buffer_push(tty);
-@@ -176,7 +175,7 @@
+@@ -176,7 +175,7 @@ static void pl010_tx_chars(struct uart_a
  	int count;
  
  	if (uap->port.x_char) {
@@ -104,7 +104,7 @@
  		uap->port.icount.tx++;
  		uap->port.x_char = 0;
  		return;
-@@ -188,7 +187,7 @@
+@@ -188,7 +187,7 @@ static void pl010_tx_chars(struct uart_a
  
  	count = uap->port.fifosize >> 1;
  	do {
@@ -113,7 +113,7 @@
  		xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1);
  		uap->port.icount.tx++;
  		if (uart_circ_empty(xmit))
-@@ -206,9 +205,9 @@
+@@ -206,9 +205,9 @@ static void pl010_modem_status(struct ua
  {
  	unsigned int status, delta;
  
@@ -125,7 +125,7 @@
  
  	delta = status ^ uap->old_status;
  	uap->old_status = status;
-@@ -236,7 +235,7 @@
+@@ -236,7 +235,7 @@ static irqreturn_t pl010_int(int irq, vo
  
  	spin_lock(&uap->port.lock);
  
@@ -134,7 +134,7 @@
  	if (status) {
  		do {
  			if (status & (UART010_IIR_RTIS | UART010_IIR_RIS))
-@@ -249,7 +248,7 @@
+@@ -249,7 +248,7 @@ static irqreturn_t pl010_int(int irq, vo
  			if (pass_counter-- == 0)
  				break;
  
@@ -143,7 +143,7 @@
  		} while (status & (UART010_IIR_RTIS | UART010_IIR_RIS |
  				   UART010_IIR_TIS));
  		handled = 1;
-@@ -263,7 +262,7 @@
+@@ -263,7 +262,7 @@ static irqreturn_t pl010_int(int irq, vo
  static unsigned int pl010_tx_empty(struct uart_port *port)
  {
  	struct uart_amba_port *uap = (struct uart_amba_port *)port;
@@ -152,7 +152,7 @@
  	return status & UART01x_FR_BUSY ? 0 : TIOCSER_TEMT;
  }
  
-@@ -273,7 +272,7 @@
+@@ -273,7 +272,7 @@ static unsigned int pl010_get_mctrl(stru
  	unsigned int result = 0;
  	unsigned int status;
  
@@ -161,7 +161,7 @@
  	if (status & UART01x_FR_DCD)
  		result |= TIOCM_CAR;
  	if (status & UART01x_FR_DSR)
-@@ -299,12 +298,12 @@
+@@ -299,12 +298,12 @@ static void pl010_break_ctl(struct uart_
  	unsigned int lcr_h;
  
  	spin_lock_irqsave(&uap->port.lock, flags);
@@ -176,7 +176,7 @@
  	spin_unlock_irqrestore(&uap->port.lock, flags);
  }
  
-@@ -332,12 +331,12 @@
+@@ -332,12 +331,12 @@ static int pl010_startup(struct uart_por
  	/*
  	 * initialise the old status of the modem signals
  	 */
@@ -191,7 +191,7 @@
  	       uap->port.membase + UART010_CR);
  
  	return 0;
-@@ -360,10 +359,10 @@
+@@ -360,10 +359,10 @@ static void pl010_shutdown(struct uart_p
  	/*
  	 * disable all interrupts, disable the port
  	 */
@@ -204,7 +204,7 @@
  		~(UART01x_LCRH_BRK | UART01x_LCRH_FEN),
  	       uap->port.membase + UART010_LCRH);
  
-@@ -385,7 +384,7 @@
+@@ -385,7 +384,7 @@ pl010_set_termios(struct uart_port *port
  	/*
  	 * Ask the core to calculate the divisor for us.
  	 */
@@ -213,7 +213,7 @@
  	quot = uart_get_divisor(port, baud);
  
  	switch (termios->c_cflag & CSIZE) {
-@@ -448,25 +447,25 @@
+@@ -448,25 +447,25 @@ pl010_set_termios(struct uart_port *port
  		uap->port.ignore_status_mask |= UART_DUMMY_RSR_RX;
  
  	/* first, disable everything */
@@ -245,7 +245,7 @@
  
  	spin_unlock_irqrestore(&uap->port.lock, flags);
  }
-@@ -538,7 +537,7 @@
+@@ -538,7 +537,7 @@ static struct uart_ops amba_pl010_pops =
  	.verify_port	= pl010_verify_port,
  };
  
@@ -254,7 +254,7 @@
  
  #ifdef CONFIG_SERIAL_AMBA_PL010_CONSOLE
  
-@@ -548,10 +547,10 @@
+@@ -548,10 +547,10 @@ static void pl010_console_putchar(struct
  	unsigned int status;
  
  	do {
@@ -267,7 +267,7 @@
  }
  
  static void
-@@ -565,8 +564,8 @@
+@@ -565,8 +564,8 @@ pl010_console_write(struct console *co, 
  	/*
  	 *	First save the CR then disable the interrupts
  	 */
@@ -278,7 +278,7 @@
  
  	uart_console_write(&uap->port, s, count, pl010_console_putchar);
  
-@@ -575,10 +574,10 @@
+@@ -575,10 +574,10 @@ pl010_console_write(struct console *co, 
  	 *	and restore the TCR
  	 */
  	do {
@@ -291,7 +291,7 @@
  
  	clk_disable(uap->clk);
  }
-@@ -587,9 +586,9 @@
+@@ -587,9 +586,9 @@ static void __init
  pl010_console_get_options(struct uart_amba_port *uap, int *baud,
  			     int *parity, int *bits)
  {
@@ -303,7 +303,7 @@
  
  		*parity = 'n';
  		if (lcr_h & UART01x_LCRH_PEN) {
-@@ -604,8 +603,8 @@
+@@ -604,8 +603,8 @@ pl010_console_get_options(struct uart_am
  		else
  			*bits = 8;
  
@@ -314,7 +314,7 @@
  		*baud = uap->port.uartclk / (16 * (quot + 1));
  	}
  }
-@@ -623,7 +622,7 @@
+@@ -623,7 +622,7 @@ static int __init pl010_console_setup(st
  	 * if so, search for the first available port that does have
  	 * console support.
  	 */
@@ -323,7 +323,7 @@
  		co->index = 0;
  	uap = amba_ports[co->index];
  	if (!uap)
-@@ -641,7 +640,7 @@
+@@ -641,7 +640,7 @@ static int __init pl010_console_setup(st
  
  static struct uart_driver amba_reg;
  static struct console amba_console = {
@@ -332,7 +332,7 @@
  	.write		= pl010_console_write,
  	.device		= uart_console_device,
  	.setup		= pl010_console_setup,
-@@ -657,11 +656,11 @@
+@@ -657,11 +656,11 @@ static struct console amba_console = {
  
  static struct uart_driver amba_reg = {
  	.owner			= THIS_MODULE,
@@ -349,7 +349,7 @@
  
 --- a/drivers/serial/Kconfig
 +++ b/drivers/serial/Kconfig
-@@ -285,10 +285,25 @@
+@@ -285,10 +285,25 @@ config SERIAL_AMBA_PL010
  	help
  	  This selects the ARM(R) AMBA(R) PrimeCell PL010 UART.  If you have
  	  an Integrator/AP or Integrator/PP2 platform, or if you have a
diff --git a/target/linux/adm5120/patches-2.6.27/202-pci_disable_common_quirks.patch b/target/linux/adm5120/patches-2.6.27/202-pci_disable_common_quirks.patch
index 469f040f95..1b0f8fcba1 100644
--- a/target/linux/adm5120/patches-2.6.27/202-pci_disable_common_quirks.patch
+++ b/target/linux/adm5120/patches-2.6.27/202-pci_disable_common_quirks.patch
@@ -1,6 +1,6 @@
 --- a/drivers/pci/Kconfig
 +++ b/drivers/pci/Kconfig
-@@ -42,6 +42,12 @@
+@@ -42,6 +42,12 @@ config PCI_DEBUG
  
  	  When in doubt, say N.
  
@@ -23,7 +23,7 @@
  /* The Mellanox Tavor device gives false positive parity errors
   * Mark this device with a broken_parity_status, to allow
   * PCI scanning code to "skip" this now blacklisted device.
-@@ -1554,6 +1555,7 @@
+@@ -1554,6 +1555,7 @@ static void __devinit fixup_rev1_53c810(
  	}
  }
  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NCR, PCI_DEVICE_ID_NCR_53C810, fixup_rev1_53c810);
@@ -31,7 +31,7 @@
  
  static void pci_do_fixups(struct pci_dev *dev, struct pci_fixup *f, struct pci_fixup *end)
  {
-@@ -1634,6 +1636,7 @@
+@@ -1634,6 +1636,7 @@ void pci_fixup_device(enum pci_fixup_pas
  }
  EXPORT_SYMBOL(pci_fixup_device);
  
@@ -39,7 +39,7 @@
  /* Enable 1k I/O space granularity on the Intel P64H2 */
  static void __devinit quirk_p64h2_1k_io(struct pci_dev *dev)
  {
-@@ -2007,3 +2010,4 @@
+@@ -2007,3 +2010,4 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AT
  			quirk_msi_intx_disable_bug);
  
  #endif /* CONFIG_PCI_MSI */
diff --git a/target/linux/adm5120/patches-2.6.27/203-gpio_leds_brightness.patch b/target/linux/adm5120/patches-2.6.27/203-gpio_leds_brightness.patch
index 5a3c11aabe..bb94fd05ea 100644
--- a/target/linux/adm5120/patches-2.6.27/203-gpio_leds_brightness.patch
+++ b/target/linux/adm5120/patches-2.6.27/203-gpio_leds_brightness.patch
@@ -1,6 +1,6 @@
 --- a/drivers/leds/leds-gpio.c
 +++ b/drivers/leds/leds-gpio.c
-@@ -43,13 +43,17 @@
+@@ -43,13 +43,17 @@ static void gpio_led_set(struct led_clas
  		container_of(led_cdev, struct gpio_led_data, cdev);
  	int level;
  
diff --git a/target/linux/adm5120/patches-2.6.27/310-adm5120_wdt.patch b/target/linux/adm5120/patches-2.6.27/310-adm5120_wdt.patch
index 8c93912e0a..b71b99159a 100644
--- a/target/linux/adm5120/patches-2.6.27/310-adm5120_wdt.patch
+++ b/target/linux/adm5120/patches-2.6.27/310-adm5120_wdt.patch
@@ -1,6 +1,6 @@
 --- a/drivers/watchdog/Kconfig
 +++ b/drivers/watchdog/Kconfig
-@@ -653,6 +653,18 @@
+@@ -653,6 +653,18 @@ config RC32434_WDT
  	  To compile this driver as a module, choose M here: the
  	  module will be called rc32434_wdt.
  
@@ -21,7 +21,7 @@
  	depends on SGI_HAS_INDYDOG
 --- a/drivers/watchdog/Makefile
 +++ b/drivers/watchdog/Makefile
-@@ -102,6 +102,7 @@
+@@ -102,6 +102,7 @@ obj-$(CONFIG_WDT_RM9K_GPI) += rm9k_wdt.o
  obj-$(CONFIG_SIBYTE_WDOG) += sb_wdog.o
  obj-$(CONFIG_AR7_WDT) += ar7_wdt.o
  obj-$(CONFIG_TXX9_WDT) += txx9wdt.o
diff --git a/target/linux/adm5120/patches-2.6.27/800-usb_automatically_enable_rhsc_interrupt.patch b/target/linux/adm5120/patches-2.6.27/800-usb_automatically_enable_rhsc_interrupt.patch
index 5e99fffc51..dc0f843c86 100644
--- a/target/linux/adm5120/patches-2.6.27/800-usb_automatically_enable_rhsc_interrupt.patch
+++ b/target/linux/adm5120/patches-2.6.27/800-usb_automatically_enable_rhsc_interrupt.patch
@@ -1,6 +1,6 @@
 --- a/drivers/usb/host/adm5120-drv.c
 +++ b/drivers/usb/host/adm5120-drv.c
-@@ -174,7 +174,6 @@
+@@ -174,7 +174,6 @@ static const struct hc_driver adm5120_hc
  	 */
  	.hub_status_data =	admhc_hub_status_data,
  	.hub_control =		admhc_hub_control,
@@ -33,7 +33,7 @@
  static int
 --- a/drivers/usb/host/adm5120-pm.c
 +++ b/drivers/usb/host/adm5120-pm.c
-@@ -432,13 +432,17 @@
+@@ -432,13 +432,17 @@ static inline int admhc_rh_resume(struct
  static int admhc_root_hub_state_changes(struct admhcd *ahcd, int changed,
  		int any_connected)
  {
diff --git a/target/linux/ar71xx/patches-2.6.27/001-ar71xx_core.patch b/target/linux/ar71xx/patches-2.6.27/001-ar71xx_core.patch
index 8ff96e306a..f37b4d0b16 100644
--- a/target/linux/ar71xx/patches-2.6.27/001-ar71xx_core.patch
+++ b/target/linux/ar71xx/patches-2.6.27/001-ar71xx_core.patch
@@ -1,6 +1,6 @@
 --- a/arch/mips/Makefile
 +++ b/arch/mips/Makefile
-@@ -577,6 +577,13 @@
+@@ -577,6 +577,13 @@ core-$(CONFIG_TOSHIBA_RBTX4927)	+= arch/
  #
  core-$(CONFIG_TOSHIBA_RBTX4938) += arch/mips/txx9/rbtx4938/
  
@@ -28,14 +28,14 @@
 +#define MACH_AR71XX_RB_411	2	/* MikroTik RouterBOARD 411/411A/411AH */
 +#define MACH_AR71XX_RB_433	3	/* MikroTik RouterBOARD 433/433AH */
 +#define MACH_AR71XX_RB_450	4	/* MikroTik RouterBOARD 450 */
-+#define MACH_AR71XX_RB_493	5	/* Mikrotik RouterBOARD 493/493AH */
++#define MACH_AR71XX_RB_493	5	/* MikroTik RouterBOARD 493 */
 +
  #define CL_SIZE			COMMAND_LINE_SIZE
  
  extern char *system_type;
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -22,6 +22,23 @@
+@@ -22,6 +22,23 @@ choice
  config MACH_ALCHEMY
  	bool "Alchemy processor based machines"
  
diff --git a/target/linux/ar71xx/patches-2.6.27/002-ar71xx_pci.patch b/target/linux/ar71xx/patches-2.6.27/002-ar71xx_pci.patch
index 849938ef6a..799d29ab97 100644
--- a/target/linux/ar71xx/patches-2.6.27/002-ar71xx_pci.patch
+++ b/target/linux/ar71xx/patches-2.6.27/002-ar71xx_pci.patch
@@ -1,6 +1,6 @@
 --- a/arch/mips/pci/Makefile
 +++ b/arch/mips/pci/Makefile
-@@ -16,6 +16,7 @@
+@@ -16,6 +16,7 @@ obj-$(CONFIG_PCI_VR41XX)	+= ops-vr41xx.o
  obj-$(CONFIG_MARKEINS)		+= ops-emma2rh.o pci-emma2rh.o fixup-emma2rh.o
  obj-$(CONFIG_PCI_TX4927)	+= ops-tx4927.o
  obj-$(CONFIG_BCM47XX)		+= pci-bcm47xx.o
diff --git a/target/linux/ar71xx/patches-2.6.27/003-ar71xx_usb_host.patch b/target/linux/ar71xx/patches-2.6.27/003-ar71xx_usb_host.patch
index e28d0451a6..a1a468db7f 100644
--- a/target/linux/ar71xx/patches-2.6.27/003-ar71xx_usb_host.patch
+++ b/target/linux/ar71xx/patches-2.6.27/003-ar71xx_usb_host.patch
@@ -1,6 +1,6 @@
 --- a/drivers/usb/host/Kconfig
 +++ b/drivers/usb/host/Kconfig
-@@ -81,6 +81,12 @@
+@@ -81,6 +81,12 @@ config USB_EHCI_BIG_ENDIAN_DESC
  	depends on USB_EHCI_HCD && (440EPX || ARCH_IXP4XX)
  	default y
  
@@ -13,7 +13,7 @@
  config USB_EHCI_FSL
  	bool "Support for Freescale on-chip EHCI USB controller"
  	depends on USB_EHCI_HCD && FSL_SOC
-@@ -152,6 +158,12 @@
+@@ -152,6 +158,12 @@ config USB_OHCI_HCD
  	  To compile this driver as a module, choose M here: the
  	  module will be called ohci-hcd.
  
@@ -28,7 +28,7 @@
  	depends on USB_OHCI_HCD && (STB03xxx || PPC_MPC52xx)
 --- a/drivers/usb/host/ehci-hcd.c
 +++ b/drivers/usb/host/ehci-hcd.c
-@@ -1040,6 +1040,11 @@
+@@ -1040,6 +1040,11 @@ MODULE_LICENSE ("GPL");
  #define	PLATFORM_DRIVER		ixp4xx_ehci_driver
  #endif
  
@@ -42,7 +42,7 @@
  #error "missing bus glue for ehci-hcd"
 --- a/drivers/usb/host/ohci.h
 +++ b/drivers/usb/host/ohci.h
-@@ -549,6 +549,11 @@
+@@ -549,6 +549,11 @@ static inline struct usb_hcd *ohci_to_hc
  #define writel_be(val, addr)	out_be32((__force unsigned *)addr, val)
  #endif
  
@@ -56,7 +56,7 @@
  {
 --- a/drivers/usb/host/ohci-hcd.c
 +++ b/drivers/usb/host/ohci-hcd.c
-@@ -1078,6 +1078,11 @@
+@@ -1078,6 +1078,11 @@ MODULE_LICENSE ("GPL");
  #define SM501_OHCI_DRIVER	ohci_hcd_sm501_driver
  #endif
  
diff --git a/target/linux/ar71xx/patches-2.6.27/004-ar71xx_spi_controller.patch b/target/linux/ar71xx/patches-2.6.27/004-ar71xx_spi_controller.patch
index ef9f7e807a..9c196e077e 100644
--- a/target/linux/ar71xx/patches-2.6.27/004-ar71xx_spi_controller.patch
+++ b/target/linux/ar71xx/patches-2.6.27/004-ar71xx_spi_controller.patch
@@ -1,6 +1,6 @@
 --- a/drivers/spi/Kconfig
 +++ b/drivers/spi/Kconfig
-@@ -53,6 +53,13 @@
+@@ -53,6 +53,13 @@ if SPI_MASTER
  
  comment "SPI Master Controller Drivers"
  
@@ -16,7 +16,7 @@
  	depends on (ARCH_AT91 || AVR32)
 --- a/drivers/spi/Makefile
 +++ b/drivers/spi/Makefile
-@@ -11,6 +11,7 @@
+@@ -11,6 +11,7 @@ endif
  obj-$(CONFIG_SPI_MASTER)		+= spi.o
  
  # SPI master controller drivers (bus)
diff --git a/target/linux/ar71xx/patches-2.6.27/005-ar71xx_mac_driver.patch b/target/linux/ar71xx/patches-2.6.27/005-ar71xx_mac_driver.patch
index 6e4c7b0151..58000f2182 100644
--- a/target/linux/ar71xx/patches-2.6.27/005-ar71xx_mac_driver.patch
+++ b/target/linux/ar71xx/patches-2.6.27/005-ar71xx_mac_driver.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/Kconfig
 +++ b/drivers/net/Kconfig
-@@ -2015,6 +2015,8 @@
+@@ -2015,6 +2015,8 @@ config ACENIC_OMIT_TIGON_I
  
  	  The safe and default value for this is N.
  
diff --git a/target/linux/ar71xx/patches-2.6.27/006-ar71xx_wdt_driver.patch b/target/linux/ar71xx/patches-2.6.27/006-ar71xx_wdt_driver.patch
index 2dc92f92dc..707f93771c 100644
--- a/target/linux/ar71xx/patches-2.6.27/006-ar71xx_wdt_driver.patch
+++ b/target/linux/ar71xx/patches-2.6.27/006-ar71xx_wdt_driver.patch
@@ -1,6 +1,6 @@
 --- a/drivers/watchdog/Kconfig
 +++ b/drivers/watchdog/Kconfig
-@@ -704,6 +704,13 @@
+@@ -704,6 +704,13 @@ config TXX9_WDT
  	help
  	  Hardware driver for the built-in watchdog timer on TXx9 MIPS SoCs.
  
@@ -16,7 +16,7 @@
  # POWERPC Architecture
 --- a/drivers/watchdog/Makefile
 +++ b/drivers/watchdog/Makefile
-@@ -102,6 +102,7 @@
+@@ -102,6 +102,7 @@ obj-$(CONFIG_WDT_RM9K_GPI) += rm9k_wdt.o
  obj-$(CONFIG_SIBYTE_WDOG) += sb_wdog.o
  obj-$(CONFIG_AR7_WDT) += ar7_wdt.o
  obj-$(CONFIG_TXX9_WDT) += txx9wdt.o
diff --git a/target/linux/ar71xx/patches-2.6.27/100-mtd_pm25lv_flash_support.patch b/target/linux/ar71xx/patches-2.6.27/100-mtd_pm25lv_flash_support.patch
index 34a3d04ee2..937d817faa 100644
--- a/target/linux/ar71xx/patches-2.6.27/100-mtd_pm25lv_flash_support.patch
+++ b/target/linux/ar71xx/patches-2.6.27/100-mtd_pm25lv_flash_support.patch
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/devices/m25p80.c
 +++ b/drivers/mtd/devices/m25p80.c
-@@ -467,6 +467,10 @@
+@@ -467,6 +467,10 @@ static struct flash_info __devinitdata m
  	{ "at26df161a", 0x1f4601, 64 * 1024, 32, SECT_4K, },
  	{ "at26df321",  0x1f4701, 64 * 1024, 64, SECT_4K, },
  
diff --git a/target/linux/ar71xx/patches-2.6.27/101-ksz8041_phy_driver.patch b/target/linux/ar71xx/patches-2.6.27/101-ksz8041_phy_driver.patch
index 0797505023..530b2f42ca 100644
--- a/target/linux/ar71xx/patches-2.6.27/101-ksz8041_phy_driver.patch
+++ b/target/linux/ar71xx/patches-2.6.27/101-ksz8041_phy_driver.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/phy/Kconfig
 +++ b/drivers/net/phy/Kconfig
-@@ -77,6 +77,11 @@
+@@ -77,6 +77,11 @@ config MVSWITCH_PHY
  	---help---
  	  Currently supports the Marvell 88E6060 switch.
  
@@ -14,7 +14,7 @@
  	depends on PHYLIB=y
 --- a/drivers/net/phy/Makefile
 +++ b/drivers/net/phy/Makefile
-@@ -15,6 +15,7 @@
+@@ -15,6 +15,7 @@ obj-$(CONFIG_ICPLUS_PHY)	+= icplus.o
  obj-$(CONFIG_ADM6996_PHY)	+= adm6996.o
  obj-$(CONFIG_MVSWITCH_PHY)	+= mvswitch.o
  obj-$(CONFIG_REALTEK_PHY)	+= realtek.o
diff --git a/target/linux/ar71xx/patches-2.6.27/140-redboot_partition_scan.patch b/target/linux/ar71xx/patches-2.6.27/140-redboot_partition_scan.patch
index a76bd83bb0..289d4eb990 100644
--- a/target/linux/ar71xx/patches-2.6.27/140-redboot_partition_scan.patch
+++ b/target/linux/ar71xx/patches-2.6.27/140-redboot_partition_scan.patch
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/redboot.c
 +++ b/drivers/mtd/redboot.c
-@@ -60,31 +60,32 @@
+@@ -60,31 +60,32 @@ static int parse_redboot_partitions(stru
  	static char nullstring[] = "unallocated";
  #endif
  
@@ -40,7 +40,7 @@
  	printk(KERN_NOTICE "Searching for RedBoot partition table in %s at offset 0x%lx\n",
  	       master->name, offset);
  
-@@ -156,6 +157,11 @@
+@@ -156,6 +157,11 @@ static int parse_redboot_partitions(stru
  	}
  	if (i == numslots) {
  		/* Didn't find it */
diff --git a/target/linux/ar71xx/patches-2.6.27/200-rb4xx_nand_driver.patch b/target/linux/ar71xx/patches-2.6.27/200-rb4xx_nand_driver.patch
index bc468ee0c4..52c357251b 100644
--- a/target/linux/ar71xx/patches-2.6.27/200-rb4xx_nand_driver.patch
+++ b/target/linux/ar71xx/patches-2.6.27/200-rb4xx_nand_driver.patch
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/nand/Kconfig
 +++ b/drivers/mtd/nand/Kconfig
-@@ -406,4 +406,8 @@
+@@ -406,4 +406,8 @@ config MTD_NAND_FSL_UPM
  	  Enables support for NAND Flash chips wired onto Freescale PowerPC
  	  processor localbus with User-Programmable Machine support.
  
@@ -11,7 +11,7 @@
  endif # MTD_NAND
 --- a/drivers/mtd/nand/Makefile
 +++ b/drivers/mtd/nand/Makefile
-@@ -29,6 +29,7 @@
+@@ -29,6 +29,7 @@ obj-$(CONFIG_MTD_NAND_BASLER_EXCITE)	+= 
  obj-$(CONFIG_MTD_NAND_PXA3xx)		+= pxa3xx_nand.o
  obj-$(CONFIG_MTD_NAND_TMIO)		+= tmio_nand.o
  obj-$(CONFIG_MTD_NAND_PLATFORM)		+= plat_nand.o
diff --git a/target/linux/ar71xx/patches-2.6.27/300-mips_fw_myloader.patch b/target/linux/ar71xx/patches-2.6.27/300-mips_fw_myloader.patch
index a774d21945..974ca0ed72 100644
--- a/target/linux/ar71xx/patches-2.6.27/300-mips_fw_myloader.patch
+++ b/target/linux/ar71xx/patches-2.6.27/300-mips_fw_myloader.patch
@@ -1,6 +1,6 @@
 --- a/arch/mips/Makefile
 +++ b/arch/mips/Makefile
-@@ -158,6 +158,7 @@
+@@ -158,6 +158,7 @@ endif
  #
  libs-$(CONFIG_ARC)		+= arch/mips/fw/arc/
  libs-$(CONFIG_CFE)		+= arch/mips/fw/cfe/
@@ -10,7 +10,7 @@
  libs-$(CONFIG_SIBYTE_CFE)	+= arch/mips/sibyte/cfe/
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -782,6 +782,9 @@
+@@ -782,6 +782,9 @@ config MIPS_NILE4
  config MIPS_DISABLE_OBSOLETE_IDE
  	bool
  
diff --git a/target/linux/ar71xx/patches-2.6.27/800-remove_netif_schedule.patch b/target/linux/ar71xx/patches-2.6.27/800-remove_netif_schedule.patch
index 1c9e569182..de08595905 100644
--- a/target/linux/ar71xx/patches-2.6.27/800-remove_netif_schedule.patch
+++ b/target/linux/ar71xx/patches-2.6.27/800-remove_netif_schedule.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/ag71xx/ag71xx_phy.c
 +++ b/drivers/net/ag71xx/ag71xx_phy.c
-@@ -171,12 +171,8 @@
+@@ -171,12 +171,8 @@ static void ag71xx_phy_link_adjust(struc
  		}
  	}
  
diff --git a/target/linux/ar71xx/patches-2.6.27/900-mips_multi_machine_support.patch b/target/linux/ar71xx/patches-2.6.27/900-mips_multi_machine_support.patch
index 7bb410f1f3..bedc45f530 100644
--- a/target/linux/ar71xx/patches-2.6.27/900-mips_multi_machine_support.patch
+++ b/target/linux/ar71xx/patches-2.6.27/900-mips_multi_machine_support.patch
@@ -113,7 +113,7 @@
 +
 --- a/arch/mips/kernel/Makefile
 +++ b/arch/mips/kernel/Makefile
-@@ -83,6 +83,7 @@
+@@ -83,6 +83,7 @@ obj-$(CONFIG_GPIO_TXX9)		+= gpio_txx9.o
  
  obj-$(CONFIG_KEXEC)		+= machine_kexec.o relocate_kernel.o
  obj-$(CONFIG_EARLY_PRINTK)	+= early_printk.o
@@ -123,7 +123,7 @@
  
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -615,6 +615,7 @@
+@@ -615,6 +615,7 @@ config WR_PPMC
  
  endchoice
  
@@ -131,7 +131,7 @@
  source "arch/mips/au1000/Kconfig"
  source "arch/mips/basler/excite/Kconfig"
  source "arch/mips/jazz/Kconfig"
-@@ -788,6 +789,9 @@
+@@ -788,6 +789,9 @@ config MYLOADER
  config SYNC_R4K
  	bool
  
diff --git a/target/linux/ar71xx/patches-2.6.27/901-get_c0_compare_irq_function.patch b/target/linux/ar71xx/patches-2.6.27/901-get_c0_compare_irq_function.patch
index c1fee78e28..3c3cdaa448 100644
--- a/target/linux/ar71xx/patches-2.6.27/901-get_c0_compare_irq_function.patch
+++ b/target/linux/ar71xx/patches-2.6.27/901-get_c0_compare_irq_function.patch
@@ -8,7 +8,7 @@
  
  extern void check_wait(void);
  extern asmlinkage void r4k_wait(void);
-@@ -1484,6 +1485,8 @@
+@@ -1484,6 +1485,8 @@ void __cpuinit per_cpu_trap_init(void)
  	 */
  	if (cpu_has_mips_r2) {
  		cp0_compare_irq = (read_c0_intctl() >> 29) & 7;
@@ -19,7 +19,7 @@
  			cp0_perfcount_irq = -1;
 --- a/include/asm-mips/time.h
 +++ b/include/asm-mips/time.h
-@@ -53,6 +53,7 @@
+@@ -53,6 +53,7 @@ extern int (*perf_irq)(void);
  #ifdef CONFIG_CEVT_R4K
  extern int mips_clockevent_init(void);
  extern unsigned int __weak get_c0_compare_int(void);
diff --git a/target/linux/ar71xx/patches-2.6.27/902-mips_clocksource_init_war.patch b/target/linux/ar71xx/patches-2.6.27/902-mips_clocksource_init_war.patch
index 564321c7c8..03a66ff133 100644
--- a/target/linux/ar71xx/patches-2.6.27/902-mips_clocksource_init_war.patch
+++ b/target/linux/ar71xx/patches-2.6.27/902-mips_clocksource_init_war.patch
@@ -23,7 +23,7 @@
   * The SMTC Kernel for the 34K, 1004K, et. al. replaces several
   * of these routines with SMTC-specific variants.
   */
-@@ -30,6 +46,7 @@
+@@ -30,6 +46,7 @@ static int mips_next_event(unsigned long
  	cnt = read_c0_count();
  	cnt += delta;
  	write_c0_compare(cnt);
@@ -31,7 +31,7 @@
  	res = ((int)(read_c0_count() - cnt) > 0) ? -ETIME : 0;
  	return res;
  }
-@@ -99,22 +116,6 @@
+@@ -99,22 +116,6 @@ static int c0_compare_int_pending(void)
  	return (read_c0_cause() >> cp0_compare_irq) & 0x100;
  }
  
diff --git a/target/linux/atheros/patches-2.6.27/100-board.patch b/target/linux/atheros/patches-2.6.27/100-board.patch
index c5aafc69c7..0c784b4445 100644
--- a/target/linux/atheros/patches-2.6.27/100-board.patch
+++ b/target/linux/atheros/patches-2.6.27/100-board.patch
@@ -1,6 +1,6 @@
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -59,6 +59,18 @@
+@@ -59,6 +59,18 @@ config BCM47XX
  	help
  	 Support for BCM47XX based boards
  
@@ -19,7 +19,7 @@
  config MIPS_COBALT
  	bool "Cobalt Server"
  	select CEVT_R4K
-@@ -598,6 +610,7 @@
+@@ -598,6 +610,7 @@ config WR_PPMC
  
  endchoice
  
@@ -29,7 +29,7 @@
  source "arch/mips/jazz/Kconfig"
 --- a/arch/mips/Makefile
 +++ b/arch/mips/Makefile
-@@ -276,6 +276,13 @@
+@@ -276,6 +276,13 @@ libs-$(CONFIG_MIPS_XXS1500)	+= arch/mips
  load-$(CONFIG_MIPS_XXS1500)	+= 0xffffffff80100000
  
  #
diff --git a/target/linux/atheros/patches-2.6.27/110-spiflash.patch b/target/linux/atheros/patches-2.6.27/110-spiflash.patch
index e8dbc7a052..9ebcf2e511 100644
--- a/target/linux/atheros/patches-2.6.27/110-spiflash.patch
+++ b/target/linux/atheros/patches-2.6.27/110-spiflash.patch
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/devices/Kconfig
 +++ b/drivers/mtd/devices/Kconfig
-@@ -83,6 +83,10 @@
+@@ -83,6 +83,10 @@ config M25PXX_USE_FAST_READ
  	help
  	  This option enables FAST_READ access supported by ST M25Pxx.
  
@@ -13,7 +13,7 @@
  	help
 --- a/drivers/mtd/devices/Makefile
 +++ b/drivers/mtd/devices/Makefile
-@@ -16,3 +16,4 @@
+@@ -16,3 +16,4 @@ obj-$(CONFIG_MTD_LART)		+= lart.o
  obj-$(CONFIG_MTD_BLOCK2MTD)	+= block2mtd.o
  obj-$(CONFIG_MTD_DATAFLASH)	+= mtd_dataflash.o
  obj-$(CONFIG_MTD_M25P80)	+= m25p80.o
diff --git a/target/linux/atheros/patches-2.6.27/120-watchdog.patch b/target/linux/atheros/patches-2.6.27/120-watchdog.patch
index 6822a6d693..42b3c0d3a6 100644
--- a/target/linux/atheros/patches-2.6.27/120-watchdog.patch
+++ b/target/linux/atheros/patches-2.6.27/120-watchdog.patch
@@ -1,6 +1,6 @@
 --- a/drivers/watchdog/Kconfig
 +++ b/drivers/watchdog/Kconfig
-@@ -704,6 +704,12 @@
+@@ -704,6 +704,12 @@ config TXX9_WDT
  	help
  	  Hardware driver for the built-in watchdog timer on TXx9 MIPS SoCs.
  
@@ -15,7 +15,7 @@
  # POWERPC Architecture
 --- a/drivers/watchdog/Makefile
 +++ b/drivers/watchdog/Makefile
-@@ -102,6 +102,7 @@
+@@ -102,6 +102,7 @@ obj-$(CONFIG_WDT_RM9K_GPI) += rm9k_wdt.o
  obj-$(CONFIG_SIBYTE_WDOG) += sb_wdog.o
  obj-$(CONFIG_AR7_WDT) += ar7_wdt.o
  obj-$(CONFIG_TXX9_WDT) += txx9wdt.o
diff --git a/target/linux/atheros/patches-2.6.27/130-ar2313_ethernet.patch b/target/linux/atheros/patches-2.6.27/130-ar2313_ethernet.patch
index c615a71b90..5b41a52bdd 100644
--- a/target/linux/atheros/patches-2.6.27/130-ar2313_ethernet.patch
+++ b/target/linux/atheros/patches-2.6.27/130-ar2313_ethernet.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/Kconfig
 +++ b/drivers/net/Kconfig
-@@ -359,6 +359,12 @@
+@@ -359,6 +359,12 @@ config AX88796_93CX6
  	help
  	  Select this if your platform comes with an external 93CX6 eeprom.
  
@@ -15,7 +15,7 @@
  	depends on PPC_PMAC && PPC32
 --- a/drivers/net/Makefile
 +++ b/drivers/net/Makefile
-@@ -195,6 +195,7 @@
+@@ -195,6 +195,7 @@ obj-$(CONFIG_EQUALIZER) += eql.o
  obj-$(CONFIG_KORINA) += korina.o
  obj-$(CONFIG_MIPS_JAZZ_SONIC) += jazzsonic.o
  obj-$(CONFIG_MIPS_AU1X00_ENET) += au1000_eth.o
diff --git a/target/linux/atheros/patches-2.6.27/135-ar2313_2.6.26.patch b/target/linux/atheros/patches-2.6.27/135-ar2313_2.6.26.patch
index 97d3f1c387..a39b46c0b8 100644
--- a/target/linux/atheros/patches-2.6.27/135-ar2313_2.6.26.patch
+++ b/target/linux/atheros/patches-2.6.27/135-ar2313_2.6.26.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/ar2313/ar2313.c
 +++ b/drivers/net/ar2313/ar2313.c
-@@ -291,7 +291,7 @@
+@@ -291,7 +291,7 @@ int __init ar2313_probe(struct platform_
  	sp->mii_bus.write = mdiobus_write;
  	sp->mii_bus.reset = mdiobus_reset;
  	sp->mii_bus.name = "ar2313_eth_mii";
diff --git a/target/linux/atheros/patches-2.6.27/140-redboot_partition_scan.patch b/target/linux/atheros/patches-2.6.27/140-redboot_partition_scan.patch
index a76bd83bb0..289d4eb990 100644
--- a/target/linux/atheros/patches-2.6.27/140-redboot_partition_scan.patch
+++ b/target/linux/atheros/patches-2.6.27/140-redboot_partition_scan.patch
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/redboot.c
 +++ b/drivers/mtd/redboot.c
-@@ -60,31 +60,32 @@
+@@ -60,31 +60,32 @@ static int parse_redboot_partitions(stru
  	static char nullstring[] = "unallocated";
  #endif
  
@@ -40,7 +40,7 @@
  	printk(KERN_NOTICE "Searching for RedBoot partition table in %s at offset 0x%lx\n",
  	       master->name, offset);
  
-@@ -156,6 +157,11 @@
+@@ -156,6 +157,11 @@ static int parse_redboot_partitions(stru
  	}
  	if (i == numslots) {
  		/* Didn't find it */
diff --git a/target/linux/atheros/patches-2.6.27/150-bridge-printk.patch b/target/linux/atheros/patches-2.6.27/150-bridge-printk.patch
index 0c4dd0aa8d..2310bd8f6c 100644
--- a/target/linux/atheros/patches-2.6.27/150-bridge-printk.patch
+++ b/target/linux/atheros/patches-2.6.27/150-bridge-printk.patch
@@ -1,6 +1,6 @@
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -3983,8 +3983,8 @@
+@@ -3984,8 +3984,8 @@ int register_netdevice(struct net_device
  	/* Fix illegal SG+CSUM combinations. */
  	if ((dev->features & NETIF_F_SG) &&
  	    !(dev->features & NETIF_F_ALL_CSUM)) {
@@ -11,7 +11,7 @@
  		dev->features &= ~NETIF_F_SG;
  	}
  
-@@ -3997,9 +3997,9 @@
+@@ -3998,9 +3998,9 @@ int register_netdevice(struct net_device
  	}
  	if (dev->features & NETIF_F_UFO) {
  		if (!(dev->features & NETIF_F_HW_CSUM)) {
diff --git a/target/linux/atheros/patches-2.6.27/200-ar2313_enable_mvswitch.patch b/target/linux/atheros/patches-2.6.27/200-ar2313_enable_mvswitch.patch
index 752b07f89c..3868939cd6 100644
--- a/target/linux/atheros/patches-2.6.27/200-ar2313_enable_mvswitch.patch
+++ b/target/linux/atheros/patches-2.6.27/200-ar2313_enable_mvswitch.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/ar2313/ar2313.c
 +++ b/drivers/net/ar2313/ar2313.c
-@@ -953,9 +953,9 @@
+@@ -953,9 +953,9 @@ static int ar2313_rx_int(struct net_devi
  						((status >> DMA_RX_LEN_SHIFT) & 0x3fff) - CRC_LEN);
  
  				dev->stats.rx_bytes += skb->len;
@@ -12,7 +12,7 @@
  
  				skb_new->dev = dev;
  				/* 16 bit align */
-@@ -1370,6 +1370,8 @@
+@@ -1370,6 +1370,8 @@ static int mdiobus_probe (struct net_dev
  		return PTR_ERR(phydev);
  	}
  
@@ -23,7 +23,7 @@
  		| SUPPORTED_10baseT_Full
 --- a/drivers/net/ar2313/ar2313.h
 +++ b/drivers/net/ar2313/ar2313.h
-@@ -107,6 +107,8 @@
+@@ -107,6 +107,8 @@ typedef struct {
   */
  struct ar2313_private {
  	struct net_device *dev;
diff --git a/target/linux/atheros/patches-2.6.27/901-get_c0_compare_irq_function.patch b/target/linux/atheros/patches-2.6.27/901-get_c0_compare_irq_function.patch
index 32b3ae46d3..eaf2b03fae 100644
--- a/target/linux/atheros/patches-2.6.27/901-get_c0_compare_irq_function.patch
+++ b/target/linux/atheros/patches-2.6.27/901-get_c0_compare_irq_function.patch
@@ -8,7 +8,7 @@
  
  extern void check_wait(void);
  extern asmlinkage void r4k_wait(void);
-@@ -1484,6 +1485,8 @@
+@@ -1484,6 +1485,8 @@ void __cpuinit per_cpu_trap_init(void)
  	 */
  	if (cpu_has_mips_r2) {
  		cp0_compare_irq = (read_c0_intctl() >> 29) & 7;
@@ -19,7 +19,7 @@
  			cp0_perfcount_irq = -1;
 --- a/include/asm-mips/time.h
 +++ b/include/asm-mips/time.h
-@@ -53,6 +53,7 @@
+@@ -53,6 +53,7 @@ extern int (*perf_irq)(void);
  #ifdef CONFIG_CEVT_R4K
  extern int mips_clockevent_init(void);
  extern unsigned int __weak get_c0_compare_int(void);
@@ -29,7 +29,7 @@
  {
 --- a/arch/mips/atheros/board.c
 +++ b/arch/mips/atheros/board.c
-@@ -205,6 +205,11 @@
+@@ -205,6 +205,11 @@ void (*board_time_init)(void);
  void __init plat_time_init(void) {
      board_time_init();
  }
diff --git a/target/linux/atheros/patches-2.6.27/902-mips_clocksource_init_war.patch b/target/linux/atheros/patches-2.6.27/902-mips_clocksource_init_war.patch
index 564321c7c8..03a66ff133 100644
--- a/target/linux/atheros/patches-2.6.27/902-mips_clocksource_init_war.patch
+++ b/target/linux/atheros/patches-2.6.27/902-mips_clocksource_init_war.patch
@@ -23,7 +23,7 @@
   * The SMTC Kernel for the 34K, 1004K, et. al. replaces several
   * of these routines with SMTC-specific variants.
   */
-@@ -30,6 +46,7 @@
+@@ -30,6 +46,7 @@ static int mips_next_event(unsigned long
  	cnt = read_c0_count();
  	cnt += delta;
  	write_c0_compare(cnt);
@@ -31,7 +31,7 @@
  	res = ((int)(read_c0_count() - cnt) > 0) ? -ETIME : 0;
  	return res;
  }
-@@ -99,22 +116,6 @@
+@@ -99,22 +116,6 @@ static int c0_compare_int_pending(void)
  	return (read_c0_cause() >> cp0_compare_irq) & 0x100;
  }
  
diff --git a/target/linux/generic-2.6/patches-2.6.27/001-squashfs.patch b/target/linux/generic-2.6/patches-2.6.27/001-squashfs.patch
index 97ba7635ca..b8176914c1 100644
--- a/target/linux/generic-2.6/patches-2.6.27/001-squashfs.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/001-squashfs.patch
@@ -1,6 +1,6 @@
 --- a/fs/Kconfig
 +++ b/fs/Kconfig
-@@ -1348,6 +1348,71 @@
+@@ -1348,6 +1348,71 @@ config CRAMFS
  
  	  If unsure, say N.
  
@@ -74,7 +74,7 @@
  	depends on BLOCK
 --- a/fs/Makefile
 +++ b/fs/Makefile
-@@ -74,6 +74,7 @@
+@@ -74,6 +74,7 @@ obj-$(CONFIG_JBD)		+= jbd/
  obj-$(CONFIG_JBD2)		+= jbd2/
  obj-$(CONFIG_EXT2_FS)		+= ext2/
  obj-$(CONFIG_CRAMFS)		+= cramfs/
@@ -4128,7 +4128,7 @@
  #include <linux/initrd.h>
  #include <linux/string.h>
  
-@@ -37,6 +38,7 @@
+@@ -37,6 +38,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
-@@ -51,6 +53,7 @@
+@@ -51,6 +53,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;
  
-@@ -62,6 +65,7 @@
+@@ -62,6 +65,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);
  
  	/*
-@@ -99,6 +103,15 @@
+@@ -99,6 +103,15 @@ identify_ramdisk_image(int fd, int start
  		goto done;
  	}
  
diff --git a/target/linux/generic-2.6/patches-2.6.27/002-lzma_decompress.patch b/target/linux/generic-2.6/patches-2.6.27/002-lzma_decompress.patch
index 5f23f66e16..c643ebe389 100644
--- a/target/linux/generic-2.6/patches-2.6.27/002-lzma_decompress.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/002-lzma_decompress.patch
@@ -769,7 +769,7 @@
 +}
 --- a/lib/Makefile
 +++ b/lib/Makefile
-@@ -19,7 +19,7 @@
+@@ -19,7 +19,7 @@ lib-$(CONFIG_SMP) += cpumask.o
  lib-y	+= kobject.o kref.o klist.o
  
  obj-y += bcd.o div64.o sort.o parser.o halfmd4.o debug_locks.o random32.o \
diff --git a/target/linux/generic-2.6/patches-2.6.27/003-squashfs_lzma.patch b/target/linux/generic-2.6/patches-2.6.27/003-squashfs_lzma.patch
index 16cc873199..9050e370ca 100644
--- a/target/linux/generic-2.6/patches-2.6.27/003-squashfs_lzma.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/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.27/004-extra_optimization.patch b/target/linux/generic-2.6/patches-2.6.27/004-extra_optimization.patch
index f9d43bce3a..d6866899c3 100644
--- a/target/linux/generic-2.6/patches-2.6.27/004-extra_optimization.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/004-extra_optimization.patch
@@ -1,6 +1,6 @@
 --- a/Makefile
 +++ b/Makefile
-@@ -549,6 +549,9 @@
+@@ -549,6 +549,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.27/005-squashfs_fix.patch b/target/linux/generic-2.6/patches-2.6.27/005-squashfs_fix.patch
index d4c2d8051d..51474864e9 100644
--- a/target/linux/generic-2.6/patches-2.6.27/005-squashfs_fix.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/005-squashfs_fix.patch
@@ -18,7 +18,7 @@
  
  #include "squashfs.h"
  
-@@ -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.27/006-gcc4_inline_fix.patch b/target/linux/generic-2.6/patches-2.6.27/006-gcc4_inline_fix.patch
index dbb7e7c87e..cd62e9c250 100644
--- a/target/linux/generic-2.6/patches-2.6.27/006-gcc4_inline_fix.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/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.27/007-samsung_flash.patch b/target/linux/generic-2.6/patches-2.6.27/007-samsung_flash.patch
index 9cabf0e2da..1ca45d8548 100644
--- a/target/linux/generic-2.6/patches-2.6.27/007-samsung_flash.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/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 *);
-@@ -321,12 +322,19 @@
+@@ -321,12 +322,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.27/060-block2mtd_init.patch b/target/linux/generic-2.6/patches-2.6.27/060-block2mtd_init.patch
index 4483e7788c..50df4aae0f 100644
--- a/target/linux/generic-2.6/patches-2.6.27/060-block2mtd_init.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/060-block2mtd_init.patch
@@ -8,7 +8,7 @@
  #include <linux/buffer_head.h>
  #include <linux/mutex.h>
  #include <linux/mount.h>
-@@ -232,10 +233,11 @@
+@@ -232,10 +233,11 @@ static void block2mtd_free_device(struct
  
  
  /* FIXME: ensure that mtd->size % erase_size == 0 */
@@ -21,7 +21,7 @@
  	char *name;
  
  	if (!devname)
-@@ -273,17 +275,17 @@
+@@ -273,17 +275,17 @@ static struct block2mtd_dev *add_device(
  
  	mutex_init(&dev->write_mutex);
  
@@ -45,7 +45,7 @@
  	dev->mtd.erasesize = erase_size;
  	dev->mtd.writesize = 1;
  	dev->mtd.type = MTD_RAM;
-@@ -296,14 +298,17 @@
+@@ -296,14 +298,17 @@ static struct block2mtd_dev *add_device(
  	dev->mtd.priv = dev;
  	dev->mtd.owner = THIS_MODULE;
  
@@ -66,7 +66,7 @@
  	return dev;
  
  devinit_err:
-@@ -376,9 +381,9 @@
+@@ -376,9 +381,9 @@ static char block2mtd_paramline[80 + 12]
  
  static int block2mtd_setup2(const char *val)
  {
@@ -78,7 +78,7 @@
  	char *name;
  	size_t erase_size = PAGE_SIZE;
  	int i, ret;
-@@ -389,7 +394,7 @@
+@@ -389,7 +394,7 @@ static int block2mtd_setup2(const char *
  	strcpy(str, val);
  	kill_final_newline(str);
  
@@ -87,7 +87,7 @@
  		token[i] = strsep(&str, ",");
  
  	if (str)
-@@ -408,8 +413,10 @@
+@@ -408,8 +413,10 @@ static int block2mtd_setup2(const char *
  			parse_err("illegal erase size");
  		}
  	}
@@ -99,7 +99,7 @@
  
  	return 0;
  }
-@@ -443,7 +450,7 @@
+@@ -443,7 +450,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.27/065-rootfs_split.patch b/target/linux/generic-2.6/patches-2.6.27/065-rootfs_split.patch
index 039a679a0a..41cca49cc3 100644
--- a/target/linux/generic-2.6/patches-2.6.27/065-rootfs_split.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/065-rootfs_split.patch
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/Kconfig
 +++ b/drivers/mtd/Kconfig
-@@ -45,6 +45,16 @@
+@@ -45,6 +45,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);
-@@ -37,7 +39,7 @@
+@@ -37,7 +39,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
-@@ -489,6 +491,148 @@
+@@ -489,6 +491,148 @@ out_register:
  	return slave;
  }
  
@@ -186,7 +186,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
-@@ -502,14 +646,29 @@
+@@ -502,14 +646,29 @@ int add_mtd_partitions(struct mtd_info *
  {
  	struct mtd_part *slave;
  	u_int32_t cur_offset = 0;
@@ -219,7 +219,7 @@
  		cur_offset = slave->offset + slave->mtd.size;
  	}
  
-@@ -517,6 +676,32 @@
+@@ -517,6 +676,32 @@ int add_mtd_partitions(struct mtd_info *
  }
  EXPORT_SYMBOL(add_mtd_partitions);
  
@@ -254,7 +254,7 @@
  
 --- a/drivers/mtd/devices/block2mtd.c
 +++ b/drivers/mtd/devices/block2mtd.c
-@@ -29,6 +29,8 @@
+@@ -29,6 +29,8 @@ struct block2mtd_dev {
  	struct block_device *blkdev;
  	struct mtd_info mtd;
  	struct mutex write_mutex;
@@ -263,7 +263,7 @@
  };
  
  
-@@ -81,6 +83,12 @@
+@@ -81,6 +83,12 @@ static int block2mtd_erase(struct mtd_in
  	size_t len = instr->len;
  	int err;
  
@@ -276,7 +276,7 @@
  	instr->state = MTD_ERASING;
  	mutex_lock(&dev->write_mutex);
  	err = _block2mtd_erase(dev, from, len);
-@@ -93,6 +101,10 @@
+@@ -93,6 +101,10 @@ static int block2mtd_erase(struct mtd_in
  
  	instr->state = MTD_ERASE_DONE;
  	mtd_erase_callback(instr);
@@ -287,7 +287,7 @@
  	return err;
  }
  
-@@ -104,10 +116,14 @@
+@@ -104,10 +116,14 @@ static int block2mtd_read(struct mtd_inf
  	struct page *page;
  	int index = from >> PAGE_SHIFT;
  	int offset = from & (PAGE_SIZE-1);
@@ -305,7 +305,7 @@
  	if (from + len > mtd->size)
  		len = mtd->size - from;
  
-@@ -122,10 +138,14 @@
+@@ -122,10 +138,14 @@ static int block2mtd_read(struct mtd_inf
  		len = len - cpylen;
  
  		page = page_read(dev->blkdev->bd_inode->i_mapping, index);
@@ -324,7 +324,7 @@
  
  		memcpy(buf, page_address(page) + offset, cpylen);
  		page_cache_release(page);
-@@ -136,7 +156,10 @@
+@@ -136,7 +156,10 @@ static int block2mtd_read(struct mtd_inf
  		offset = 0;
  		index++;
  	}
@@ -336,7 +336,7 @@
  }
  
  
-@@ -188,12 +211,22 @@
+@@ -188,12 +211,22 @@ static int block2mtd_write(struct mtd_in
  		size_t *retlen, const u_char *buf)
  {
  	struct block2mtd_dev *dev = mtd->priv;
@@ -363,7 +363,7 @@
  	if (to + len > mtd->size)
  		len = mtd->size - to;
  
-@@ -202,6 +235,9 @@
+@@ -202,6 +235,9 @@ static int block2mtd_write(struct mtd_in
  	mutex_unlock(&dev->write_mutex);
  	if (err > 0)
  		err = 0;
@@ -373,7 +373,7 @@
  	return err;
  }
  
-@@ -210,7 +246,12 @@
+@@ -210,7 +246,12 @@ static int block2mtd_write(struct mtd_in
  static void block2mtd_sync(struct mtd_info *mtd)
  {
  	struct block2mtd_dev *dev = mtd->priv;
@@ -387,7 +387,7 @@
  	return;
  }
  
-@@ -231,31 +272,22 @@
+@@ -231,31 +272,22 @@ static void block2mtd_free_device(struct
  	kfree(dev);
  }
  
@@ -422,7 +422,7 @@
  		if (devt) {
  			bdev = open_by_devnum(devt, FMODE_WRITE | FMODE_READ);
  		}
-@@ -263,17 +295,96 @@
+@@ -263,17 +295,96 @@ static struct block2mtd_dev *add_device(
  #endif
  
  	if (IS_ERR(bdev)) {
@@ -522,7 +522,7 @@
  
  	if (!mtdname)
  		mtdname = devname;
-@@ -297,6 +408,7 @@
+@@ -297,6 +408,7 @@ static struct block2mtd_dev *add_device(
  	dev->mtd.read = block2mtd_read;
  	dev->mtd.priv = dev;
  	dev->mtd.owner = THIS_MODULE;
@@ -540,7 +540,7 @@
  
  #include <asm/uaccess.h>
  
-@@ -771,6 +772,13 @@
+@@ -771,6 +772,13 @@ static int mtd_ioctl(struct inode *inode
  		file->f_pos = 0;
  		break;
  	}
@@ -556,7 +556,7 @@
  		ret = -ENOTTY;
 --- a/include/linux/mtd/mtd.h
 +++ b/include/linux/mtd/mtd.h
-@@ -96,6 +96,7 @@
+@@ -96,6 +96,7 @@ struct mtd_oob_ops {
  	uint8_t		*oobbuf;
  };
  
@@ -564,7 +564,7 @@
  struct mtd_info {
  	u_char type;
  	u_int32_t flags;
-@@ -211,6 +212,9 @@
+@@ -211,6 +212,9 @@ struct mtd_info {
  	struct module *owner;
  	int usecount;
  
@@ -584,7 +584,7 @@
  struct mtd_partition {
  	char *name;			/* identifier string */
  	u_int32_t size;			/* partition size */
-@@ -41,6 +42,7 @@
+@@ -41,6 +42,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 */
@@ -592,7 +592,7 @@
  };
  
  #define MTDPART_OFS_NXTBLK	(-2)
-@@ -50,6 +52,7 @@
+@@ -50,6 +52,7 @@ struct mtd_partition {
  
  int add_mtd_partitions(struct mtd_info *, const struct mtd_partition *, int);
  int del_mtd_partitions(struct mtd_info *);
@@ -602,7 +602,7 @@
   * Functions dealing with the various ways of partitioning the space
 --- a/include/mtd/mtd-abi.h
 +++ b/include/mtd/mtd-abi.h
-@@ -93,6 +93,7 @@
+@@ -93,6 +93,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.27/070-redboot_space.patch b/target/linux/generic-2.6/patches-2.6.27/070-redboot_space.patch
index e7b3b60e22..6ace83c01a 100644
--- a/target/linux/generic-2.6/patches-2.6.27/070-redboot_space.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/070-redboot_space.patch
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/redboot.c
 +++ b/drivers/mtd/redboot.c
-@@ -249,14 +249,21 @@
+@@ -249,14 +249,21 @@ static int parse_redboot_partitions(stru
  #endif
  		names += strlen(names)+1;
  
diff --git a/target/linux/generic-2.6/patches-2.6.27/071-redboot_boardconfig.patch b/target/linux/generic-2.6/patches-2.6.27/071-redboot_boardconfig.patch
index 2fe1d959e6..f9bc4fe36b 100644
--- a/target/linux/generic-2.6/patches-2.6.27/071-redboot_boardconfig.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/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
-@@ -41,6 +43,7 @@
+@@ -41,6 +43,7 @@ static int parse_redboot_partitions(stru
                               struct mtd_partition **pparts,
                               unsigned long fis_origin)
  {
@@ -17,7 +17,7 @@
  	int nrparts = 0;
  	struct fis_image_desc *buf;
  	struct mtd_partition *parts;
-@@ -209,14 +212,14 @@
+@@ -209,14 +212,14 @@ static int parse_redboot_partitions(stru
  		}
  	}
  #endif
@@ -34,7 +34,7 @@
  #ifdef CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED
  	if (nulllen > 0) {
  		strcpy(nullname, nullstring);
-@@ -235,6 +238,8 @@
+@@ -235,6 +238,8 @@ static int parse_redboot_partitions(stru
  	}
  #endif
  	for ( ; i<nrparts; i++) {
@@ -43,7 +43,7 @@
  		parts[i].size = fl->img->size;
  		parts[i].offset = fl->img->flash_base;
  		parts[i].name = names;
-@@ -268,6 +273,14 @@
+@@ -268,6 +273,14 @@ static int parse_redboot_partitions(stru
  		fl = fl->next;
  		kfree(tmp_fl);
  	}
diff --git a/target/linux/generic-2.6/patches-2.6.27/080-mtd_plat_nand_chip_fixup.patch b/target/linux/generic-2.6/patches-2.6.27/080-mtd_plat_nand_chip_fixup.patch
index 2b8954c1fb..62d96ac569 100644
--- a/target/linux/generic-2.6/patches-2.6.27/080-mtd_plat_nand_chip_fixup.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/080-mtd_plat_nand_chip_fixup.patch
@@ -1,6 +1,6 @@
 --- a/include/linux/mtd/nand.h
 +++ b/include/linux/mtd/nand.h
-@@ -578,6 +578,7 @@
+@@ -578,6 +578,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.27/100-netfilter_layer7_2.17.patch b/target/linux/generic-2.6/patches-2.6.27/100-netfilter_layer7_2.17.patch
index c3a5becb54..26b04e51ca 100644
--- a/target/linux/generic-2.6/patches-2.6.27/100-netfilter_layer7_2.17.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/100-netfilter_layer7_2.17.patch
@@ -1,6 +1,6 @@
 --- a/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
-@@ -757,6 +757,27 @@
+@@ -757,6 +757,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
-@@ -206,6 +206,14 @@
+@@ -206,6 +206,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
-@@ -162,7 +162,12 @@
+@@ -162,7 +162,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
-@@ -118,6 +118,22 @@
+@@ -118,6 +118,22 @@ struct nf_conn
  	u_int32_t secmark;
  #endif
  
diff --git a/target/linux/generic-2.6/patches-2.6.27/101-netfilter_layer7_pktmatch.patch b/target/linux/generic-2.6/patches-2.6.27/101-netfilter_layer7_pktmatch.patch
index dff6d188aa..ad0fdb823f 100644
--- a/target/linux/generic-2.6/patches-2.6.27/101-netfilter_layer7_pktmatch.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/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.27/110-ipp2p_0.8.1rc1.patch b/target/linux/generic-2.6/patches-2.6.27/110-ipp2p_0.8.1rc1.patch
index e769247c39..3684ff4a15 100644
--- a/target/linux/generic-2.6/patches-2.6.27/110-ipp2p_0.8.1rc1.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/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
-@@ -51,6 +51,8 @@
+@@ -51,6 +51,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.27/130-netfilter_ipset.patch b/target/linux/generic-2.6/patches-2.6.27/130-netfilter_ipset.patch
index d5bc2b7196..fec3e3d907 100644
--- a/target/linux/generic-2.6/patches-2.6.27/130-netfilter_ipset.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/130-netfilter_ipset.patch
@@ -7517,7 +7517,7 @@
 +module_exit(ipt_SET_fini);
 --- a/net/ipv4/netfilter/Kconfig
 +++ b/net/ipv4/netfilter/Kconfig
-@@ -412,5 +412,122 @@
+@@ -412,5 +412,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
-@@ -50,6 +50,7 @@
+@@ -50,6 +50,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
  
-@@ -63,6 +64,18 @@
+@@ -63,6 +64,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.27/140-netfilter_time.patch b/target/linux/generic-2.6/patches-2.6.27/140-netfilter_time.patch
index aecc852ead..d5dddc1739 100644
--- a/target/linux/generic-2.6/patches-2.6.27/140-netfilter_time.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/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
-@@ -51,6 +51,7 @@
+@@ -51,6 +51,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.27/150-netfilter_imq.patch b/target/linux/generic-2.6/patches-2.6.27/150-netfilter_imq.patch
index 7f64e37ca9..54928d9054 100644
--- a/target/linux/generic-2.6/patches-2.6.27/150-netfilter_imq.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/150-netfilter_imq.patch
@@ -477,7 +477,7 @@
 +
 --- a/drivers/net/Kconfig
 +++ b/drivers/net/Kconfig
-@@ -109,6 +109,129 @@
+@@ -109,6 +109,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
-@@ -144,6 +144,7 @@
+@@ -144,6 +144,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
-@@ -302,6 +302,10 @@
+@@ -302,6 +302,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
-@@ -1642,6 +1646,10 @@
+@@ -1642,6 +1646,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 <linux/proc_fs.h>
  #include <linux/seq_file.h>
  #include <linux/stat.h>
-@@ -1624,7 +1627,11 @@
+@@ -1624,7 +1627,11 @@ int dev_hard_start_xmit(struct sk_buff *
  			struct netdev_queue *txq)
  {
  	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
-@@ -59,6 +59,7 @@
+@@ -59,6 +59,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 @@
  obj-$(CONFIG_IP6_NF_SECURITY) += ip6table_security.o
 --- a/net/sched/sch_generic.c
 +++ b/net/sched/sch_generic.c
-@@ -188,6 +188,7 @@
+@@ -188,6 +188,7 @@ void __qdisc_run(struct Qdisc *q)
  
  	clear_bit(__QDISC_STATE_RUNNING, &q->state);
  }
diff --git a/target/linux/generic-2.6/patches-2.6.27/170-netfilter_chaostables_0.8.patch b/target/linux/generic-2.6/patches-2.6.27/170-netfilter_chaostables_0.8.patch
index b8bbeb8a31..b1204a7760 100644
--- a/target/linux/generic-2.6/patches-2.6.27/170-netfilter_chaostables_0.8.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/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
-@@ -296,6 +296,14 @@
+@@ -296,6 +296,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
-@@ -325,6 +333,14 @@
+@@ -325,6 +333,14 @@ config NETFILTER_XT_TARGET_CONNMARK
  	  <file:Documentation/kbuild/modules.txt>.  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
-@@ -661,6 +677,14 @@
+@@ -661,6 +677,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
-@@ -1555,6 +1555,8 @@
+@@ -1555,6 +1555,8 @@ __u32 secure_tcp_sequence_number(__be32 
  	return seq;
  }
  
diff --git a/target/linux/generic-2.6/patches-2.6.27/171-netfilter_tarpit.patch b/target/linux/generic-2.6/patches-2.6.27/171-netfilter_tarpit.patch
index 9026f96a9b..9a3433bd75 100644
--- a/target/linux/generic-2.6/patches-2.6.27/171-netfilter_tarpit.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/171-netfilter_tarpit.patch
@@ -1,6 +1,6 @@
 --- a/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
-@@ -457,6 +457,23 @@
+@@ -457,6 +457,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.27/180-netfilter_depends.patch b/target/linux/generic-2.6/patches-2.6.27/180-netfilter_depends.patch
index f2e721acc5..8301e54054 100644
--- a/target/linux/generic-2.6/patches-2.6.27/180-netfilter_depends.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/180-netfilter_depends.patch
@@ -1,6 +1,6 @@
 --- a/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
-@@ -165,7 +165,7 @@
+@@ -165,7 +165,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
-@@ -476,7 +476,7 @@
+@@ -476,7 +476,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.27/190-netfilter_rtsp.patch b/target/linux/generic-2.6/patches-2.6.27/190-netfilter_rtsp.patch
index 7ee2d4beba..d77bf0a9af 100644
--- a/target/linux/generic-2.6/patches-2.6.27/190-netfilter_rtsp.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/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
-@@ -278,6 +278,16 @@
+@@ -278,6 +278,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
-@@ -303,6 +303,11 @@
+@@ -303,6 +303,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.27/200-sched_esfq.patch b/target/linux/generic-2.6/patches-2.6.27/200-sched_esfq.patch
index 9402a5794d..8c8b56bcd0 100644
--- a/target/linux/generic-2.6/patches-2.6.27/200-sched_esfq.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/200-sched_esfq.patch
@@ -1,6 +1,6 @@
 --- a/include/linux/pkt_sched.h
 +++ b/include/linux/pkt_sched.h
-@@ -173,8 +173,37 @@
+@@ -173,8 +173,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.27/202-mips-freestanding.patch b/target/linux/generic-2.6/patches-2.6.27/202-mips-freestanding.patch
index 52b6825dcb..156510b02d 100644
--- a/target/linux/generic-2.6/patches-2.6.27/202-mips-freestanding.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/202-mips-freestanding.patch
@@ -1,6 +1,6 @@
 --- a/arch/mips/Makefile
 +++ b/arch/mips/Makefile
-@@ -577,6 +577,9 @@
+@@ -577,6 +577,9 @@ core-$(CONFIG_TOSHIBA_RBTX4927)	+= arch/
  #
  core-$(CONFIG_TOSHIBA_RBTX4938) += arch/mips/txx9/rbtx4938/
  
diff --git a/target/linux/generic-2.6/patches-2.6.27/204-jffs2_eofdetect.patch b/target/linux/generic-2.6/patches-2.6.27/204-jffs2_eofdetect.patch
index 17a082d2c2..16d3e1f8e8 100644
--- a/target/linux/generic-2.6/patches-2.6.27/204-jffs2_eofdetect.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/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.27/208-rtl8110sb_fix.patch b/target/linux/generic-2.6/patches-2.6.27/208-rtl8110sb_fix.patch
index 6289f527b4..6f8184e68c 100644
--- a/target/linux/generic-2.6/patches-2.6.27/208-rtl8110sb_fix.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/208-rtl8110sb_fix.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/r8169.c
 +++ b/drivers/net/r8169.c
-@@ -1519,7 +1519,7 @@
+@@ -1519,7 +1519,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
-@@ -1528,7 +1528,7 @@
+@@ -1528,7 +1528,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
-@@ -1537,7 +1537,7 @@
+@@ -1537,7 +1537,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
-@@ -2873,10 +2873,12 @@
+@@ -2873,10 +2873,12 @@ static irqreturn_t rtl8169_interrupt(int
  		goto out;
  	}
  
diff --git a/target/linux/generic-2.6/patches-2.6.27/209-mini_fo.patch b/target/linux/generic-2.6/patches-2.6.27/209-mini_fo.patch
index 3e64c1f397..d4abd92226 100644
--- a/target/linux/generic-2.6/patches-2.6.27/209-mini_fo.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/209-mini_fo.patch
@@ -1,6 +1,6 @@
 --- a/fs/Kconfig
 +++ b/fs/Kconfig
-@@ -1430,6 +1430,9 @@
+@@ -1430,6 +1430,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
-@@ -78,6 +78,7 @@
+@@ -78,6 +78,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.27/210-mini_fo_2.6.25_fixes.patch b/target/linux/generic-2.6/patches-2.6.27/210-mini_fo_2.6.25_fixes.patch
index 22ca3900e9..d71e3b6faa 100644
--- a/target/linux/generic-2.6/patches-2.6.27/210-mini_fo_2.6.25_fixes.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/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.27/211-mini_fo_2.6.25_dentry_open_war.patch b/target/linux/generic-2.6/patches-2.6.27/211-mini_fo_2.6.25_dentry_open_war.patch
index 14a9f37666..48a19429b9 100644
--- a/target/linux/generic-2.6/patches-2.6.27/211-mini_fo_2.6.25_dentry_open_war.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/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.27/212-mini_fo_2.6.26_fixes.patch b/target/linux/generic-2.6/patches-2.6.27/212-mini_fo_2.6.26_fixes.patch
index f4a4572b45..8bd9ba3244 100644
--- a/target/linux/generic-2.6/patches-2.6.27/212-mini_fo_2.6.26_fixes.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/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.27/213-mini_fo_2.6.27_fixes.patch b/target/linux/generic-2.6/patches-2.6.27/213-mini_fo_2.6.27_fixes.patch
index 6e995911a4..f92c18b254 100644
--- a/target/linux/generic-2.6/patches-2.6.27/213-mini_fo_2.6.27_fixes.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/213-mini_fo_2.6.27_fixes.patch
@@ -1,6 +1,6 @@
 --- a/fs/mini_fo/inode.c
 +++ b/fs/mini_fo/inode.c
-@@ -439,7 +439,7 @@
+@@ -439,7 +439,7 @@ mini_fo_symlink(inode_t *dir, dentry_t *
  	int err=0;
  	dentry_t *hidden_sto_dentry;
  	dentry_t *hidden_sto_dir_dentry;
@@ -9,7 +9,7 @@
          umode_t mode;
  #endif
  
-@@ -466,7 +466,7 @@
+@@ -466,7 +466,7 @@ mini_fo_symlink(inode_t *dir, dentry_t *
  	down(&hidden_sto_dir_dentry->d_inode->i_sem);
  #endif
  
@@ -18,7 +18,7 @@
  	mode = S_IALLUGO;
  	err = vfs_symlink(hidden_sto_dir_dentry->d_inode,
  			  hidden_sto_dentry, symname, mode);
-@@ -1128,7 +1128,7 @@
+@@ -1128,7 +1128,7 @@ void mini_fo_put_link(struct dentry *den
  #endif
  
  STATIC int
@@ -27,7 +27,7 @@
  mini_fo_permission(inode_t *inode, int mask, struct nameidata *nd)
  #else
  mini_fo_permission(inode_t *inode, int mask)
-@@ -1150,8 +1150,9 @@
+@@ -1150,8 +1150,9 @@ mini_fo_permission(inode_t *inode, int m
  	 *	if (err)
  	 *		goto out;
  	 */
diff --git a/target/linux/generic-2.6/patches-2.6.27/219-kobject_uevent.patch b/target/linux/generic-2.6/patches-2.6.27/219-kobject_uevent.patch
index 93ed1d035c..279665e869 100644
--- a/target/linux/generic-2.6/patches-2.6.27/219-kobject_uevent.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/219-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.27/220-sound_kconfig.patch b/target/linux/generic-2.6/patches-2.6.27/220-sound_kconfig.patch
index c514f890f0..f374009a65 100644
--- a/target/linux/generic-2.6/patches-2.6.27/220-sound_kconfig.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/220-sound_kconfig.patch
@@ -1,6 +1,6 @@
 --- a/sound/core/Kconfig
 +++ b/sound/core/Kconfig
-@@ -7,7 +7,7 @@
+@@ -7,7 +7,7 @@ config SND_PCM
  	select SND_TIMER
  
  config SND_HWDEP
diff --git a/target/linux/generic-2.6/patches-2.6.27/400-ledtrig_morse.patch b/target/linux/generic-2.6/patches-2.6.27/400-ledtrig_morse.patch
index b0a3b2a68f..b7df26e708 100644
--- a/target/linux/generic-2.6/patches-2.6.27/400-ledtrig_morse.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/400-ledtrig_morse.patch
@@ -1,6 +1,6 @@
 --- a/drivers/leds/Kconfig
 +++ b/drivers/leds/Kconfig
-@@ -206,4 +206,8 @@
+@@ -206,4 +206,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
-@@ -29,3 +29,4 @@
+@@ -29,3 +29,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.27/401-led_alix.patch b/target/linux/generic-2.6/patches-2.6.27/401-led_alix.patch
index 1bec37ecba..80e5401c7b 100644
--- a/target/linux/generic-2.6/patches-2.6.27/401-led_alix.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/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.27/402-ledtrig_netdev.patch b/target/linux/generic-2.6/patches-2.6.27/402-ledtrig_netdev.patch
index c6e518a37a..3b5ad97a1c 100644
--- a/target/linux/generic-2.6/patches-2.6.27/402-ledtrig_netdev.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/402-ledtrig_netdev.patch
@@ -1,6 +1,6 @@
 --- a/drivers/leds/Kconfig
 +++ b/drivers/leds/Kconfig
-@@ -216,4 +216,11 @@
+@@ -216,4 +216,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
-@@ -31,3 +31,4 @@
+@@ -31,3 +31,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.27/410-gpio_buttons.patch b/target/linux/generic-2.6/patches-2.6.27/410-gpio_buttons.patch
index 61c3508e12..20201aa90a 100644
--- a/target/linux/generic-2.6/patches-2.6.27/410-gpio_buttons.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/410-gpio_buttons.patch
@@ -1,6 +1,6 @@
 --- a/drivers/input/misc/Kconfig
 +++ b/drivers/input/misc/Kconfig
-@@ -207,4 +207,20 @@
+@@ -207,4 +207,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
-@@ -20,3 +20,4 @@
+@@ -20,3 +20,4 @@ obj-$(CONFIG_HP_SDC_RTC)		+= hp_sdc_rtc.
  obj-$(CONFIG_INPUT_UINPUT)		+= uinput.o
  obj-$(CONFIG_INPUT_APANEL)		+= apanel.o
  obj-$(CONFIG_INPUT_SGI_BTNS)		+= sgi_btns.o
diff --git a/target/linux/generic-2.6/patches-2.6.27/420-gpiodev.patch b/target/linux/generic-2.6/patches-2.6.27/420-gpiodev.patch
index 4daadc8638..da17f8d7e5 100644
--- a/target/linux/generic-2.6/patches-2.6.27/420-gpiodev.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/420-gpiodev.patch
@@ -1,6 +1,6 @@
 --- a/drivers/char/Kconfig
 +++ b/drivers/char/Kconfig
-@@ -1010,6 +1010,13 @@
+@@ -1010,6 +1010,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
-@@ -94,6 +94,7 @@
+@@ -94,6 +94,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.27/510-yaffs_support.patch b/target/linux/generic-2.6/patches-2.6.27/510-yaffs_support.patch
index db10deb9c5..8c01f0a74c 100644
--- a/target/linux/generic-2.6/patches-2.6.27/510-yaffs_support.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/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
-@@ -124,3 +124,4 @@
+@@ -124,3 +124,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.27/512-yaffs_2.6.25_fix.patch b/target/linux/generic-2.6/patches-2.6.27/512-yaffs_2.6.25_fix.patch
index ac895342f6..c127336346 100644
--- a/target/linux/generic-2.6/patches-2.6.27/512-yaffs_2.6.25_fix.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/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.27/513-yaffs_2.6.26_fix.patch b/target/linux/generic-2.6/patches-2.6.27/513-yaffs_2.6.26_fix.patch
index 32bd3a5d57..11594547d1 100644
--- a/target/linux/generic-2.6/patches-2.6.27/513-yaffs_2.6.26_fix.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/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.27/600-phy_extension.patch b/target/linux/generic-2.6/patches-2.6.27/600-phy_extension.patch
index 39f22bbdef..cacb7483ae 100644
--- a/target/linux/generic-2.6/patches-2.6.27/600-phy_extension.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/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.27/610-phy_detect.patch b/target/linux/generic-2.6/patches-2.6.27/610-phy_detect.patch
index 5cc9cd2895..fb46bce6ea 100644
--- a/target/linux/generic-2.6/patches-2.6.27/610-phy_detect.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/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.27/620-phy_adm6996.patch b/target/linux/generic-2.6/patches-2.6.27/620-phy_adm6996.patch
index 239384315e..7c98a0f51f 100644
--- a/target/linux/generic-2.6/patches-2.6.27/620-phy_adm6996.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/620-phy_adm6996.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/phy/Kconfig
 +++ b/drivers/net/phy/Kconfig
-@@ -66,6 +66,11 @@
+@@ -66,6 +66,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.27/630-phy_packets.patch b/target/linux/generic-2.6/patches-2.6.27/630-phy_packets.patch
index f1c1580e0d..4fe1357913 100644
--- a/target/linux/generic-2.6/patches-2.6.27/630-phy_packets.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/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,17 @@
+@@ -309,6 +309,17 @@ struct phy_device {
  	void (*adjust_link)(struct net_device *dev);
  
  	void (*adjust_state)(struct net_device *dev);
@@ -50,7 +50,7 @@
  
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
-@@ -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.27/640-mvswitch.patch b/target/linux/generic-2.6/patches-2.6.27/640-mvswitch.patch
index 74ea255e39..1810be9a3d 100644
--- a/target/linux/generic-2.6/patches-2.6.27/640-mvswitch.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/640-mvswitch.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/phy/Kconfig
 +++ b/drivers/net/phy/Kconfig
-@@ -71,6 +71,12 @@
+@@ -71,6 +71,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.27/801-usb_serial_endpoint_size.patch b/target/linux/generic-2.6/patches-2.6.27/801-usb_serial_endpoint_size.patch
index ec1d87aea8..e96e01cd55 100644
--- a/target/linux/generic-2.6/patches-2.6.27/801-usb_serial_endpoint_size.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/801-usb_serial_endpoint_size.patch
@@ -1,6 +1,6 @@
 --- a/drivers/usb/serial/usb-serial.c
 +++ b/drivers/usb/serial/usb-serial.c
-@@ -59,6 +59,7 @@
+@@ -59,6 +59,7 @@ static struct usb_driver usb_serial_driv
     drivers depend on it.
  */
  
@@ -8,7 +8,7 @@
  static int debug;
  /* initially all NULL */
  static struct usb_serial *serial_table[SERIAL_TTY_MINORS];
-@@ -835,7 +836,7 @@
+@@ -835,7 +836,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);
-@@ -1255,3 +1256,5 @@
+@@ -1255,3 +1256,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.27/840-unable_to_open_console.patch b/target/linux/generic-2.6/patches-2.6.27/840-unable_to_open_console.patch
index c31f68fbda..b109b0e7c3 100644
--- a/target/linux/generic-2.6/patches-2.6.27/840-unable_to_open_console.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/840-unable_to_open_console.patch
@@ -1,6 +1,6 @@
 --- a/init/main.c
 +++ b/init/main.c
-@@ -801,7 +801,7 @@
+@@ -801,7 +801,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.27/900-headers_type_and_time.patch b/target/linux/generic-2.6/patches-2.6.27/900-headers_type_and_time.patch
index b318c90606..b12387280a 100644
--- a/target/linux/generic-2.6/patches-2.6.27/900-headers_type_and_time.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/900-headers_type_and_time.patch
@@ -11,7 +11,7 @@
  #include <linux/types.h>
  
  #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.27/902-darwin_scripts_include.patch b/target/linux/generic-2.6/patches-2.6.27/902-darwin_scripts_include.patch
index 5d454b8e01..96fffc0660 100644
--- a/target/linux/generic-2.6/patches-2.6.27/902-darwin_scripts_include.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/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.27/903-hostap_txpower.patch b/target/linux/generic-2.6/patches-2.6.27/903-hostap_txpower.patch
index 581014fad6..6b4fc9f238 100644
--- a/target/linux/generic-2.6/patches-2.6.27/903-hostap_txpower.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/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;
-@@ -2469,13 +2469,13 @@
+@@ -2469,13 +2469,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
-@@ -90,6 +90,7 @@
+@@ -90,6 +90,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
-@@ -1502,23 +1502,20 @@
+@@ -1502,23 +1502,20 @@ static int prism2_txpower_hfa386x_to_dBm
  		val = 255;
  
  	tmp = val;
@@ -116,7 +116,7 @@
  
  	return (unsigned char) tmp;
  }
-@@ -4083,3 +4080,35 @@
+@@ -4083,3 +4080,35 @@ int hostap_ioctl(struct net_device *dev,
  
  	return ret;
  }
diff --git a/target/linux/generic-2.6/patches-2.6.27/903-stddef_include.patch b/target/linux/generic-2.6/patches-2.6.27/903-stddef_include.patch
index c0c01c0101..7fe248d8d3 100644
--- a/target/linux/generic-2.6/patches-2.6.27/903-stddef_include.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/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.27/921-gpio_spi_driver.patch b/target/linux/generic-2.6/patches-2.6.27/921-gpio_spi_driver.patch
index 6be8e26d7d..590a2230fa 100644
--- a/target/linux/generic-2.6/patches-2.6.27/921-gpio_spi_driver.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/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 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
-@@ -3854,6 +3854,11 @@
+@@ -3854,6 +3854,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.27/922-gpiommc.patch b/target/linux/generic-2.6/patches-2.6.27/922-gpiommc.patch
index 4fd9dd13e6..d4bb0537f5 100644
--- a/target/linux/generic-2.6/patches-2.6.27/922-gpiommc.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/922-gpiommc.patch
@@ -611,7 +611,7 @@
 +module_exit(gpiommc_modexit);
 --- a/drivers/mmc/host/Kconfig
 +++ b/drivers/mmc/host/Kconfig
-@@ -180,3 +180,28 @@
+@@ -180,3 +180,28 @@ config MMC_TMIO
  	help
  	  This provides support for the SD/MMC cell found in TC6393XB,
  	  T7L66XB and also ipaq ASIC3
@@ -642,7 +642,7 @@
 +	  if configfs is available.
 --- a/drivers/mmc/host/Makefile
 +++ b/drivers/mmc/host/Makefile
-@@ -22,4 +22,5 @@
+@@ -22,4 +22,5 @@ obj-$(CONFIG_MMC_SPI)		+= mmc_spi.o
  obj-$(CONFIG_MMC_S3C)   	+= s3cmci.o
  obj-$(CONFIG_MMC_SDRICOH_CS)	+= sdricoh_cs.o
  obj-$(CONFIG_MMC_TMIO)		+= tmio_mmc.o
@@ -824,7 +824,7 @@
 +be done automatically.
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
-@@ -1833,6 +1833,11 @@
+@@ -1833,6 +1833,11 @@ L:	gigaset307x-common@lists.sourceforge.
  W:	http://gigaset307x.sourceforge.net/
  S:	Maintained
  
diff --git a/target/linux/generic-2.6/patches-2.6.27/923-gpiommc-configfs-locking.patch b/target/linux/generic-2.6/patches-2.6.27/923-gpiommc-configfs-locking.patch
index 1d0f5ba651..2e4e820b2b 100644
--- a/target/linux/generic-2.6/patches-2.6.27/923-gpiommc-configfs-locking.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/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.27/950-revert_xt_sctp_simplify.patch b/target/linux/generic-2.6/patches-2.6.27/950-revert_xt_sctp_simplify.patch
index a4d9381b59..462147b6db 100644
--- a/target/linux/generic-2.6/patches-2.6.27/950-revert_xt_sctp_simplify.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/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.27/951-revert_gcc4_4_fixes.patch b/target/linux/generic-2.6/patches-2.6.27/951-revert_gcc4_4_fixes.patch
index 271f01de12..1f1800f23a 100644
--- a/target/linux/generic-2.6/patches-2.6.27/951-revert_gcc4_4_fixes.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/951-revert_gcc4_4_fixes.patch
@@ -236,7 +236,7 @@
 -#endif
 --- a/arch/powerpc/boot/Makefile
 +++ b/arch/powerpc/boot/Makefile
-@@ -53,7 +53,7 @@
+@@ -53,7 +53,7 @@ $(addprefix $(obj)/,$(zlib) cuboot-c2k.o
  	$(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
-@@ -8,7 +8,7 @@
+@@ -8,7 +8,7 @@ endif
  
  obj-y			:= string.o alloc.o \
  			   checksum_$(CONFIG_WORD_SIZE).o
@@ -513,7 +513,7 @@
  obj-$(CONFIG_PPC64)	+= copypage_64.o copyuser_64.o \
 --- a/arch/powerpc/Makefile
 +++ b/arch/powerpc/Makefile
-@@ -90,8 +90,6 @@
+@@ -90,8 +90,6 @@ endif
  else
  	KBUILD_CFLAGS += $(call cc-option,-mtune=power4)
  endif
diff --git a/target/linux/generic-2.6/patches-2.6.27/952-revert_xt_string_case_insensitive_match.patch b/target/linux/generic-2.6/patches-2.6.27/952-revert_xt_string_case_insensitive_match.patch
index 4902db1585..6f317e4667 100644
--- a/target/linux/generic-2.6/patches-2.6.27/952-revert_xt_string_case_insensitive_match.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/952-revert_xt_string_case_insensitive_match.patch
@@ -12,7 +12,7 @@
  struct xt_string_info
  {
  	u_int16_t from_offset;
-@@ -16,15 +11,7 @@
+@@ -16,15 +11,7 @@ struct xt_string_info
  	char	  algo[XT_STRING_MAX_ALGO_NAME_SIZE];
  	char 	  pattern[XT_STRING_MAX_PATTERN_SIZE];
  	u_int8_t  patlen;
@@ -31,7 +31,7 @@
  	struct ts_config __attribute__((aligned(8))) *config;
 --- a/net/netfilter/xt_string.c
 +++ b/net/netfilter/xt_string.c
-@@ -29,16 +29,12 @@
+@@ -29,16 +29,12 @@ string_mt(const struct sk_buff *skb, con
  {
  	const struct xt_string_info *conf = matchinfo;
  	struct ts_state state;
@@ -49,7 +49,7 @@
  }
  
  #define STRING_TEXT_PRIV(m) ((struct xt_string_info *)(m))
-@@ -50,7 +46,6 @@
+@@ -50,7 +46,6 @@ string_mt_check(const char *tablename, c
  {
  	struct xt_string_info *conf = matchinfo;
  	struct ts_config *ts_conf;
@@ -57,7 +57,7 @@
  
  	/* Damn, can't handle this case properly with iptables... */
  	if (conf->from_offset > conf->to_offset)
-@@ -59,15 +54,8 @@
+@@ -59,15 +54,8 @@ string_mt_check(const char *tablename, c
  		return false;
  	if (conf->patlen > XT_STRING_MAX_PATTERN_SIZE)
  		return false;
@@ -74,7 +74,7 @@
  	if (IS_ERR(ts_conf))
  		return false;
  
-@@ -84,17 +72,6 @@
+@@ -84,17 +72,6 @@ static void string_mt_destroy(const stru
  static struct xt_match string_mt_reg[] __read_mostly = {
  	{
  		.name 		= "string",
@@ -92,7 +92,7 @@
  		.family		= AF_INET,
  		.checkentry	= string_mt_check,
  		.match 		= string_mt,
-@@ -104,17 +81,6 @@
+@@ -104,17 +81,6 @@ static struct xt_match string_mt_reg[] _
  	},
  	{
  		.name 		= "string",
diff --git a/target/linux/generic-2.6/patches-2.6.27/970-ocf_20080704.patch b/target/linux/generic-2.6/patches-2.6.27/970-ocf_20080704.patch
index f8b0b49a35..f876a78968 100644
--- a/target/linux/generic-2.6/patches-2.6.27/970-ocf_20080704.patch
+++ b/target/linux/generic-2.6/patches-2.6.27/970-ocf_20080704.patch
@@ -1,6 +1,6 @@
 --- a/crypto/Kconfig
 +++ b/crypto/Kconfig
-@@ -669,3 +669,6 @@
+@@ -669,3 +669,6 @@ config CRYPTO_LZO
  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_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.
-@@ -668,6 +678,61 @@
+@@ -668,6 +678,61 @@ void add_disk_randomness(struct gendisk 
  }
  #endif
  
@@ -108,7 +108,7 @@
  /*********************************************************************
 --- a/fs/fcntl.c
 +++ b/fs/fcntl.c
-@@ -139,6 +139,7 @@
+@@ -139,6 +139,7 @@ asmlinkage long sys_dup(unsigned int fil
  	}
  	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/ixp4xx/patches-2.6.27/100-wg302v2_gateway7001_mac_plat_info.patch b/target/linux/ixp4xx/patches-2.6.27/100-wg302v2_gateway7001_mac_plat_info.patch
index bbdd00c80f..a19a4085ae 100644
--- a/target/linux/ixp4xx/patches-2.6.27/100-wg302v2_gateway7001_mac_plat_info.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/100-wg302v2_gateway7001_mac_plat_info.patch
@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-ixp4xx/gateway7001-setup.c
 +++ b/arch/arm/mach-ixp4xx/gateway7001-setup.c
-@@ -76,9 +76,35 @@
+@@ -76,9 +76,35 @@ static struct platform_device gateway700
  	.resource	= &gateway7001_uart_resource,
  };
  
@@ -39,7 +39,7 @@
  static void __init gateway7001_init(void)
 --- a/arch/arm/mach-ixp4xx/wg302v2-setup.c
 +++ b/arch/arm/mach-ixp4xx/wg302v2-setup.c
-@@ -77,9 +77,26 @@
+@@ -77,9 +77,26 @@ static struct platform_device wg302v2_ua
  	.resource	= &wg302v2_uart_resource,
  };
  
diff --git a/target/linux/ixp4xx/patches-2.6.27/105-wg302v1_support.patch b/target/linux/ixp4xx/patches-2.6.27/105-wg302v1_support.patch
index e47fef7bbe..600813f175 100644
--- a/target/linux/ixp4xx/patches-2.6.27/105-wg302v1_support.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/105-wg302v1_support.patch
@@ -1,6 +1,6 @@
 --- a/arch/arm/configs/ixp4xx_defconfig
 +++ b/arch/arm/configs/ixp4xx_defconfig
-@@ -155,6 +155,7 @@
+@@ -155,6 +155,7 @@ CONFIG_MACH_AVILA=y
  CONFIG_MACH_LOFT=y
  CONFIG_ARCH_ADI_COYOTE=y
  CONFIG_MACH_GATEWAY7001=y
@@ -10,7 +10,7 @@
  CONFIG_MACH_IXDPG425=y
 --- a/arch/arm/mach-ixp4xx/Kconfig
 +++ b/arch/arm/mach-ixp4xx/Kconfig
-@@ -49,6 +49,14 @@
+@@ -49,6 +49,14 @@ config MACH_GATEWAY7001
  	  7001 Access Point. For more information on this platform,
  	  see http://openwrt.org
  
@@ -27,7 +27,7 @@
  	select PCI
 --- a/arch/arm/mach-ixp4xx/Makefile
 +++ b/arch/arm/mach-ixp4xx/Makefile
-@@ -14,6 +14,7 @@
+@@ -14,6 +14,7 @@ obj-pci-$(CONFIG_MACH_NSLU2)		+= nslu2-p
  obj-pci-$(CONFIG_MACH_NAS100D)		+= nas100d-pci.o
  obj-pci-$(CONFIG_MACH_DSMG600)		+= dsmg600-pci.o
  obj-pci-$(CONFIG_MACH_GATEWAY7001)	+= gateway7001-pci.o
@@ -35,7 +35,7 @@
  obj-pci-$(CONFIG_MACH_WG302V2)		+= wg302v2-pci.o
  obj-pci-$(CONFIG_MACH_FSG)		+= fsg-pci.o
  
-@@ -28,6 +29,7 @@
+@@ -28,6 +29,7 @@ obj-$(CONFIG_MACH_NSLU2)	+= nslu2-setup.
  obj-$(CONFIG_MACH_NAS100D)	+= nas100d-setup.o
  obj-$(CONFIG_MACH_DSMG600)      += dsmg600-setup.o
  obj-$(CONFIG_MACH_GATEWAY7001)	+= gateway7001-setup.o
diff --git a/target/linux/ixp4xx/patches-2.6.27/110-pronghorn_series_support.patch b/target/linux/ixp4xx/patches-2.6.27/110-pronghorn_series_support.patch
index df3bd20084..9b81e2eee4 100644
--- a/target/linux/ixp4xx/patches-2.6.27/110-pronghorn_series_support.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/110-pronghorn_series_support.patch
@@ -1,6 +1,6 @@
 --- a/arch/arm/configs/ixp4xx_defconfig
 +++ b/arch/arm/configs/ixp4xx_defconfig
-@@ -157,6 +157,8 @@
+@@ -157,6 +157,8 @@ CONFIG_ARCH_ADI_COYOTE=y
  CONFIG_MACH_GATEWAY7001=y
  CONFIG_MACH_WG302V1=y
  CONFIG_MACH_WG302V2=y
@@ -11,7 +11,7 @@
  CONFIG_MACH_IXDP465=y
 --- a/arch/arm/mach-ixp4xx/Kconfig
 +++ b/arch/arm/mach-ixp4xx/Kconfig
-@@ -65,6 +65,22 @@
+@@ -65,6 +65,22 @@ config MACH_WG302V2
  	  WG302 v2 or WAG302 v2 Access Points. For more information
  	  on this platform, see http://openwrt.org
  
@@ -36,7 +36,7 @@
  	help
 --- a/arch/arm/mach-ixp4xx/Makefile
 +++ b/arch/arm/mach-ixp4xx/Makefile
-@@ -17,6 +17,7 @@
+@@ -17,6 +17,7 @@ obj-pci-$(CONFIG_MACH_GATEWAY7001)	+= ga
  obj-pci-$(CONFIG_MACH_WG302V1)		+= wg302v1-pci.o
  obj-pci-$(CONFIG_MACH_WG302V2)		+= wg302v2-pci.o
  obj-pci-$(CONFIG_MACH_FSG)		+= fsg-pci.o
@@ -44,7 +44,7 @@
  
  obj-y	+= common.o
  
-@@ -32,6 +33,7 @@
+@@ -32,6 +33,7 @@ obj-$(CONFIG_MACH_GATEWAY7001)	+= gatewa
  obj-$(CONFIG_MACH_WG302V1)	+= wg302v1-setup.o
  obj-$(CONFIG_MACH_WG302V2)	+= wg302v2-setup.o
  obj-$(CONFIG_MACH_FSG)		+= fsg-setup.o
@@ -375,7 +375,7 @@
 +MACHINE_END
 --- a/arch/arm/mach-ixp4xx/include/mach/uncompress.h
 +++ b/arch/arm/mach-ixp4xx/include/mach/uncompress.h
-@@ -41,7 +41,8 @@
+@@ -41,7 +41,8 @@ static __inline__ void __arch_decomp_set
  	 * Some boards are using UART2 as console
  	 */
  	if (machine_is_adi_coyote() || machine_is_gtwx5715() ||
diff --git a/target/linux/ixp4xx/patches-2.6.27/111-pronghorn_swap_uarts.patch b/target/linux/ixp4xx/patches-2.6.27/111-pronghorn_swap_uarts.patch
index c2b684d056..b9fa507689 100644
--- a/target/linux/ixp4xx/patches-2.6.27/111-pronghorn_swap_uarts.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/111-pronghorn_swap_uarts.patch
@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-ixp4xx/pronghorn-setup.c
 +++ b/arch/arm/mach-ixp4xx/pronghorn-setup.c
-@@ -51,31 +51,31 @@
+@@ -51,31 +51,31 @@ static struct platform_device pronghorn_
  
  static struct resource pronghorn_uart_resources [] = {
  	{
diff --git a/target/linux/ixp4xx/patches-2.6.27/115-sidewinder_support.patch b/target/linux/ixp4xx/patches-2.6.27/115-sidewinder_support.patch
index 0fecb14ec3..af03d33a61 100644
--- a/target/linux/ixp4xx/patches-2.6.27/115-sidewinder_support.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/115-sidewinder_support.patch
@@ -15,7 +15,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
 
 --- a/arch/arm/mach-ixp4xx/Kconfig
 +++ b/arch/arm/mach-ixp4xx/Kconfig
-@@ -81,6 +81,14 @@
+@@ -81,6 +81,14 @@ config MACH_PRONGHORN
  config MACH_PRONGHORNMETRO
  	def_bool MACH_PRONGHORN
  
@@ -30,7 +30,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
  config ARCH_IXDP425
  	bool "IXDP425"
  	help
-@@ -163,7 +171,7 @@
+@@ -163,7 +171,7 @@ config MACH_FSG
  #
  config CPU_IXP46X
  	bool
@@ -41,7 +41,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
  config CPU_IXP43X
 --- a/arch/arm/mach-ixp4xx/Makefile
 +++ b/arch/arm/mach-ixp4xx/Makefile
-@@ -18,6 +18,7 @@
+@@ -18,6 +18,7 @@ obj-pci-$(CONFIG_MACH_WG302V1)		+= wg302
  obj-pci-$(CONFIG_MACH_WG302V2)		+= wg302v2-pci.o
  obj-pci-$(CONFIG_MACH_FSG)		+= fsg-pci.o
  obj-pci-$(CONFIG_MACH_PRONGHORN)	+= pronghorn-pci.o
@@ -49,7 +49,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
  
  obj-y	+= common.o
  
-@@ -34,6 +35,7 @@
+@@ -34,6 +35,7 @@ obj-$(CONFIG_MACH_WG302V1)	+= wg302v1-se
  obj-$(CONFIG_MACH_WG302V2)	+= wg302v2-setup.o
  obj-$(CONFIG_MACH_FSG)		+= fsg-setup.o
  obj-$(CONFIG_MACH_PRONGHORN)	+= pronghorn-setup.o
diff --git a/target/linux/ixp4xx/patches-2.6.27/116-sidewinder_fis_location.patch b/target/linux/ixp4xx/patches-2.6.27/116-sidewinder_fis_location.patch
index aae50dbc13..1d0a983980 100644
--- a/target/linux/ixp4xx/patches-2.6.27/116-sidewinder_fis_location.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/116-sidewinder_fis_location.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
-@@ -30,7 +32,8 @@
+@@ -30,7 +32,8 @@ struct fis_list {
  	struct fis_list *next;
  };
  
@@ -19,7 +19,7 @@
  module_param(directory, int, 0);
  
  static inline int redboot_checksum(struct fis_image_desc *img)
-@@ -59,6 +62,8 @@
+@@ -59,6 +62,8 @@ static int parse_redboot_partitions(stru
  #ifdef CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED
  	static char nullstring[] = "unallocated";
  #endif
diff --git a/target/linux/ixp4xx/patches-2.6.27/120-compex_support.patch b/target/linux/ixp4xx/patches-2.6.27/120-compex_support.patch
index fae6141076..571a480ff5 100644
--- a/target/linux/ixp4xx/patches-2.6.27/120-compex_support.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/120-compex_support.patch
@@ -15,7 +15,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
 
 --- a/arch/arm/mach-ixp4xx/Kconfig
 +++ b/arch/arm/mach-ixp4xx/Kconfig
-@@ -89,6 +89,14 @@
+@@ -89,6 +89,14 @@ config MACH_SIDEWINDER
  	  Engineering Sidewinder board. For more information on this
  	  platform, see http://www.adiengineering.com
  
@@ -32,7 +32,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
  	help
 --- a/arch/arm/mach-ixp4xx/Makefile
 +++ b/arch/arm/mach-ixp4xx/Makefile
-@@ -19,6 +19,7 @@
+@@ -19,6 +19,7 @@ obj-pci-$(CONFIG_MACH_WG302V2)		+= wg302
  obj-pci-$(CONFIG_MACH_FSG)		+= fsg-pci.o
  obj-pci-$(CONFIG_MACH_PRONGHORN)	+= pronghorn-pci.o
  obj-pci-$(CONFIG_MACH_SIDEWINDER)	+= sidewinder-pci.o
@@ -40,7 +40,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
  
  obj-y	+= common.o
  
-@@ -36,6 +37,7 @@
+@@ -36,6 +37,7 @@ obj-$(CONFIG_MACH_WG302V2)	+= wg302v2-se
  obj-$(CONFIG_MACH_FSG)		+= fsg-setup.o
  obj-$(CONFIG_MACH_PRONGHORN)	+= pronghorn-setup.o
  obj-$(CONFIG_MACH_SIDEWINDER)	+= sidewinder-setup.o
@@ -189,7 +189,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
 +MACHINE_END
 --- a/arch/arm/mach-ixp4xx/ixdp425-pci.c
 +++ b/arch/arm/mach-ixp4xx/ixdp425-pci.c
-@@ -66,7 +66,8 @@
+@@ -66,7 +66,8 @@ struct hw_pci ixdp425_pci __initdata = {
  int __init ixdp425_pci_init(void)
  {
  	if (machine_is_ixdp425() || machine_is_ixcdp1100() ||
@@ -201,7 +201,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
  }
 --- a/arch/arm/tools/mach-types
 +++ b/arch/arm/tools/mach-types
-@@ -1273,7 +1273,7 @@
+@@ -1273,7 +1273,7 @@ oiab			MACH_OIAB		OIAB			1269
  smdk6400		MACH_SMDK6400		SMDK6400		1270
  nokia_n800		MACH_NOKIA_N800		NOKIA_N800		1271
  greenphone		MACH_GREENPHONE		GREENPHONE		1272
diff --git a/target/linux/ixp4xx/patches-2.6.27/130-wrt300nv2_support.patch b/target/linux/ixp4xx/patches-2.6.27/130-wrt300nv2_support.patch
index 333acf4bf0..48d5ee291d 100644
--- a/target/linux/ixp4xx/patches-2.6.27/130-wrt300nv2_support.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/130-wrt300nv2_support.patch
@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-ixp4xx/Kconfig
 +++ b/arch/arm/mach-ixp4xx/Kconfig
-@@ -97,6 +97,14 @@
+@@ -97,6 +97,14 @@ config MACH_COMPEX
  	  WP18 or NP18A boards. For more information on this
  	  platform, see http://www.compex.com.sg/home/OEM/product_ap.htm
  
@@ -17,7 +17,7 @@
  	help
 --- a/arch/arm/mach-ixp4xx/Makefile
 +++ b/arch/arm/mach-ixp4xx/Makefile
-@@ -20,6 +20,7 @@
+@@ -20,6 +20,7 @@ obj-pci-$(CONFIG_MACH_FSG)		+= fsg-pci.o
  obj-pci-$(CONFIG_MACH_PRONGHORN)	+= pronghorn-pci.o
  obj-pci-$(CONFIG_MACH_SIDEWINDER)	+= sidewinder-pci.o
  obj-pci-$(CONFIG_MACH_COMPEX)		+= ixdp425-pci.o
@@ -25,7 +25,7 @@
  
  obj-y	+= common.o
  
-@@ -38,6 +39,7 @@
+@@ -38,6 +39,7 @@ obj-$(CONFIG_MACH_FSG)		+= fsg-setup.o
  obj-$(CONFIG_MACH_PRONGHORN)	+= pronghorn-setup.o
  obj-$(CONFIG_MACH_SIDEWINDER)	+= sidewinder-setup.o
  obj-$(CONFIG_MACH_COMPEX)	+= compex-setup.o
@@ -214,7 +214,7 @@
 +#endif
 --- a/arch/arm/mach-ixp4xx/include/mach/uncompress.h
 +++ b/arch/arm/mach-ixp4xx/include/mach/uncompress.h
-@@ -42,7 +42,7 @@
+@@ -42,7 +42,7 @@ static __inline__ void __arch_decomp_set
  	 */
  	if (machine_is_adi_coyote() || machine_is_gtwx5715() ||
  			 machine_is_gateway7001() || machine_is_wg302v2() ||
diff --git a/target/linux/ixp4xx/patches-2.6.27/131-wrt300nv2_mac_plat_info.patch b/target/linux/ixp4xx/patches-2.6.27/131-wrt300nv2_mac_plat_info.patch
index f199fc9b95..3ab68c4f3a 100644
--- a/target/linux/ixp4xx/patches-2.6.27/131-wrt300nv2_mac_plat_info.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/131-wrt300nv2_mac_plat_info.patch
@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-ixp4xx/wrt300nv2-setup.c
 +++ b/arch/arm/mach-ixp4xx/wrt300nv2-setup.c
-@@ -76,9 +76,36 @@
+@@ -76,9 +76,36 @@ static struct platform_device wrt300nv2_
  	.resource	= &wrt300nv2_uart_resource,
  };
  
diff --git a/target/linux/ixp4xx/patches-2.6.27/150-lanready_ap1000_support.patch b/target/linux/ixp4xx/patches-2.6.27/150-lanready_ap1000_support.patch
index 1fd7a837b8..283bbf836f 100644
--- a/target/linux/ixp4xx/patches-2.6.27/150-lanready_ap1000_support.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/150-lanready_ap1000_support.patch
@@ -154,7 +154,7 @@
 +#endif
 --- a/arch/arm/mach-ixp4xx/ixdp425-pci.c
 +++ b/arch/arm/mach-ixp4xx/ixdp425-pci.c
-@@ -67,7 +67,7 @@
+@@ -67,7 +67,7 @@ int __init ixdp425_pci_init(void)
  {
  	if (machine_is_ixdp425() || machine_is_ixcdp1100() ||
  			machine_is_ixdp465() || machine_is_kixrp435() ||
@@ -165,7 +165,7 @@
  }
 --- a/arch/arm/mach-ixp4xx/Kconfig
 +++ b/arch/arm/mach-ixp4xx/Kconfig
-@@ -105,6 +105,14 @@
+@@ -105,6 +105,14 @@ config MACH_WRT300NV2
  	  WRT300N v2 router. For more information on this
  	  platform, see http://openwrt.org
  
@@ -182,7 +182,7 @@
  	help
 --- a/arch/arm/mach-ixp4xx/Makefile
 +++ b/arch/arm/mach-ixp4xx/Makefile
-@@ -21,6 +21,7 @@
+@@ -21,6 +21,7 @@ obj-pci-$(CONFIG_MACH_PRONGHORN)	+= pron
  obj-pci-$(CONFIG_MACH_SIDEWINDER)	+= sidewinder-pci.o
  obj-pci-$(CONFIG_MACH_COMPEX)		+= ixdp425-pci.o
  obj-pci-$(CONFIG_MACH_WRT300NV2)		+= wrt300nv2-pci.o
@@ -190,7 +190,7 @@
  
  obj-y	+= common.o
  
-@@ -40,6 +41,7 @@
+@@ -40,6 +41,7 @@ obj-$(CONFIG_MACH_PRONGHORN)	+= pronghor
  obj-$(CONFIG_MACH_SIDEWINDER)	+= sidewinder-setup.o
  obj-$(CONFIG_MACH_COMPEX)	+= compex-setup.o
  obj-$(CONFIG_MACH_WRT300NV2)	+= wrt300nv2-setup.o
diff --git a/target/linux/ixp4xx/patches-2.6.27/151-lanready_ap1000_mac_plat_info.patch b/target/linux/ixp4xx/patches-2.6.27/151-lanready_ap1000_mac_plat_info.patch
index f5c5391ccc..a1214d5676 100644
--- a/target/linux/ixp4xx/patches-2.6.27/151-lanready_ap1000_mac_plat_info.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/151-lanready_ap1000_mac_plat_info.patch
@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-ixp4xx/ap1000-setup.c
 +++ b/arch/arm/mach-ixp4xx/ap1000-setup.c
-@@ -90,9 +90,37 @@
+@@ -90,9 +90,37 @@ static struct platform_device ap1000_uar
  	.resource		= ap1000_uart_resources
  };
  
diff --git a/target/linux/ixp4xx/patches-2.6.27/162-wg302v1_mem_fixup.patch b/target/linux/ixp4xx/patches-2.6.27/162-wg302v1_mem_fixup.patch
index f2d8fde550..684db44751 100644
--- a/target/linux/ixp4xx/patches-2.6.27/162-wg302v1_mem_fixup.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/162-wg302v1_mem_fixup.patch
@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-ixp4xx/wg302v1-setup.c
 +++ b/arch/arm/mach-ixp4xx/wg302v1-setup.c
-@@ -115,6 +115,36 @@
+@@ -115,6 +115,36 @@ static struct platform_device *wg302v1_d
  	&wg302v1_eth[0],
  };
  
@@ -37,7 +37,7 @@
  static void __init wg302v1_init(void)
  {
  	ixp4xx_sys_init();
-@@ -133,6 +163,7 @@
+@@ -133,6 +163,7 @@ MACHINE_START(WG302V1, "Netgear WG302 v1
  	/* Maintainer: Imre Kaloz <kaloz@openwrt.org> */
  	.phys_io	= IXP4XX_PERIPHERAL_BASE_PHYS,
  	.io_pg_offst	= ((IXP4XX_PERIPHERAL_BASE_VIRT) >> 18) & 0xfffc,
diff --git a/target/linux/ixp4xx/patches-2.6.27/170-ixdpg425_mac_plat_info.patch b/target/linux/ixp4xx/patches-2.6.27/170-ixdpg425_mac_plat_info.patch
index 1faaa63be1..772b697aa2 100644
--- a/target/linux/ixp4xx/patches-2.6.27/170-ixdpg425_mac_plat_info.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/170-ixdpg425_mac_plat_info.patch
@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-ixp4xx/coyote-setup.c
 +++ b/arch/arm/mach-ixp4xx/coyote-setup.c
-@@ -73,9 +73,37 @@
+@@ -73,9 +73,37 @@ static struct platform_device coyote_uar
  	.resource	= &coyote_uart_resource,
  };
  
diff --git a/target/linux/ixp4xx/patches-2.6.27/180-tw5334_support.patch b/target/linux/ixp4xx/patches-2.6.27/180-tw5334_support.patch
index 6d04a4c64b..81010f9e80 100644
--- a/target/linux/ixp4xx/patches-2.6.27/180-tw5334_support.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/180-tw5334_support.patch
@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-ixp4xx/Kconfig
 +++ b/arch/arm/mach-ixp4xx/Kconfig
-@@ -158,6 +158,14 @@
+@@ -158,6 +158,14 @@ config ARCH_PRPMC1100
  	  PrPCM1100 Processor Mezanine Module. For more information on
  	  this platform, see <file:Documentation/arm/IXP4xx>.
  
@@ -17,7 +17,7 @@
  	prompt "NAS100D"
 --- a/arch/arm/mach-ixp4xx/Makefile
 +++ b/arch/arm/mach-ixp4xx/Makefile
-@@ -22,6 +22,7 @@
+@@ -22,6 +22,7 @@ obj-pci-$(CONFIG_MACH_SIDEWINDER)	+= sid
  obj-pci-$(CONFIG_MACH_COMPEX)		+= ixdp425-pci.o
  obj-pci-$(CONFIG_MACH_WRT300NV2)		+= wrt300nv2-pci.o
  obj-pci-$(CONFIG_MACH_AP1000)		+= ixdp425-pci.o
@@ -25,7 +25,7 @@
  
  obj-y	+= common.o
  
-@@ -42,6 +43,7 @@
+@@ -42,6 +43,7 @@ obj-$(CONFIG_MACH_SIDEWINDER)	+= sidewin
  obj-$(CONFIG_MACH_COMPEX)	+= compex-setup.o
  obj-$(CONFIG_MACH_WRT300NV2)	+= wrt300nv2-setup.o
  obj-$(CONFIG_MACH_AP1000)	+= ap1000-setup.o
@@ -272,7 +272,7 @@
 +subsys_initcall(tw5334_pci_init);
 --- a/arch/arm/mach-ixp4xx/include/mach/uncompress.h
 +++ b/arch/arm/mach-ixp4xx/include/mach/uncompress.h
-@@ -42,7 +42,8 @@
+@@ -42,7 +42,8 @@ static __inline__ void __arch_decomp_set
  	 */
  	if (machine_is_adi_coyote() || machine_is_gtwx5715() ||
  			 machine_is_gateway7001() || machine_is_wg302v2() ||
diff --git a/target/linux/ixp4xx/patches-2.6.27/190-cambria_support.patch b/target/linux/ixp4xx/patches-2.6.27/190-cambria_support.patch
index 09980b9a09..2089fe2700 100644
--- a/target/linux/ixp4xx/patches-2.6.27/190-cambria_support.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/190-cambria_support.patch
@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-ixp4xx/Kconfig
 +++ b/arch/arm/mach-ixp4xx/Kconfig
-@@ -25,6 +25,14 @@
+@@ -25,6 +25,14 @@ config MACH_AVILA
  	  Avila Network Platform. For more information on this platform,
  	  see <file:Documentation/arm/IXP4xx>.
  
@@ -15,7 +15,7 @@
  config MACH_LOFT
      bool "Loft"
      depends on MACH_AVILA
-@@ -208,7 +216,7 @@
+@@ -208,7 +216,7 @@ config CPU_IXP46X
  
  config CPU_IXP43X
  	bool
@@ -26,7 +26,7 @@
  config MACH_GTWX5715
 --- a/arch/arm/mach-ixp4xx/Makefile
 +++ b/arch/arm/mach-ixp4xx/Makefile
-@@ -7,6 +7,7 @@
+@@ -7,6 +7,7 @@ obj-pci-n	:=
  
  obj-pci-$(CONFIG_ARCH_IXDP4XX)		+= ixdp425-pci.o
  obj-pci-$(CONFIG_MACH_AVILA)		+= avila-pci.o
@@ -34,7 +34,7 @@
  obj-pci-$(CONFIG_MACH_IXDPG425)		+= ixdpg425-pci.o
  obj-pci-$(CONFIG_ARCH_ADI_COYOTE)	+= coyote-pci.o
  obj-pci-$(CONFIG_MACH_GTWX5715)		+= gtwx5715-pci.o
-@@ -28,6 +29,7 @@
+@@ -28,6 +29,7 @@ obj-y	+= common.o
  
  obj-$(CONFIG_ARCH_IXDP4XX)	+= ixdp425-setup.o
  obj-$(CONFIG_MACH_AVILA)	+= avila-setup.o
diff --git a/target/linux/ixp4xx/patches-2.6.27/191-cambria_optional_uart.patch b/target/linux/ixp4xx/patches-2.6.27/191-cambria_optional_uart.patch
index 9688767c86..5305417ab9 100644
--- a/target/linux/ixp4xx/patches-2.6.27/191-cambria_optional_uart.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/191-cambria_optional_uart.patch
@@ -8,7 +8,7 @@
  
  struct cambria_board_info {
  	unsigned char	*model;
-@@ -105,6 +106,43 @@
+@@ -105,6 +106,43 @@ static struct platform_device cambria_ua
  	.resource	= &cambria_uart_resource,
  };
  
@@ -52,7 +52,7 @@
  static struct resource cambria_pata_resources[] = {
  	{
  		.flags	= IORESOURCE_MEM
-@@ -287,6 +325,19 @@
+@@ -287,6 +325,19 @@ static void __init cambria_gw23xx_setup(
  #ifdef CONFIG_SENSORS_EEPROM
  static void __init cambria_gw2350_setup(void)
  {
@@ -72,7 +72,7 @@
  	platform_device_register(&cambria_npec_device);
  	platform_device_register(&cambria_npea_device);
  
-@@ -294,10 +345,26 @@
+@@ -294,10 +345,26 @@ static void __init cambria_gw2350_setup(
  	platform_device_register(&cambria_usb1_device);
  
  	platform_device_register(&cambria_gpio_leds_device);
diff --git a/target/linux/ixp4xx/patches-2.6.27/192-cambria_gpio_device.patch b/target/linux/ixp4xx/patches-2.6.27/192-cambria_gpio_device.patch
index 157e1f1698..a9ade59399 100644
--- a/target/linux/ixp4xx/patches-2.6.27/192-cambria_gpio_device.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/192-cambria_gpio_device.patch
@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-ixp4xx/cambria-setup.c
 +++ b/arch/arm/mach-ixp4xx/cambria-setup.c
-@@ -214,6 +214,21 @@
+@@ -214,6 +214,21 @@ static struct platform_device cambria_gp
  	.dev.platform_data = &cambria_gpio_leds_data,
  };
  
@@ -22,7 +22,7 @@
  
  static struct latch_led cambria_latch_leds[] = {
  	{
-@@ -337,6 +352,11 @@
+@@ -337,6 +352,11 @@ static void __init cambria_gw2350_setup(
  	cambria_optional_uart_data[1].membase	= (void __iomem *)ioremap(0x53FF0000, 0x0fff);
  	cambria_optional_uart_data[1].irq		= IRQ_IXP4XX_GPIO4;
  
@@ -34,7 +34,7 @@
  	platform_device_register(&cambria_optional_uart);
  	platform_device_register(&cambria_npec_device);
  	platform_device_register(&cambria_npea_device);
-@@ -363,6 +383,10 @@
+@@ -363,6 +383,10 @@ static void __init cambria_gw2358_setup(
  	cambria_optional_uart_data[1].membase	= (void __iomem *)ioremap(0x53F80000, 0x0fff);
  	cambria_optional_uart_data[1].irq		= IRQ_IXP4XX_GPIO4;
  
diff --git a/target/linux/ixp4xx/patches-2.6.27/201-npe_driver_print_license_location.patch b/target/linux/ixp4xx/patches-2.6.27/201-npe_driver_print_license_location.patch
index a4c031aca1..64c1798457 100644
--- a/target/linux/ixp4xx/patches-2.6.27/201-npe_driver_print_license_location.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/201-npe_driver_print_license_location.patch
@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-ixp4xx/ixp4xx_npe.c
 +++ b/arch/arm/mach-ixp4xx/ixp4xx_npe.c
-@@ -592,6 +592,8 @@
+@@ -592,6 +592,8 @@ int npe_load_firmware(struct npe *npe, c
  	npe_reset(npe);
  #endif
  
diff --git a/target/linux/ixp4xx/patches-2.6.27/202-npe_driver_switch_support.patch b/target/linux/ixp4xx/patches-2.6.27/202-npe_driver_switch_support.patch
index 544b76e78f..a256c97d66 100644
--- a/target/linux/ixp4xx/patches-2.6.27/202-npe_driver_switch_support.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/202-npe_driver_switch_support.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/arm/ixp4xx_eth.c
 +++ b/drivers/net/arm/ixp4xx_eth.c
-@@ -165,14 +165,15 @@
+@@ -165,14 +165,15 @@ struct port {
  	struct net_device *netdev;
  	struct napi_struct napi;
  	struct net_device_stats stat;
@@ -18,7 +18,7 @@
  };
  
  /* NPE message structure */
-@@ -316,12 +317,13 @@
+@@ -316,12 +317,13 @@ static void mdio_write(struct net_device
  	spin_unlock_irqrestore(&mdio_lock, flags);
  }
  
@@ -34,7 +34,7 @@
  
  	while (cycles < MAX_MII_RESET_RETRIES) {
  		if (!(mdio_read(dev, phy_id, MII_BMCR) & BMCR_RESET)) {
-@@ -335,12 +337,12 @@
+@@ -335,12 +337,12 @@ static void phy_reset(struct net_device 
  		cycles++;
  	}
  
@@ -50,7 +50,7 @@
  		__raw_writel(DEFAULT_TX_CNTRL0 & ~TX_CNTRL0_HALFDUPLEX,
  			     &port->regs->tx_control[0]);
  	else
-@@ -348,7 +350,7 @@
+@@ -348,7 +350,7 @@ static void eth_set_duplex(struct port *
  			     &port->regs->tx_control[0]);
  }
  
@@ -59,7 +59,7 @@
  static void phy_check_media(struct port *port, int init)
  {
  	if (mii_check_media(&port->mii, 1, init))
-@@ -367,7 +369,63 @@
+@@ -367,7 +369,63 @@ static void phy_check_media(struct port 
  		}
  	}
  }
@@ -123,7 +123,7 @@
  
  static void mdio_thread(struct work_struct *work)
  {
-@@ -791,9 +849,12 @@
+@@ -791,9 +849,12 @@ static int eth_ioctl(struct net_device *
  
  	if (!netif_running(dev))
  		return -EINVAL;
@@ -138,7 +138,7 @@
  	return err;
  }
  
-@@ -946,7 +1007,8 @@
+@@ -946,7 +1007,8 @@ static int eth_open(struct net_device *d
  		}
  	}
  
@@ -148,7 +148,7 @@
  
  	memset(&msg, 0, sizeof(msg));
  	msg.cmd = NPE_VLAN_SETRXQOSENTRY;
-@@ -1106,10 +1168,8 @@
+@@ -1106,10 +1168,8 @@ static int eth_close(struct net_device *
  		printk(KERN_CRIT "%s: unable to disable loopback\n",
  		       dev->name);
  
@@ -161,7 +161,7 @@
  
  	if (!ports_open)
  		qmgr_disable_irq(TXDONE_QUEUE);
-@@ -1119,6 +1179,42 @@
+@@ -1119,6 +1179,42 @@ static int eth_close(struct net_device *
  	return 0;
  }
  
@@ -204,7 +204,7 @@
  static int __devinit eth_init_one(struct platform_device *pdev)
  {
  	struct port *port;
-@@ -1191,20 +1287,7 @@
+@@ -1191,20 +1287,7 @@ static int __devinit eth_init_one(struct
  	__raw_writel(DEFAULT_CORE_CNTRL, &port->regs->core_control);
  	udelay(50);
  
@@ -228,7 +228,7 @@
  	return 0;
 --- a/arch/arm/mach-ixp4xx/include/mach/platform.h
 +++ b/arch/arm/mach-ixp4xx/include/mach/platform.h
-@@ -95,12 +95,15 @@
+@@ -95,12 +95,15 @@ struct sys_timer;
  #define IXP4XX_ETH_NPEB		0x10
  #define IXP4XX_ETH_NPEC		0x20
  
diff --git a/target/linux/ixp4xx/patches-2.6.27/203-npe_driver_phy_reset_autoneg.patch b/target/linux/ixp4xx/patches-2.6.27/203-npe_driver_phy_reset_autoneg.patch
index 699763f518..b6519f0343 100644
--- a/target/linux/ixp4xx/patches-2.6.27/203-npe_driver_phy_reset_autoneg.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/203-npe_driver_phy_reset_autoneg.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/arm/ixp4xx_eth.c
 +++ b/drivers/net/arm/ixp4xx_eth.c
-@@ -322,8 +322,12 @@
+@@ -322,8 +322,12 @@ static void phy_reset(struct net_device 
  	struct port *port = netdev_priv(dev);
  	int phy_id = port->mii[idx].phy_id;
  	int cycles = 0;
@@ -14,7 +14,7 @@
  
  	while (cycles < MAX_MII_RESET_RETRIES) {
  		if (!(mdio_read(dev, phy_id, MII_BMCR) & BMCR_RESET)) {
-@@ -331,13 +335,23 @@
+@@ -331,13 +335,23 @@ static void phy_reset(struct net_device 
  			printk(KERN_DEBUG "%s: phy_reset() took %i cycles\n",
  			       dev->name, cycles);
  #endif
diff --git a/target/linux/ixp4xx/patches-2.6.27/204-npe_driver_ixp43x_support.patch b/target/linux/ixp4xx/patches-2.6.27/204-npe_driver_ixp43x_support.patch
index 854830e00d..516349f108 100644
--- a/target/linux/ixp4xx/patches-2.6.27/204-npe_driver_ixp43x_support.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/204-npe_driver_ixp43x_support.patch
@@ -12,7 +12,7 @@ Subject: [PATCH] Add support for the ethernet ports on IXP43x
 
 --- a/arch/arm/mach-ixp4xx/ixp4xx_npe.c
 +++ b/arch/arm/mach-ixp4xx/ixp4xx_npe.c
-@@ -575,8 +575,8 @@
+@@ -575,8 +575,8 @@ int npe_load_firmware(struct npe *npe, c
  		for (i = 0; i < image->size; i++)
  			image->data[i] = swab32(image->data[i]);
  
@@ -23,7 +23,7 @@ Subject: [PATCH] Add support for the ethernet ports on IXP43x
  			  "IXP42x\n");
  		goto err;
  	}
-@@ -598,7 +598,7 @@
+@@ -598,7 +598,7 @@ int npe_load_firmware(struct npe *npe, c
  		  "revision 0x%X:%X\n", (image->id >> 16) & 0xFF,
  		  (image->id >> 8) & 0xFF, image->id & 0xFF);
  
@@ -42,7 +42,7 @@ Subject: [PATCH] Add support for the ethernet ports on IXP43x
  #include <mach/npe.h>
  #include <mach/qmgr.h>
  
-@@ -1337,12 +1338,16 @@
+@@ -1337,12 +1338,16 @@ static struct platform_driver drv = {
  
  static int __init eth_init_module(void)
  {
@@ -65,7 +65,7 @@ Subject: [PATCH] Add support for the ethernet ports on IXP43x
  	return platform_driver_register(&drv);
 --- a/arch/arm/mach-ixp4xx/include/mach/cpu.h
 +++ b/arch/arm/mach-ixp4xx/include/mach/cpu.h
-@@ -34,6 +34,8 @@
+@@ -34,6 +34,8 @@ static inline u32 ixp4xx_read_feature_bi
  	val &= ~IXP4XX_FEATURE_RESERVED;
  	if (!cpu_is_ixp46x())
  		val &= ~IXP4XX_FEATURE_IXP46X_ONLY;
diff --git a/target/linux/ixp4xx/patches-2.6.27/210-npe_hss.patch b/target/linux/ixp4xx/patches-2.6.27/210-npe_hss.patch
index c14f4cdc14..49ea5e090f 100644
--- a/target/linux/ixp4xx/patches-2.6.27/210-npe_hss.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/210-npe_hss.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/wan/Kconfig
 +++ b/drivers/net/wan/Kconfig
-@@ -333,6 +333,15 @@
+@@ -333,6 +333,15 @@ config DSCC4_PCI_RST
  
  	  Say Y if your card supports this feature.
  
@@ -18,7 +18,7 @@
  	---help---
 --- a/drivers/net/wan/Makefile
 +++ b/drivers/net/wan/Makefile
-@@ -41,6 +41,7 @@
+@@ -41,6 +41,7 @@ obj-$(CONFIG_C101)		+= c101.o
  obj-$(CONFIG_WANXL)		+= wanxl.o
  obj-$(CONFIG_PCI200SYN)		+= pci200syn.o
  obj-$(CONFIG_PC300TOO)		+= pc300too.o
diff --git a/target/linux/ixp4xx/patches-2.6.27/294-eeprom_new_notifier.patch b/target/linux/ixp4xx/patches-2.6.27/294-eeprom_new_notifier.patch
index 9f4b109610..d11f8f01d4 100644
--- a/target/linux/ixp4xx/patches-2.6.27/294-eeprom_new_notifier.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/294-eeprom_new_notifier.patch
@@ -9,7 +9,7 @@
  
  /* Addresses to scan */
  static const unsigned short normal_i2c[] = { 0x50, 0x51, 0x52, 0x53, 0x54,
-@@ -35,25 +37,7 @@
+@@ -35,25 +37,7 @@ static const unsigned short normal_i2c[]
  /* Insmod parameters */
  I2C_CLIENT_INSMOD_1(eeprom);
  
@@ -36,7 +36,7 @@
  
  static void eeprom_update_client(struct i2c_client *client, u8 slice)
  {
-@@ -178,6 +162,7 @@
+@@ -178,6 +162,7 @@ static int eeprom_probe(struct i2c_clien
  	i2c_set_clientdata(client, data);
  	mutex_init(&data->update_lock);
  	data->nature = UNKNOWN;
@@ -44,7 +44,7 @@
  
  	/* Detect the Vaio nature of EEPROMs.
  	   We use the "PCG-" or "VGN-" prefix as the signature. */
-@@ -202,6 +187,9 @@
+@@ -202,6 +187,9 @@ static int eeprom_probe(struct i2c_clien
  	if (err)
  		goto exit_kfree;
  
@@ -54,7 +54,7 @@
  	return 0;
  
  exit_kfree:
-@@ -236,6 +224,41 @@
+@@ -236,6 +224,41 @@ static struct i2c_driver eeprom_driver =
  	.address_data	= &addr_data,
  };
  
@@ -172,7 +172,7 @@
 +#endif /* _LINUX_EEPROM_H */
 --- a/include/linux/notifier.h
 +++ b/include/linux/notifier.h
-@@ -256,5 +256,8 @@
+@@ -256,5 +256,8 @@ extern struct blocking_notifier_head reb
  #define VT_UPDATE		0x0004 /* A bigger update occurred */
  #define VT_PREWRITE		0x0005 /* A char is about to be written to the console */
  
diff --git a/target/linux/ixp4xx/patches-2.6.27/295-latch_led_driver.patch b/target/linux/ixp4xx/patches-2.6.27/295-latch_led_driver.patch
index 67b659d3de..c1f5059ef2 100644
--- a/target/linux/ixp4xx/patches-2.6.27/295-latch_led_driver.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/295-latch_led_driver.patch
@@ -1,6 +1,6 @@
 --- a/drivers/leds/Kconfig
 +++ b/drivers/leds/Kconfig
-@@ -125,6 +125,12 @@
+@@ -125,6 +125,12 @@ config LEDS_GPIO
  	  outputs. To be useful the particular board must have LEDs
  	  and they must be connected to the GPIO lines.
  
@@ -159,7 +159,7 @@
 +MODULE_LICENSE("GPL");
 --- a/drivers/leds/Makefile
 +++ b/drivers/leds/Makefile
-@@ -19,6 +19,7 @@
+@@ -19,6 +19,7 @@ obj-$(CONFIG_LEDS_COBALT_QUBE)		+= leds-
  obj-$(CONFIG_LEDS_COBALT_RAQ)		+= leds-cobalt-raq.o
  obj-$(CONFIG_LEDS_PCA9532)		+= leds-pca9532.o
  obj-$(CONFIG_LEDS_GPIO)			+= leds-gpio.o
@@ -169,7 +169,7 @@
  obj-$(CONFIG_LEDS_HP6XX)		+= leds-hp6xx.o
 --- a/include/linux/leds.h
 +++ b/include/linux/leds.h
-@@ -148,5 +148,18 @@
+@@ -148,5 +148,18 @@ struct gpio_led_platform_data {
  					unsigned long *delay_off);
  };
  
diff --git a/target/linux/ixp4xx/patches-2.6.27/296-avila_mac_plat_info.patch b/target/linux/ixp4xx/patches-2.6.27/296-avila_mac_plat_info.patch
index c1c584c612..8ea879fad8 100644
--- a/target/linux/ixp4xx/patches-2.6.27/296-avila_mac_plat_info.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/296-avila_mac_plat_info.patch
@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-ixp4xx/avila-setup.c
 +++ b/arch/arm/mach-ixp4xx/avila-setup.c
-@@ -132,6 +132,31 @@
+@@ -132,6 +132,31 @@ static struct platform_device avila_pata
  	.resource		= avila_pata_resources,
  };
  
@@ -32,7 +32,7 @@
  static struct platform_device *avila_devices[] __initdata = {
  	&avila_i2c_gpio,
  	&avila_flash,
-@@ -159,6 +184,8 @@
+@@ -159,6 +184,8 @@ static void __init avila_init(void)
  
  	platform_device_register(&avila_pata);
  
diff --git a/target/linux/ixp4xx/patches-2.6.27/300-avila_fetch_mac.patch b/target/linux/ixp4xx/patches-2.6.27/300-avila_fetch_mac.patch
index db25efbea6..aef7558dc4 100644
--- a/target/linux/ixp4xx/patches-2.6.27/300-avila_fetch_mac.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/300-avila_fetch_mac.patch
@@ -33,7 +33,7 @@
  static struct flash_platform_data avila_flash_data = {
  	.map_name	= "cfi_probe",
  	.width		= 2,
-@@ -163,10 +178,160 @@
+@@ -163,10 +178,160 @@ static struct platform_device *avila_dev
  	&avila_uart
  };
  
@@ -194,7 +194,7 @@
  	avila_flash_resource.start = IXP4XX_EXP_BUS_BASE(0);
  	avila_flash_resource.end =
  		IXP4XX_EXP_BUS_BASE(0) + ixp4xx_exp_bus_size - 1;
-@@ -184,9 +349,28 @@
+@@ -184,9 +349,28 @@ static void __init avila_init(void)
  
  	platform_device_register(&avila_pata);
  
diff --git a/target/linux/ixp4xx/patches-2.6.27/301-avila_led.patch b/target/linux/ixp4xx/patches-2.6.27/301-avila_led.patch
index 9bedec63ca..44aea4a78a 100644
--- a/target/linux/ixp4xx/patches-2.6.27/301-avila_led.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/301-avila_led.patch
@@ -8,7 +8,7 @@
  #include <linux/i2c-gpio.h>
  
  #include <asm/types.h>
-@@ -172,6 +173,72 @@
+@@ -172,6 +173,72 @@ static struct platform_device avila_npec
  	.dev.platform_data	= &avila_npec_data,
  };
  
@@ -81,7 +81,7 @@
  static struct platform_device *avila_devices[] __initdata = {
  	&avila_i2c_gpio,
  	&avila_flash,
-@@ -182,6 +249,8 @@
+@@ -182,6 +249,8 @@ static void __init avila_gw23xx_setup(vo
  {
  	platform_device_register(&avila_npeb_device);
  	platform_device_register(&avila_npec_device);
@@ -90,7 +90,7 @@
  }
  
  #ifdef CONFIG_SENSORS_EEPROM
-@@ -189,6 +258,8 @@
+@@ -189,6 +258,8 @@ static void __init avila_gw2342_setup(vo
  {
  	platform_device_register(&avila_npeb_device);
  	platform_device_register(&avila_npec_device);
@@ -99,7 +99,7 @@
  }
  
  static void __init avila_gw2345_setup(void)
-@@ -199,22 +270,30 @@
+@@ -199,22 +270,30 @@ static void __init avila_gw2345_setup(vo
  
  	avila_npec_data.phy = 5; /* port 5 of the KS8995 switch */
  	platform_device_register(&avila_npec_device);
@@ -130,7 +130,7 @@
  }
  
  static void __init avila_gw2355_setup(void)
-@@ -225,11 +304,29 @@
+@@ -225,11 +304,29 @@ static void __init avila_gw2355_setup(vo
  
  	avila_npec_data.phy = 16;
  	platform_device_register(&avila_npec_device);
diff --git a/target/linux/ixp4xx/patches-2.6.27/302-avila_gpio_device.patch b/target/linux/ixp4xx/patches-2.6.27/302-avila_gpio_device.patch
index 21bab9c2da..f6bf36f27d 100644
--- a/target/linux/ixp4xx/patches-2.6.27/302-avila_gpio_device.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/302-avila_gpio_device.patch
@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-ixp4xx/avila-setup.c
 +++ b/arch/arm/mach-ixp4xx/avila-setup.c
-@@ -239,10 +239,28 @@
+@@ -239,10 +239,28 @@ static struct platform_device avila_latc
  	.dev.platform_data	= &avila_latch_leds_data,
  };
  
diff --git a/target/linux/ixp4xx/patches-2.6.27/303-avila_gw23x7_phy_quirk.patch b/target/linux/ixp4xx/patches-2.6.27/303-avila_gw23x7_phy_quirk.patch
index 1cf53bad76..f2ee488b90 100644
--- a/target/linux/ixp4xx/patches-2.6.27/303-avila_gw23x7_phy_quirk.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/303-avila_gw23x7_phy_quirk.patch
@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-ixp4xx/avila-setup.c
 +++ b/arch/arm/mach-ixp4xx/avila-setup.c
-@@ -294,6 +294,7 @@
+@@ -294,6 +294,7 @@ static void __init avila_gw2345_setup(vo
  
  static void __init avila_gw2347_setup(void)
  {
@@ -8,7 +8,7 @@
  	platform_device_register(&avila_npeb_device);
  
  	avila_gpio_leds[0].gpio = AVILA_GW23X7_LED_USER_GPIO;
-@@ -338,6 +339,7 @@
+@@ -338,6 +339,7 @@ static void __init avila_gw2355_setup(vo
  
  static void __init avila_gw2357_setup(void)
  {
@@ -18,7 +18,7 @@
  	avila_gpio_leds[0].gpio = AVILA_GW23X7_LED_USER_GPIO;
 --- a/drivers/net/arm/ixp4xx_eth.c
 +++ b/drivers/net/arm/ixp4xx_eth.c
-@@ -348,6 +348,14 @@
+@@ -348,6 +348,14 @@ static void phy_reset(struct net_device 
  		return;
  	}
  
@@ -35,7 +35,7 @@
  	bmcr |= (BMCR_ANENABLE | BMCR_ANRESTART);
 --- a/arch/arm/mach-ixp4xx/include/mach/platform.h
 +++ b/arch/arm/mach-ixp4xx/include/mach/platform.h
-@@ -104,6 +104,8 @@
+@@ -104,6 +104,8 @@ struct eth_plat_info {
  	u8 txreadyq;
  	u8 hwaddr[6];
  	u32 phy_mask;
diff --git a/target/linux/ixp4xx/patches-2.6.27/310-gtwx5717_spi_bus.patch b/target/linux/ixp4xx/patches-2.6.27/310-gtwx5717_spi_bus.patch
index 688085291c..550b54fd33 100644
--- a/target/linux/ixp4xx/patches-2.6.27/310-gtwx5717_spi_bus.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/310-gtwx5717_spi_bus.patch
@@ -9,7 +9,7 @@
  #include <asm/types.h>
  #include <asm/setup.h>
  #include <asm/memory.h>
-@@ -121,9 +123,41 @@
+@@ -121,9 +123,41 @@ static struct platform_device gtwx5715_f
  	.resource	= &gtwx5715_flash_resource,
  };
  
diff --git a/target/linux/ixp4xx/patches-2.6.27/311-gtwx5717_mac_plat_info.patch b/target/linux/ixp4xx/patches-2.6.27/311-gtwx5717_mac_plat_info.patch
index 90f750e7a9..29f329017e 100644
--- a/target/linux/ixp4xx/patches-2.6.27/311-gtwx5717_mac_plat_info.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/311-gtwx5717_mac_plat_info.patch
@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-ixp4xx/gtwx5715-setup.c
 +++ b/arch/arm/mach-ixp4xx/gtwx5715-setup.c
-@@ -154,10 +154,37 @@
+@@ -154,10 +154,37 @@ static struct platform_device gtwx5715_s
  	},
  };
  
diff --git a/target/linux/ixp4xx/patches-2.6.27/312-ixp4xx_pata_optimization.patch b/target/linux/ixp4xx/patches-2.6.27/312-ixp4xx_pata_optimization.patch
index 86a1cea9e2..d6489a7fb8 100644
--- a/target/linux/ixp4xx/patches-2.6.27/312-ixp4xx_pata_optimization.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/312-ixp4xx_pata_optimization.patch
@@ -63,7 +63,7 @@
  			dev->xfer_shift = ATA_SHIFT_PIO;
  			dev->flags |= ATA_DFLAG_PIO;
  		}
-@@ -48,6 +89,7 @@
+@@ -48,6 +89,7 @@ static unsigned int ixp4xx_mmio_data_xfe
  	unsigned int i;
  	unsigned int words = buflen >> 1;
  	u16 *buf16 = (u16 *) buf;
@@ -71,7 +71,7 @@
  	struct ata_port *ap = dev->link->ap;
  	void __iomem *mmio = ap->ioaddr.data_addr;
  	struct ixp4xx_pata_data *data = ap->host->dev->platform_data;
-@@ -55,8 +97,34 @@
+@@ -55,8 +97,34 @@ static unsigned int ixp4xx_mmio_data_xfe
  	/* set the expansion bus in 16bit mode and restore
  	 * 8 bit mode after the transaction.
  	 */
@@ -108,7 +108,7 @@
  
  	/* Transfer multiple of 2 bytes */
  	if (rw == READ)
-@@ -81,8 +149,24 @@
+@@ -81,8 +149,24 @@ static unsigned int ixp4xx_mmio_data_xfe
  		words++;
  	}
  
diff --git a/target/linux/ixp4xx/patches-2.6.27/400-dmabounce.patch b/target/linux/ixp4xx/patches-2.6.27/400-dmabounce.patch
index 8d2b4c7a73..2fc1890c89 100644
--- a/target/linux/ixp4xx/patches-2.6.27/400-dmabounce.patch
+++ b/target/linux/ixp4xx/patches-2.6.27/400-dmabounce.patch
@@ -1,6 +1,6 @@
 --- a/arch/arm/common/dmabounce.c
 +++ b/arch/arm/common/dmabounce.c
-@@ -117,6 +117,10 @@
+@@ -117,6 +117,10 @@ alloc_safe_buffer(struct dmabounce_devic
  	} else if (size <= device_info->large.size) {
  		pool = &device_info->large;
  	} else {
@@ -13,7 +13,7 @@
  
 --- a/arch/arm/mach-ixp4xx/Kconfig
 +++ b/arch/arm/mach-ixp4xx/Kconfig
-@@ -244,6 +244,11 @@
+@@ -244,6 +244,11 @@ config DMABOUNCE
  	default y
  	depends on PCI
  
-- 
2.30.2