diff --git a/target/linux/ath25/config-4.4 b/target/linux/ath25/config-4.9
similarity index 94%
copy from target/linux/ath25/config-4.4
copy to target/linux/ath25/config-4.9
index fed6256..aae77a4 100644
--- a/target/linux/ath25/config-4.4
+++ b/target/linux/ath25/config-4.9
@@ -4,20 +4,18 @@ CONFIG_AR8216_PHY=y
 CONFIG_ARCH_BINFMT_ELF_STATE=y
 CONFIG_ARCH_CLOCKSOURCE_DATA=y
 CONFIG_ARCH_DISCARD_MEMBLOCK=y
-CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
 CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
 # CONFIG_ARCH_HAS_GCOV_PROFILE_ALL is not set
 # CONFIG_ARCH_HAS_SG_CHAIN is not set
 CONFIG_ARCH_HIBERNATION_POSSIBLE=y
 CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
 CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
-CONFIG_ARCH_REQUIRE_GPIOLIB=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_ATH25=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_BLK_MQ_PCI=y
 CONFIG_CEVT_R4K=y
 CONFIG_CLONE_BACKWARDS=y
 CONFIG_CMDLINE="console=ttyS0,9600 rootfstype=squashfs,jffs2"
@@ -54,8 +52,8 @@ CONFIG_GENERIC_TIME_VSYSCALL=y
 CONFIG_GPIOLIB=y
 CONFIG_GPIO_AR2315=y
 CONFIG_GPIO_AR5312=y
-CONFIG_GPIO_DEVRES=y
 CONFIG_GPIO_SYSFS=y
+CONFIG_HANDLE_DOMAIN_IRQ=y
 CONFIG_HARDWARE_WATCHPOINTS=y
 CONFIG_HAS_DMA=y
 CONFIG_HAS_IOMEM=y
@@ -67,14 +65,13 @@ CONFIG_HAVE_ARCH_KGDB=y
 CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
 CONFIG_HAVE_ARCH_TRACEHOOK=y
 # CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
-CONFIG_HAVE_BPF_JIT=y
+CONFIG_HAVE_CBPF_JIT=y
 CONFIG_HAVE_CC_STACKPROTECTOR=y
 CONFIG_HAVE_CONTEXT_TRACKING=y
 CONFIG_HAVE_C_RECORDMCOUNT=y
 CONFIG_HAVE_DEBUG_KMEMLEAK=y
 CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
 CONFIG_HAVE_DMA_API_DEBUG=y
-CONFIG_HAVE_DMA_ATTRS=y
 CONFIG_HAVE_DMA_CONTIGUOUS=y
 CONFIG_HAVE_DYNAMIC_FTRACE=y
 CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
@@ -91,6 +88,7 @@ CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
 CONFIG_HAVE_NET_DSA=y
 CONFIG_HAVE_OPROFILE=y
 CONFIG_HAVE_PERF_EVENTS=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
 CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
 CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
 CONFIG_HW_HAS_PCI=y
@@ -105,7 +103,10 @@ CONFIG_IRQ_WORK=y
 CONFIG_LEDS_GPIO=y
 CONFIG_MDIO_BOARDINFO=y
 CONFIG_MIPS=y
+CONFIG_MIPS_ASID_BITS=8
+CONFIG_MIPS_ASID_SHIFT=0
 CONFIG_MIPS_CLOCK_VSYSCALL=y
+# CONFIG_MIPS_CMDLINE_BUILTIN_EXTEND is not set
 CONFIG_MIPS_CMDLINE_FROM_BOOTLOADER=y
 # CONFIG_MIPS_HUGE_TLB_SUPPORT is not set
 CONFIG_MIPS_L1_CACHE_SHIFT=5
@@ -130,6 +131,7 @@ CONFIG_PCI=y
 CONFIG_PCI_AR2315=y
 CONFIG_PCI_DISABLE_COMMON_QUIRKS=y
 CONFIG_PCI_DOMAINS=y
+CONFIG_PCI_DRIVERS_LEGACY=y
 CONFIG_PERF_USE_VMALLOC=y
 CONFIG_PGTABLE_LEVELS=2
 CONFIG_PHYLIB=y
