diff --git a/target/linux/ppc40x/Makefile b/target/linux/ppc40x/Makefile
index 7bb62af19ec445ebf267c3c5dc75f79d87f07753..fc85b03c2940bdf5e81ae6c859da1e3c33073ef5 100644
--- a/target/linux/ppc40x/Makefile
+++ b/target/linux/ppc40x/Makefile
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2008-2011 OpenWrt.org
+# Copyright (C) 2008-2015 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -13,7 +13,7 @@ FEATURES:=squashfs broken
 CPU_TYPE:=405
 MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
 
-KERNEL_PATCHVER:=3.10
+KERNEL_PATCHVER:=3.18
 
 include $(INCLUDE_DIR)/target.mk
 
diff --git a/target/linux/ppc40x/config-3.10 b/target/linux/ppc40x/config-3.18
similarity index 86%
rename from target/linux/ppc40x/config-3.10
rename to target/linux/ppc40x/config-3.18
index 623d2d0424a67ba208171a91da31f3d273ecdc22..bf59bf132f853e5788623b405f42f46ed799649a 100644
--- a/target/linux/ppc40x/config-3.10
+++ b/target/linux/ppc40x/config-3.18
@@ -1,4 +1,3 @@
-CONFIG_405EP=y
 CONFIG_405EX=y
 CONFIG_40x=y
 # CONFIG_44x is not set
@@ -10,15 +9,19 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
 CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
 CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
 CONFIG_ARCH_HAS_ILOG2_U32=y
+CONFIG_ARCH_HAS_SG_CHAIN=y
 CONFIG_ARCH_HAS_WALK_MEMORY=y
 CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
 CONFIG_ARCH_HIBERNATION_POSSIBLE=y
 CONFIG_ARCH_MAY_HAVE_PC_FDC=y
-# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
+CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
+CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
+# CONFIG_ARCH_RANDOM is not set
+CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
 CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
-CONFIG_ARCH_SUPPORTS_MSI=y
 CONFIG_ARCH_SUPPORTS_UPROBES=y
 CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_ARCH_USE_BUILTIN_BSWAP=y
 CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
 CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
 CONFIG_AUDIT_ARCH=y
@@ -28,8 +31,9 @@ CONFIG_CLONE_BACKWARDS=y
 CONFIG_CMDLINE="console=ttyS0,115200 rootfstype=squashfs,jffs2 noinitrd"
 CONFIG_CMDLINE_BOOL=y
 CONFIG_CONSISTENT_SIZE=0x00200000
+CONFIG_CPU_BIG_ENDIAN=y
+# CONFIG_CPU_LITTLE_ENDIAN is not set
 # CONFIG_CRYPTO_SHA1_PPC is not set
-CONFIG_DECOMPRESS_LZMA=y
 # CONFIG_DEFAULT_UIMAGE is not set
 CONFIG_DTC=y
 # CONFIG_E200 is not set
@@ -43,7 +47,7 @@ CONFIG_GENERIC_BUG=y
 CONFIG_GENERIC_CLOCKEVENTS=y
 CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
 CONFIG_GENERIC_CMOS_UPDATE=y
-CONFIG_GENERIC_GPIO=y
+# CONFIG_GENERIC_CSUM is not set
 CONFIG_GENERIC_IO=y
 CONFIG_GENERIC_IRQ_SHOW=y
 CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
@@ -58,15 +62,20 @@ CONFIG_GENERIC_TIME_VSYSCALL_OLD=y
 # CONFIG_GEN_RTC is not set
 # CONFIG_GE_FPGA is not set
 CONFIG_GPIOLIB=y
+CONFIG_GPIO_DEVRES=y
 CONFIG_GPIO_SYSFS=y
 CONFIG_HAS_DMA=y
 CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
+CONFIG_HAS_IOPORT_MAP=y
 # CONFIG_HAS_RAPIDIO is not set
+# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
+CONFIG_HAVE_ARCH_AUDITSYSCALL=y
 CONFIG_HAVE_ARCH_JUMP_LABEL=y
 CONFIG_HAVE_ARCH_KGDB=y
 CONFIG_HAVE_ARCH_TRACEHOOK=y
+# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
 CONFIG_HAVE_DEBUG_KMEMLEAK=y
+CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
 CONFIG_HAVE_DMA_API_DEBUG=y
 CONFIG_HAVE_DMA_ATTRS=y
 CONFIG_HAVE_DYNAMIC_FTRACE=y
@@ -75,10 +84,9 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
 CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
 CONFIG_HAVE_FUNCTION_TRACER=y
 # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
-CONFIG_HAVE_GENERIC_HARDIRQS=y
 CONFIG_HAVE_IDE=y
 CONFIG_HAVE_IOREMAP_PROT=y
-CONFIG_HAVE_IRQ_WORK=y
+CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
 CONFIG_HAVE_LATENCYTOP_SUPPORT=y
 CONFIG_HAVE_MEMBLOCK=y
 CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
@@ -94,6 +102,7 @@ CONFIG_HW_RANDOM=y
 CONFIG_HZ=250
 # CONFIG_HZ_100 is not set
 CONFIG_HZ_250=y
+CONFIG_HZ_PERIODIC=y
 CONFIG_IBM_EMAC=y
 CONFIG_IBM_EMAC_EMAC4=y
 CONFIG_IBM_EMAC_POLL_WEIGHT=32
@@ -105,16 +114,18 @@ CONFIG_IBM_EMAC_TXB=256
 CONFIG_INITRAMFS_SOURCE=""
 # CONFIG_IOMMU_HELPER is not set
 # CONFIG_IPIC is not set
+CONFIG_IRQCHIP=y
 CONFIG_IRQ_DOMAIN=y
 CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_IRQ_WORK=y
 CONFIG_ISA_DMA_API=y
 CONFIG_KERNEL_START=0xc0000000
 CONFIG_KILAUEA=y
+CONFIG_LIBFDT=y
 CONFIG_LOWMEM_SIZE=0x30000000
 CONFIG_MAGICBOX=y
 # CONFIG_MAKALU is not set
 # CONFIG_MATH_EMULATION is not set
-CONFIG_MAX_ACTIVE_REGIONS=32
 # CONFIG_MMIO_NVRAM is not set
 CONFIG_MODULES_USE_ELF_RELA=y
 # CONFIG_MPIC is not set
@@ -123,8 +134,8 @@ CONFIG_MODULES_USE_ELF_RELA=y
 CONFIG_MTD_CFI_ADV_OPTIONS=y
 # CONFIG_MTD_CFI_GEOMETRY is not set
 # CONFIG_MTD_CFI_INTELEXT is not set
-CONFIG_MTD_OF_PARTS=y
-CONFIG_MTD_PHYSMAP_OF=y
+CONFIG_MTD_SPLIT_FIRMWARE=y
+CONFIG_MTD_SPLIT_UIMAGE_FW=y
 CONFIG_NEED_DMA_MAP_STATE=y
 # CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
 CONFIG_NEED_PER_CPU_KM=y
@@ -134,7 +145,7 @@ CONFIG_NOT_COHERENT_CACHE=y
 CONFIG_NR_IRQS=512
 CONFIG_OF=y
 CONFIG_OF_ADDRESS=y
-CONFIG_OF_DEVICE=y
+CONFIG_OF_ADDRESS_PCI=y
 CONFIG_OF_EARLY_FLATTREE=y
 CONFIG_OF_FLATTREE=y
 CONFIG_OF_GPIO=y
@@ -143,6 +154,9 @@ CONFIG_OF_MTD=y
 CONFIG_OF_NET=y
 CONFIG_OF_PCI=y
 CONFIG_OF_PCI_IRQ=y
