diff --git a/target/linux/ixp4xx/patches-2.6.26/120-compex_support.patch b/target/linux/ixp4xx/patches-2.6.26/120-compex_support.patch
index 0076db28995a25397c4482525d41be116befe786..f53ad82334418a7c4d2a6d8764bfdb780f7bc846 100644
--- a/target/linux/ixp4xx/patches-2.6.26/120-compex_support.patch
+++ b/target/linux/ixp4xx/patches-2.6.26/120-compex_support.patch
@@ -1,3 +1,18 @@
+From 24025a2dcf1248079dd3019fac6ed955252d277f Mon Sep 17 00:00:00 2001
+From: Imre Kaloz <kaloz@openwrt.org>
+Date: Mon, 14 Jul 2008 21:56:34 +0200
+Subject: [PATCH] Add support for the Compex WP18 / NP18A boards
+
+Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
+---
+ arch/arm/mach-ixp4xx/Kconfig        |    8 ++
+ arch/arm/mach-ixp4xx/Makefile       |    2 +
+ arch/arm/mach-ixp4xx/compex-setup.c |  136 +++++++++++++++++++++++++++++++++++
+ arch/arm/mach-ixp4xx/ixdp425-pci.c  |    3 +-
+ arch/arm/tools/mach-types           |    2 +-
+ 5 files changed, 149 insertions(+), 2 deletions(-)
+ create mode 100644 arch/arm/mach-ixp4xx/compex-setup.c
+
 --- a/arch/arm/mach-ixp4xx/Kconfig
 +++ b/arch/arm/mach-ixp4xx/Kconfig
 @@ -89,6 +89,14 @@
@@ -10,7 +25,7 @@
 +	help
 +	  Say 'Y' here if you want your kernel to support Compex' 
 +	  WP18 or NP18A boards. For more information on this
-+	  platform, see http://openwrt.org
++	  platform, see http://www.compex.com.sg/home/OEM/product_ap.htm
 +
  config ARCH_IXDP425
  	bool "IXDP425"
@@ -35,34 +50,25 @@
  obj-$(CONFIG_IXP4XX_QMGR)	+= ixp4xx_qmgr.o
 --- /dev/null
 +++ b/arch/arm/mach-ixp4xx/compex-setup.c
-@@ -0,0 +1,120 @@
+@@ -0,0 +1,136 @@
 +/*
 + * arch/arm/mach-ixp4xx/compex-setup.c
 + *
-+ * Ccompex WP18 / NP18A board-setup
++ * Compex WP18 / NP18A board-setup
 + *
-+ * Copyright (C) 2007 Imre Kaloz <Kaloz@openwrt.org>
++ * Copyright (C) 2008 Imre Kaloz <Kaloz@openwrt.org>
 + *
-+ * based on ixdp425-setup.c:
++ * based on coyote-setup.c:
 + *	Copyright (C) 2003-2005 MontaVista Software, Inc.
 + *
 + * Author: Imre Kaloz <Kaloz@openwrt.org>
 + */
 +
 +#include <linux/kernel.h>
-+#include <linux/init.h>
-+#include <linux/device.h>
 +#include <linux/serial.h>
-+#include <linux/tty.h>
 +#include <linux/serial_8250.h>
-+#include <linux/slab.h>
 +
-+#include <asm/types.h>
-+#include <asm/setup.h>
-+#include <asm/memory.h>
-+#include <asm/hardware.h>
 +#include <asm/mach-types.h>
-+#include <asm/irq.h>
 +#include <asm/mach/arch.h>
 +#include <asm/mach/flash.h>
 +
@@ -128,9 +134,36 @@
 +	.resource		= compex_uart_resources,
 +};
 +
++static struct eth_plat_info compex_plat_eth[] = {
++	{
++		.phy		= IXP4XX_ETH_PHY_MAX_ADDR,
++		.phy_mask	= 0xf0000,
++		.rxq		= 3,
++		.txreadyq	= 20,
++	}, {
++		.phy		= 3,
++		.rxq		= 4,
++		.txreadyq	= 21,
++	}
++};
++
++static struct platform_device compex_eth[] = {
++	{
++		.name			= "ixp4xx_eth",
++		.id			= IXP4XX_ETH_NPEB,
++		.dev.platform_data	= compex_plat_eth,
++	}, {
++		.name			= "ixp4xx_eth",
++		.id			= IXP4XX_ETH_NPEC,
++		.dev.platform_data	= compex_plat_eth + 1,
++	}
++};
++
 +static struct platform_device *compex_devices[] __initdata = {
 +	&compex_flash,
-+	&compex_uart
++	&compex_uart,
++	&compex_eth[0],
++	&compex_eth[1],
 +};
 +
 +static void __init compex_init(void)
@@ -144,7 +177,6 @@
 +	platform_add_devices(compex_devices, ARRAY_SIZE(compex_devices));
 +}
 +
-+#ifdef CONFIG_MACH_COMPEX
 +MACHINE_START(COMPEX, "Compex WP18 / NP18A")
 +	/* Maintainer: Imre Kaloz <Kaloz@openwrt.org> */
 +	.phys_io	= IXP4XX_PERIPHERAL_BASE_PHYS,