@@ -153,4 +155,3 @@ CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
 CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
 CONFIG_TICK_CPU_ACCOUNTING=y
 CONFIG_USB_SUPPORT=y
-CONFIG_ZONE_DMA_FLAG=0
diff --git a/target/linux/ath25/patches-4.4/107-ar5312_gpio.patch b/target/linux/ath25/patches-4.9/107-ar5312_gpio.patch
similarity index 89%
copy from target/linux/ath25/patches-4.4/107-ar5312_gpio.patch
copy to target/linux/ath25/patches-4.9/107-ar5312_gpio.patch
index e6196c8..f4426b5 100644
--- a/target/linux/ath25/patches-4.4/107-ar5312_gpio.patch
+++ b/target/linux/ath25/patches-4.9/107-ar5312_gpio.patch
@@ -52,9 +52,9 @@
  		if (!ath25_board.radio)
 --- a/drivers/gpio/Kconfig
 +++ b/drivers/gpio/Kconfig
-@@ -142,6 +142,13 @@ config GPIO_BRCMSTB
- 	help
- 	  Say yes here to enable GPIO support for Broadcom STB (BCM7XXX) SoCs.
+@@ -105,6 +105,13 @@ config GPIO_AMDPT
+ 	  driver for GPIO functionality on Promontory IOHub
+ 	  Require ACPI ASL code to enumerate as a platform device.
  
 +config GPIO_AR5312
 +	bool "AR5312 SoC GPIO support"
@@ -63,19 +63,19 @@
 +	help
 +	  Say yes here to enable GPIO support for Atheros AR5312/AR2312+ SoCs.
 +
- config GPIO_CLPS711X
- 	tristate "CLPS711X GPIO support"
- 	depends on ARCH_CLPS711X || COMPILE_TEST
+ config GPIO_ASPEED
+ 	tristate "Aspeed GPIO support"
+ 	depends on (ARCH_ASPEED || COMPILE_TEST) && OF_GPIO
 --- a/drivers/gpio/Makefile
 +++ b/drivers/gpio/Makefile
-@@ -21,6 +21,7 @@ obj-$(CONFIG_GPIO_ADP5588)	+= gpio-adp55
+@@ -26,6 +26,7 @@ obj-$(CONFIG_GPIO_ADP5588)	+= gpio-adp55
  obj-$(CONFIG_GPIO_ALTERA)  	+= gpio-altera.o
  obj-$(CONFIG_GPIO_AMD8111)	+= gpio-amd8111.o
  obj-$(CONFIG_GPIO_AMDPT)	+= gpio-amdpt.o
 +obj-$(CONFIG_GPIO_AR5312)	+= gpio-ar5312.o
  obj-$(CONFIG_GPIO_ARIZONA)	+= gpio-arizona.o
- obj-$(CONFIG_ATH79)		+= gpio-ath79.o
- obj-$(CONFIG_GPIO_BCM_KONA)	+= gpio-bcm-kona.o
+ obj-$(CONFIG_GPIO_ATH79)	+= gpio-ath79.o
+ obj-$(CONFIG_GPIO_ASPEED)	+= gpio-aspeed.o
 --- /dev/null
 +++ b/drivers/gpio/gpio-ar5312.c
 @@ -0,0 +1,121 @@