+CONFIG_OF_RESERVED_MEM=y
+CONFIG_OLD_SIGACTION=y
+CONFIG_OLD_SIGSUSPEND=y
 CONFIG_OPENRB=y
 CONFIG_PAGEFLAGS_EXTENDED=y
 CONFIG_PAGE_OFFSET=0xc0000000
@@ -152,12 +166,11 @@ CONFIG_PCIEPORTBUS=y
 CONFIG_PCI_DISABLE_COMMON_QUIRKS=y
 CONFIG_PCI_DOMAINS=y
 CONFIG_PCI_MSI=y
-CONFIG_PERCPU_RWSEM=y
 CONFIG_PHYSICAL_START=0x00000000
-CONFIG_POWERNV_MSI=y
 CONFIG_PPC=y
 CONFIG_PPC32=y
 CONFIG_PPC40x_SIMPLE=y
+# CONFIG_PPC4xx_HSTA_MSI is not set
 CONFIG_PPC4xx_MSI=y
 # CONFIG_PPC4xx_OCM is not set
 CONFIG_PPC4xx_PCI_EXPRESS=y
@@ -172,10 +185,11 @@ CONFIG_PPC_ADV_DEBUG_REGS=y
 # CONFIG_PPC_BOOK3S_32 is not set
 # CONFIG_PPC_CELL is not set
 # CONFIG_PPC_CELL_NATIVE is not set
-# CONFIG_PPC_CLOCK is not set
+# CONFIG_PPC_COPRO_BASE is not set
 CONFIG_PPC_DCR=y
 # CONFIG_PPC_DCR_MMIO is not set
 CONFIG_PPC_DCR_NATIVE=y
+# CONFIG_PPC_DOORBELL is not set
 # CONFIG_PPC_EARLY_DEBUG is not set
 # CONFIG_PPC_EPAPR_HV_PIC is not set
 # CONFIG_PPC_I8259 is not set
@@ -193,11 +207,11 @@ CONFIG_PPC_PCI_CHOICE=y
 # CONFIG_PPC_RTAS is not set
 CONFIG_PPC_UDBG_16550=y
 CONFIG_PPC_WERROR=y
-# CONFIG_PPC_WSP is not set
 # CONFIG_PPC_XICS is not set
 # CONFIG_PQ2ADS is not set
 # CONFIG_PREEMPT_RCU is not set
-CONFIG_PROC_DEVICETREE=y
+CONFIG_RAS=y
+# CONFIG_RCU_STALL_COMMON is not set
 CONFIG_RWSEM_XCHGADD_ALGORITHM=y
 CONFIG_SCHED_HRTICK=y
 # CONFIG_SCSI_DMA is not set
@@ -212,17 +226,7 @@ CONFIG_SPARSE_IRQ=y
 CONFIG_SYSCTL_EXCEPTION_TRACE=y
 CONFIG_TASK_SIZE=0xc0000000
 CONFIG_TICK_CPU_ACCOUNTING=y
-CONFIG_UIDGID_CONVERTED=y
-CONFIG_USB_ARCH_HAS_XHCI=y
-# CONFIG_USB_EHCI_HCD is not set
-CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y
-CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y
-CONFIG_USB_OHCI_HCD_PCI=y
-# CONFIG_USB_OHCI_HCD_PLATFORM is not set
-CONFIG_USB_OHCI_HCD_PPC_OF=y
-CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
 CONFIG_USB_SUPPORT=y
-# CONFIG_USB_UHCI_HCD is not set
 # CONFIG_WALNUT is not set
 CONFIG_WORD_SIZE=32
 # CONFIG_XILINX_SYSACE is not set