@@ -155,15 +187,15 @@
 +	.boot_params	= 0x0100,
 +	.init_machine	= compex_init,
 +MACHINE_END
-+#endif
 --- a/arch/arm/mach-ixp4xx/ixdp425-pci.c
 +++ b/arch/arm/mach-ixp4xx/ixdp425-pci.c
-@@ -66,7 +66,7 @@
+@@ -66,7 +66,8 @@
  int __init ixdp425_pci_init(void)
  {
  	if (machine_is_ixdp425() || machine_is_ixcdp1100() ||
 -			machine_is_ixdp465() || machine_is_kixrp435())
-+			machine_is_ixdp465() || machine_is_kixrp435() || machine_is_compex())
++			machine_is_ixdp465() || machine_is_kixrp435() ||
++			machine_is_compex())
  		pci_common_init(&ixdp425_pci);
  	return 0;
  }
diff --git a/target/linux/ixp4xx/patches-2.6.26/121-compex_mac_plat_info.patch b/target/linux/ixp4xx/patches-2.6.26/121-compex_mac_plat_info.patch
deleted file mode 100644
index fb71edc14699066a8f6d5b539b6db0a3709098f5..0000000000000000000000000000000000000000
--- a/target/linux/ixp4xx/patches-2.6.26/121-compex_mac_plat_info.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- a/arch/arm/mach-ixp4xx/compex-setup.c
-+++ b/arch/arm/mach-ixp4xx/compex-setup.c
-@@ -90,9 +90,36 @@
- 	.resource		= compex_uart_resources,
- };
- 
-+/* Built-in 10/100 Ethernet MAC interfaces */
-+static struct eth_plat_info compex_plat_eth[] = {
-+	{
-+		.phy		= -1,
-+		.rxq		= 3,
-+		.txreadyq	= 20,
-+	}, {
-+		.phy		= 3,
-+		.rxq		= 4,
-+		.txreadyq	= 21,
-+	}
-+};
-+
-+static struct platform_device compex_eth[] = {
-+	{
-+		.name			= "ixp4xx_eth",
-+		.id			= IXP4XX_ETH_NPEB,
-+		.dev.platform_data	= compex_plat_eth,
-+	}, {
-+		.name			= "ixp4xx_eth",
-+		.id			= IXP4XX_ETH_NPEC,
-+		.dev.platform_data	= compex_plat_eth + 1,
-+	}
-+};
-+
- static struct platform_device *compex_devices[] __initdata = {
- 	&compex_flash,
--	&compex_uart
-+	&compex_uart,
-+	&compex_eth[0],
-+	&compex_eth[1],
- };
- 
- static void __init compex_init(void)
diff --git a/target/linux/ixp4xx/patches-2.6.26/130-wrt300nv2_support.patch b/target/linux/ixp4xx/patches-2.6.26/130-wrt300nv2_support.patch
index 4b2693355fdd936a243c807888ff0e199694a3cb..713986dc59aeaba127d74cd85cf4afbd8922e0b1 100644
--- a/target/linux/ixp4xx/patches-2.6.26/130-wrt300nv2_support.patch
+++ b/target/linux/ixp4xx/patches-2.6.26/130-wrt300nv2_support.patch
@@ -2,7 +2,7 @@
 +++ b/arch/arm/mach-ixp4xx/Kconfig
 @@ -97,6 +97,14 @@
  	  WP18 or NP18A boards. For more information on this
- 	  platform, see http://openwrt.org
+ 	  platform, see http://www.compex.com.sg/home/OEM/product_ap.htm
  
 +config MACH_WRT300NV2
 +	bool "Linksys WRT300N v2"
diff --git a/target/linux/ixp4xx/patches-2.6.26/150-lanready_ap1000_support.patch b/target/linux/ixp4xx/patches-2.6.26/150-lanready_ap1000_support.patch
index 564a56b93e48762e02e1edcbb1028c93aafcd2c8..16f6f012eb6b9e29a068bb27abb831dc26c0e897 100644
--- a/target/linux/ixp4xx/patches-2.6.26/150-lanready_ap1000_support.patch
+++ b/target/linux/ixp4xx/patches-2.6.26/150-lanready_ap1000_support.patch
@@ -154,12 +154,11 @@
 +#endif
 --- a/arch/arm/mach-ixp4xx/ixdp425-pci.c
 +++ b/arch/arm/mach-ixp4xx/ixdp425-pci.c
-@@ -66,7 +66,8 @@
- int __init ixdp425_pci_init(void)
+@@ -67,7 +67,7 @@
  {
  	if (machine_is_ixdp425() || machine_is_ixcdp1100() ||
--			machine_is_ixdp465() || machine_is_kixrp435() || machine_is_compex())
-+			machine_is_ixdp465() || machine_is_kixrp435() ||
+ 			machine_is_ixdp465() || machine_is_kixrp435() ||
+-			machine_is_compex())
 +			machine_is_compex() || machine_is_ap1000())
  		pci_common_init(&ixdp425_pci);
  	return 0;