@@ -202,11 +202,11 @@
 +subsys_initcall(ar5312_gpio_init);
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -118,6 +118,7 @@ config ATH25
- 	select SYS_SUPPORTS_BIG_ENDIAN
- 	select SYS_SUPPORTS_32BIT_KERNEL
- 	select SYS_HAS_EARLY_PRINTK
-+	select ARCH_REQUIRE_GPIOLIB
- 	help
- 	  Support for Atheros AR231x and Atheros AR531x based boards
- 
+@@ -167,6 +167,7 @@ config ATH25
+ 	select CEVT_R4K
+ 	select CSRC_R4K
+ 	select DMA_NONCOHERENT
++	select GPIOLIB
+ 	select IRQ_MIPS_CPU
+ 	select IRQ_DOMAIN
+ 	select SYS_HAS_CPU_MIPS32_R1
diff --git a/target/linux/ath25/patches-4.4/108-ar2315_gpio.patch b/target/linux/ath25/patches-4.9/108-ar2315_gpio.patch
similarity index 97%
copy from target/linux/ath25/patches-4.4/108-ar2315_gpio.patch
copy to target/linux/ath25/patches-4.9/108-ar2315_gpio.patch
index 1ec34f7..6bb793d 100644
--- a/target/linux/ath25/patches-4.4/108-ar2315_gpio.patch
+++ b/target/linux/ath25/patches-4.9/108-ar2315_gpio.patch
@@ -75,9 +75,9 @@
  	 * workaround. Attempt to jump to the mips reset location -
 --- a/drivers/gpio/Kconfig
 +++ b/drivers/gpio/Kconfig
-@@ -142,6 +142,13 @@ config GPIO_BRCMSTB
- 	help
- 	  Say yes here to enable GPIO support for Broadcom STB (BCM7XXX) SoCs.
+@@ -105,6 +105,13 @@ config GPIO_AMDPT
+ 	  driver for GPIO functionality on Promontory IOHub
+ 	  Require ACPI ASL code to enumerate as a platform device.
  
 +config GPIO_AR2315
 +	bool "AR2315 SoC GPIO support"
@@ -91,14 +91,14 @@
  	default y if SOC_AR5312
 --- a/drivers/gpio/Makefile
 +++ b/drivers/gpio/Makefile
-@@ -21,6 +21,7 @@ obj-$(CONFIG_GPIO_ADP5588)	+= gpio-adp55
+@@ -26,6 +26,7 @@ obj-$(CONFIG_GPIO_ADP5588)	+= gpio-adp55
  obj-$(CONFIG_GPIO_ALTERA)  	+= gpio-altera.o
  obj-$(CONFIG_GPIO_AMD8111)	+= gpio-amd8111.o
  obj-$(CONFIG_GPIO_AMDPT)	+= gpio-amdpt.o
 +obj-$(CONFIG_GPIO_AR2315)	+= gpio-ar2315.o
  obj-$(CONFIG_GPIO_AR5312)	+= gpio-ar5312.o
  obj-$(CONFIG_GPIO_ARIZONA)	+= gpio-arizona.o
- obj-$(CONFIG_ATH79)		+= gpio-ath79.o
+ obj-$(CONFIG_GPIO_ATH79)	+= gpio-ath79.o
 --- /dev/null
 +++ b/drivers/gpio/gpio-ar2315.c
 @@ -0,0 +1,233 @@
diff --git a/target/linux/ath25/patches-4.4/110-ar2313_ethernet.patch b/target/linux/ath25/patches-4.9/110-ar2313_ethernet.patch
similarity index 100%
copy from target/linux/ath25/patches-4.4/110-ar2313_ethernet.patch
copy to target/linux/ath25/patches-4.9/110-ar2313_ethernet.patch
diff --git a/target/linux/ath25/patches-4.4/120-spiflash.patch b/target/linux/ath25/patches-4.9/120-spiflash.patch
similarity index 99%
copy from target/linux/ath25/patches-4.4/120-spiflash.patch
copy to target/linux/ath25/patches-4.9/120-spiflash.patch
index 91cb8be..695ea43 100644
--- a/target/linux/ath25/patches-4.4/120-spiflash.patch
+++ b/target/linux/ath25/patches-4.9/120-spiflash.patch
@@ -2,7 +2,7 @@
 +++ b/drivers/mtd/devices/Kconfig
 @@ -120,6 +120,10 @@ config MTD_BCM47XXSFLASH
  	  registered by bcma as platform devices. This enables driver for
- 	  serial flash memories (only read-only mode is implemented).
+ 	  serial flash memories.
  
 +config MTD_AR2315
 +	tristate "Atheros AR2315+ SPI Flash support"