diff --git a/target/linux/ppc40x/image/Makefile b/target/linux/ppc40x/image/Makefile
index 3a955e7bb3c8e8101aa5d162566cb536df635f59..40707742966a09b72b6f6b16704914ce59c79c0d 100644
--- a/target/linux/ppc40x/image/Makefile
+++ b/target/linux/ppc40x/image/Makefile
@@ -53,7 +53,7 @@ define Image/Build/squashfs
 		dd if=$(KDIR)/root.$(1) bs=128k conv=sync; \
 	) > $(BIN_DIR)/$(IMG_PREFIX)-kilauea-$(1).img
 	( \
-		dd if=$(KDIR)/cuImage.magicbox bs=1408k conv=sync; \
+		dd if=$(KDIR)/cuImage.magicbox bs=64k conv=sync; \
 		dd if=$(KDIR)/root.$(1) bs=64k conv=sync; \
 	) > $(BIN_DIR)/$(IMG_PREFIX)-magicbox-$(1).img
 	( \
diff --git a/target/linux/ppc40x/patches-3.10/003-powerpc-add-EBC_BXCR-defines.patch b/target/linux/ppc40x/patches-3.18/003-powerpc-add-EBC_BXCR-defines.patch
similarity index 90%
rename from target/linux/ppc40x/patches-3.10/003-powerpc-add-EBC_BXCR-defines.patch
rename to target/linux/ppc40x/patches-3.18/003-powerpc-add-EBC_BXCR-defines.patch
index 660b8bcd4949712134fa754f76fd91ea82be7ef9..5c7329ddee76a7152d10eabe0c9e9677aa8cebb1 100644
--- a/target/linux/ppc40x/patches-3.10/003-powerpc-add-EBC_BXCR-defines.patch
+++ b/target/linux/ppc40x/patches-3.18/003-powerpc-add-EBC_BXCR-defines.patch
@@ -1,6 +1,6 @@
 --- a/arch/powerpc/boot/dcr.h
 +++ b/arch/powerpc/boot/dcr.h
-@@ -55,6 +55,14 @@ static const unsigned long sdram_bxcr[]
+@@ -59,6 +59,14 @@ static const unsigned long sdram_bxcr[]
  #define   EBC_BXCR(n)					  (n)
  #define	    EBC_BXCR_BAS				    0xfff00000
  #define	    EBC_BXCR_BS				  	    0x000e0000
@@ -15,7 +15,7 @@
  #define	    EBC_BXCR_BANK_SIZE(reg) \
  	(0x100000 << (((reg) & EBC_BXCR_BS) >> 17))
  #define	    EBC_BXCR_BU				  	    0x00018000
-@@ -63,6 +71,9 @@ static const unsigned long sdram_bxcr[]
+@@ -67,6 +75,9 @@ static const unsigned long sdram_bxcr[]
  #define	      EBC_BXCR_BU_WO			  	      0x00010000
  #define	      EBC_BXCR_BU_RW			  	      0x00018000
  #define	    EBC_BXCR_BW				  	    0x00006000
diff --git a/target/linux/ppc40x/patches-3.10/004-magicbox.patch b/target/linux/ppc40x/patches-3.18/004-magicbox.patch
similarity index 98%
rename from target/linux/ppc40x/patches-3.10/004-magicbox.patch
rename to target/linux/ppc40x/patches-3.18/004-magicbox.patch
index 284fec90ad129b52cac93d3159c1186cd16fc64b..48f5912e490782e6e8007bc205c07f5a6fabf135 100644
--- a/target/linux/ppc40x/patches-3.10/004-magicbox.patch
+++ b/target/linux/ppc40x/patches-3.18/004-magicbox.patch
@@ -389,7 +389,7 @@
 +};
 --- a/arch/powerpc/boot/Makefile
 +++ b/arch/powerpc/boot/Makefile
-@@ -43,6 +43,7 @@ $(obj)/cuboot-hotfoot.o: BOOTCFLAGS += -
+@@ -50,6 +50,7 @@ $(obj)/cuboot-hotfoot.o: BOOTCFLAGS += -
  $(obj)/cuboot-taishan.o: BOOTCFLAGS += -mcpu=440
  $(obj)/cuboot-katmai.o: BOOTCFLAGS += -mcpu=440
  $(obj)/cuboot-acadia.o: BOOTCFLAGS += -mcpu=405
@@ -397,7 +397,7 @@
  $(obj)/treeboot-walnut.o: BOOTCFLAGS += -mcpu=405
  $(obj)/treeboot-iss4xx.o: BOOTCFLAGS += -mcpu=405
  $(obj)/treeboot-currituck.o: BOOTCFLAGS += -mcpu=405
-@@ -78,7 +79,8 @@ src-plat-y := of.c
+@@ -86,7 +87,8 @@ src-plat-y := of.c epapr.c
  src-plat-$(CONFIG_40x) += fixed-head.S ep405.c cuboot-hotfoot.c \
  				treeboot-walnut.c cuboot-acadia.c \
  				cuboot-kilauea.c simpleboot.c \
@@ -407,7 +407,7 @@
  src-plat-$(CONFIG_44x) += treeboot-ebony.c cuboot-ebony.c treeboot-bamboo.c \
  				cuboot-bamboo.c cuboot-sam440ep.c \
  				cuboot-sequoia.c cuboot-rainier.c \
-@@ -221,6 +223,7 @@ image-$(CONFIG_HOTFOOT)			+= cuImage.hot
+@@ -238,6 +240,7 @@ image-$(CONFIG_HOTFOOT)			+= cuImage.hot
  image-$(CONFIG_WALNUT)			+= treeImage.walnut
  image-$(CONFIG_ACADIA)			+= cuImage.acadia
  image-$(CONFIG_OBS600)			+= uImage.obs600
diff --git a/target/linux/ppc40x/patches-3.10/005-openrb.patch b/target/linux/ppc40x/patches-3.18/005-openrb.patch
similarity index 98%
rename from target/linux/ppc40x/patches-3.10/005-openrb.patch
rename to target/linux/ppc40x/patches-3.18/005-openrb.patch
index ac0ef1b93065a227445471b6cd195a8b215d9771..a21d9fa7256546d4ddbe746e5b88a4df73c50975 100644
--- a/target/linux/ppc40x/patches-3.10/005-openrb.patch
+++ b/target/linux/ppc40x/patches-3.18/005-openrb.patch
@@ -391,7 +391,7 @@
 +};
 --- a/arch/powerpc/boot/Makefile
 +++ b/arch/powerpc/boot/Makefile
-@@ -44,6 +44,7 @@ $(obj)/cuboot-taishan.o: BOOTCFLAGS += -
+@@ -51,6 +51,7 @@ $(obj)/cuboot-taishan.o: BOOTCFLAGS += -
  $(obj)/cuboot-katmai.o: BOOTCFLAGS += -mcpu=440
  $(obj)/cuboot-acadia.o: BOOTCFLAGS += -mcpu=405
  $(obj)/cuboot-magicbox.o: BOOTCFLAGS += -mcpu=405
@@ -399,7 +399,7 @@
  $(obj)/treeboot-walnut.o: BOOTCFLAGS += -mcpu=405
  $(obj)/treeboot-iss4xx.o: BOOTCFLAGS += -mcpu=405
  $(obj)/treeboot-currituck.o: BOOTCFLAGS += -mcpu=405
-@@ -80,7 +81,7 @@ src-plat-$(CONFIG_40x) += fixed-head.S e
+@@ -88,7 +89,7 @@ src-plat-$(CONFIG_40x) += fixed-head.S e
  				treeboot-walnut.c cuboot-acadia.c \
  				cuboot-kilauea.c simpleboot.c \
  				virtex405-head.S virtex.c \
@@ -408,7 +408,7 @@
  src-plat-$(CONFIG_44x) += treeboot-ebony.c cuboot-ebony.c treeboot-bamboo.c \
  				cuboot-bamboo.c cuboot-sam440ep.c \
  				cuboot-sequoia.c cuboot-rainier.c \