diff --git a/target/linux/ath25/patches-4.4/130-watchdog.patch b/target/linux/ath25/patches-4.9/130-watchdog.patch
similarity index 97%
copy from target/linux/ath25/patches-4.4/130-watchdog.patch
copy to target/linux/ath25/patches-4.9/130-watchdog.patch
index 251768f..fef3ac0 100644
--- a/target/linux/ath25/patches-4.4/130-watchdog.patch
+++ b/target/linux/ath25/patches-4.9/130-watchdog.patch
@@ -212,9 +212,9 @@
 +MODULE_ALIAS("platform:" DRIVER_NAME);
 --- a/drivers/watchdog/Kconfig
 +++ b/drivers/watchdog/Kconfig
-@@ -1345,6 +1345,13 @@ config RALINK_WDT
- 	help
- 	  Hardware driver for the Ralink SoC Watchdog Timer.
+@@ -1554,6 +1554,13 @@ config PIC32_DMT
+ 	  To compile this driver as a loadable module, choose M here.
+ 	  The module will be called pic32-dmt.
  
 +config AR2315_WDT
 +	tristate "Atheros AR2315+ WiSoCs Watchdog Timer"
@@ -228,7 +228,7 @@
  # POWERPC Architecture
 --- a/drivers/watchdog/Makefile
 +++ b/drivers/watchdog/Makefile
-@@ -143,6 +143,7 @@ obj-$(CONFIG_WDT_MTX1) += mtx-1_wdt.o
+@@ -159,6 +159,7 @@ obj-$(CONFIG_WDT_MTX1) += mtx-1_wdt.o
  obj-$(CONFIG_PNX833X_WDT) += pnx833x_wdt.o
  obj-$(CONFIG_SIBYTE_WDOG) += sb_wdog.o
  obj-$(CONFIG_AR7_WDT) += ar7_wdt.o
diff --git a/target/linux/ath25/patches-4.4/140-redboot_boardconfig.patch b/target/linux/ath25/patches-4.9/140-redboot_boardconfig.patch
similarity index 97%
copy from target/linux/ath25/patches-4.4/140-redboot_boardconfig.patch
copy to target/linux/ath25/patches-4.9/140-redboot_boardconfig.patch
index 98dbf52..6aad761 100644
--- a/target/linux/ath25/patches-4.4/140-redboot_boardconfig.patch
+++ b/target/linux/ath25/patches-4.9/140-redboot_boardconfig.patch
@@ -10,7 +10,7 @@
      unsigned char name[16];      // Null terminated name
      uint32_t	  flash_base;    // Address within FLASH of image
 @@ -60,6 +62,7 @@ static int parse_redboot_partitions(stru
- 				    struct mtd_partition **pparts,
+ 				    const struct mtd_partition **pparts,
  				    struct mtd_part_parser_data *data)
  {
 +	unsigned long max_offset = 0;
diff --git a/target/linux/ath25/patches-4.4/141-redboot_partition_scan.patch b/target/linux/ath25/patches-4.9/141-redboot_partition_scan.patch
similarity index 100%
copy from target/linux/ath25/patches-4.4/141-redboot_partition_scan.patch
copy to target/linux/ath25/patches-4.9/141-redboot_partition_scan.patch
diff --git a/target/linux/ath25/patches-4.4/142-redboot_various_erase_size_fix.patch b/target/linux/ath25/patches-4.9/142-redboot_various_erase_size_fix.patch
similarity index 97%
copy from target/linux/ath25/patches-4.4/142-redboot_various_erase_size_fix.patch
copy to target/linux/ath25/patches-4.9/142-redboot_various_erase_size_fix.patch
index e1b0a89..ce039df 100644
--- a/target/linux/ath25/patches-4.4/142-redboot_various_erase_size_fix.patch
+++ b/target/linux/ath25/patches-4.9/142-redboot_various_erase_size_fix.patch
@@ -21,7 +21,7 @@
 +}
 +
  static int parse_redboot_partitions(struct mtd_info *master,
- 				    struct mtd_partition **pparts,
+ 				    const struct mtd_partition **pparts,
  				    struct mtd_part_parser_data *data)
 @@ -74,6 +90,7 @@ static int parse_redboot_partitions(stru
  	int namelen = 0;