-@@ -224,6 +225,7 @@ image-$(CONFIG_WALNUT)			+= treeImage.wa
+@@ -241,6 +242,7 @@ image-$(CONFIG_WALNUT)			+= treeImage.wa
  image-$(CONFIG_ACADIA)			+= cuImage.acadia
  image-$(CONFIG_OBS600)			+= uImage.obs600
  image-$(CONFIG_MAGICBOX)		+= cuImage.magicbox
diff --git a/target/linux/ppc40x/patches-3.10/101-pata-magicbox-cf-driver.patch b/target/linux/ppc40x/patches-3.18/101-pata-magicbox-cf-driver.patch
similarity index 98%
rename from target/linux/ppc40x/patches-3.10/101-pata-magicbox-cf-driver.patch
rename to target/linux/ppc40x/patches-3.18/101-pata-magicbox-cf-driver.patch
index e94ff3112684a2dc7d7ae128ca10e73520688df0..d0e89b713988cc0303fc67e36d4bc94b8f2f237b 100644
--- a/target/linux/ppc40x/patches-3.10/101-pata-magicbox-cf-driver.patch
+++ b/target/linux/ppc40x/patches-3.18/101-pata-magicbox-cf-driver.patch
@@ -1,6 +1,6 @@
 --- a/drivers/ata/Kconfig
 +++ b/drivers/ata/Kconfig
-@@ -158,6 +158,16 @@ config PDC_ADMA
+@@ -234,6 +234,16 @@ config PDC_ADMA
  
  	  If unsure, say N.
  
@@ -16,10 +16,10 @@
 +
  config PATA_OCTEON_CF
  	tristate "OCTEON Boot Bus Compact Flash support"
- 	depends on CPU_CAVIUM_OCTEON
+ 	depends on CAVIUM_OCTEON_SOC
 --- a/drivers/ata/Makefile
 +++ b/drivers/ata/Makefile
-@@ -84,6 +84,7 @@ obj-$(CONFIG_PATA_AT91)		+= pata_at91.o
+@@ -91,6 +91,7 @@ obj-$(CONFIG_PATA_AT91)		+= pata_at91.o
  obj-$(CONFIG_PATA_CMD640_PCI)	+= pata_cmd640.o
  obj-$(CONFIG_PATA_ISAPNP)	+= pata_isapnp.o
  obj-$(CONFIG_PATA_IXP4XX_CF)	+= pata_ixp4xx_cf.o
diff --git a/target/linux/ppc40x/patches-3.10/110-kilauea_openwrt_flashmap.patch b/target/linux/ppc40x/patches-3.18/110-kilauea_openwrt_flashmap.patch
similarity index 100%
rename from target/linux/ppc40x/patches-3.10/110-kilauea_openwrt_flashmap.patch
rename to target/linux/ppc40x/patches-3.18/110-kilauea_openwrt_flashmap.patch
diff --git a/target/linux/ppc40x/patches-3.10/120-usb-isp116x-hcd-add-of-binding.patch b/target/linux/ppc40x/patches-3.18/120-usb-isp116x-hcd-add-of-binding.patch
similarity index 97%
rename from target/linux/ppc40x/patches-3.10/120-usb-isp116x-hcd-add-of-binding.patch
rename to target/linux/ppc40x/patches-3.18/120-usb-isp116x-hcd-add-of-binding.patch
index 41b69f02b226e2c848f6eef217dbe087c20d9889..e7639d6b4c1d07161807b3954923f9a59c4552c9 100644
--- a/target/linux/ppc40x/patches-3.10/120-usb-isp116x-hcd-add-of-binding.patch
+++ b/target/linux/ppc40x/patches-3.18/120-usb-isp116x-hcd-add-of-binding.patch
@@ -1,6 +1,6 @@
 --- a/drivers/usb/host/isp116x-hcd.c
 +++ b/drivers/usb/host/isp116x-hcd.c
-@@ -1534,6 +1534,7 @@ static struct hc_driver isp116x_hc_drive
+@@ -1533,6 +1533,7 @@ static struct hc_driver isp116x_hc_drive
  
  /*----------------------------------------------------------------*/
  
@@ -8,7 +8,7 @@
  static int isp116x_remove(struct platform_device *pdev)
  {
  	struct usb_hcd *hcd = platform_get_drvdata(pdev);
-@@ -1710,4 +1711,251 @@ static struct platform_driver isp116x_dr
+@@ -1711,4 +1712,251 @@ static struct platform_driver isp116x_dr
  	},
  };
  
@@ -263,7 +263,7 @@
 +module_exit(isp116x_cleanup);
 --- a/drivers/usb/host/Kconfig
 +++ b/drivers/usb/host/Kconfig
-@@ -320,6 +320,24 @@ config USB_ISP116X_HCD
+@@ -327,6 +327,24 @@ config USB_ISP116X_HCD
  	  To compile this driver as a module, choose M here: the
  	  module will be called isp116x-hcd.
  
diff --git a/target/linux/ppc40x/patches-3.10/121-usb-isp116x-hcd-ppc405-register-access.patch b/target/linux/ppc40x/patches-3.18/121-usb-isp116x-hcd-ppc405-register-access.patch
similarity index 89%
rename from target/linux/ppc40x/patches-3.10/121-usb-isp116x-hcd-ppc405-register-access.patch
rename to target/linux/ppc40x/patches-3.18/121-usb-isp116x-hcd-ppc405-register-access.patch
index e124e067462eccc292c7942ccda2ee4d8bda70ba..4fb47181bc714ace78408724c09c3fc30a719019 100644
--- a/target/linux/ppc40x/patches-3.10/121-usb-isp116x-hcd-ppc405-register-access.patch
+++ b/target/linux/ppc40x/patches-3.18/121-usb-isp116x-hcd-ppc405-register-access.patch
@@ -1,7 +1,7 @@
 --- a/drivers/usb/host/isp116x.h
 +++ b/drivers/usb/host/isp116x.h
-@@ -364,22 +364,64 @@ struct isp116x_ep {
- #define	IRQ_TEST()	do{}while(0)
+@@ -354,21 +354,63 @@ struct isp116x_ep {
+ #define isp116x_check_platform_delay(h)	0
  #endif
  
 +#ifdef CONFIG_PPC
@@ -48,7 +48,6 @@
 +
  static inline void isp116x_write_addr(struct isp116x *isp116x, unsigned reg)
  {
- 	IRQ_TEST();
 -	writew(reg & 0xff, isp116x->addr_reg);
 +	isp116x_writew(reg & 0xff, isp116x->addr_reg);
  	isp116x_delay(isp116x, 300);
@@ -68,7 +67,7 @@
  	isp116x_delay(isp116x, 150);
  }
  
-@@ -387,7 +429,7 @@ static inline u16 isp116x_read_data16(st
+@@ -376,7 +418,7 @@ static inline u16 isp116x_read_data16(st
  {
  	u16 val;
  
@@ -77,7 +76,7 @@
  	isp116x_delay(isp116x, 150);
  	return val;
  }
-@@ -396,16 +438,16 @@ static inline u16 isp116x_raw_read_data1
+@@ -385,16 +427,16 @@ static inline u16 isp116x_raw_read_data1
  {
  	u16 val;
  
@@ -97,7 +96,7 @@
  	isp116x_delay(isp116x, 150);
  }
  
-@@ -413,9 +455,9 @@ static inline u32 isp116x_read_data32(st
+@@ -402,9 +444,9 @@ static inline u32 isp116x_read_data32(st
  {
  	u32 val;