浏览代码

kernel: update 3.18 to 3.18.14

Changelogs:

* https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.12
* https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.13
* https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.14

Build tested on brcm63xx and ipq806x, runtested on brcm63xx.

Signed-off-by: Jonas Gorski <[email protected]>

SVN-Revision: 45711
Jonas Gorski 10 年之前
父节点
当前提交
76d079204d
共有 100 个文件被更改,包括 328 次插入768 次删除
  1. 2 2
      include/kernel-version.mk
  2. 7 7
      target/linux/adm5120/patches-3.18/050-revert_rootfs_splits.patch
  3. 3 3
      target/linux/adm5120/patches-3.18/100-rootfs_split.patch
  4. 1 1
      target/linux/ar7/patches-3.18/110-flash.patch
  5. 3 3
      target/linux/ar7/patches-3.18/160-vlynq_try_remote_first.patch
  6. 2 2
      target/linux/ar7/patches-3.18/300-add-ac49x-platform.patch
  7. 2 2
      target/linux/ar7/patches-3.18/320-ac49x-mtd-partitions.patch
  8. 4 4
      target/linux/ar7/patches-3.18/500-serial_kludge.patch
  9. 2 2
      target/linux/ar7/patches-3.18/920-ar7part.patch
  10. 6 6
      target/linux/ar7/patches-3.18/950-cpmac_titan.patch
  11. 3 3
      target/linux/ar71xx/patches-3.18/501-MIPS-ath79-add-mac-argument-to-ath79_register_wmac.patch
  12. 10 14
      target/linux/ar71xx/patches-3.18/603-MIPS-ath79-ap121-fixes.patch
  13. 2 2
      target/linux/ar71xx/patches-3.18/604-MIPS-ath79-ap81-fixes.patch
  14. 23 24
      target/linux/ar71xx/patches-3.18/605-MIPS-ath79-db120-fixes.patch
  15. 1 1
      target/linux/ar71xx/patches-3.18/607-MIPS-ath79-ubnt-xm-fixes.patch
  16. 17 17
      target/linux/ar71xx/patches-3.18/609-MIPS-ath79-ap136-fixes.patch
  17. 1 1
      target/linux/ar71xx/patches-3.18/902-unaligned_access_hacks.patch
  18. 2 2
      target/linux/ar71xx/patches-3.18/903-MIPS-ath79-ubnt-rocket-m-xw-support.patch
  19. 1 1
      target/linux/at91/patches/101-ARM-at91-build-dtb-for-q5xr5.patch
  20. 5 5
      target/linux/at91/patches/200-ARM-at91-udc-clockfix-backport.patch
  21. 1 1
      target/linux/at91/patches/901-AT91-flexibity-default-leds-to-heartbeat.patch
  22. 1 1
      target/linux/au1000/patches/003-au1000_eth_ioctl.patch
  23. 4 6
      target/linux/au1000/patches/006-codec.patch
  24. 2 2
      target/linux/bcm53xx/patches-3.18/003-mtd-spi-nor-from-3.19.patch
  25. 1 1
      target/linux/bcm53xx/patches-3.18/004-mtd-spi-nor-from-3.20.patch
  26. 0 5
      target/linux/bcm53xx/patches-3.18/058-ARM-BCM5301X-Add-USB-LED-for-Buffalo-WZR-1750DHP.patch
  27. 0 8
      target/linux/bcm53xx/patches-3.18/059-ARM-BCM5301X-Add-DT-for-Buffalo-WXR-1900DHP.patch
  28. 0 8
      target/linux/bcm53xx/patches-3.18/060-ARM-BCM5301X-Add-DT-for-SmartRG-SR400ac.patch
  29. 0 8
      target/linux/bcm53xx/patches-3.18/061-ARM-BCM5301X-Add-DT-for-Asus-RT-AC68U.patch
  30. 0 8
      target/linux/bcm53xx/patches-3.18/062-ARM-BCM5301X-Add-DT-for-Asus-RT-AC56U.patch
  31. 0 8
      target/linux/bcm53xx/patches-3.18/133-ARM-BCM5301X-Add-DT-for-Asus-RT-AC87U.patch
  32. 0 5
      target/linux/bcm53xx/patches-3.18/320-ARM-BCM5301X-Add-Buffalo-WXR-1900DHP-clock-and-USB-p.patch
  33. 2 7
      target/linux/bcm53xx/patches-3.18/700-bgmac-add-support-for-the-3rd-bus-core-device.patch
  34. 1 6
      target/linux/bcm53xx/patches-3.18/710-b53-add-hacky-CPU-port-fixes-for-devices-not-using-p.patch
  35. 1 6
      target/linux/bcm53xx/patches-3.18/901-mtd-bcm47xxpart-workaround-for-Asus-RT-AC87U-asus-pa.patch
  36. 1 1
      target/linux/brcm2708/patches-3.18/0001-Main-bcm2708-linux-port.patch
  37. 1 1
      target/linux/brcm2708/patches-3.18/0004-Add-dwc_otg-driver.patch
  38. 1 1
      target/linux/brcm2708/patches-3.18/0027-bcm2835-add-v4l2-camera-device.patch
  39. 2 2
      target/linux/brcm2708/patches-3.18/0043-pcm512x-Use-a-range-macro-for-Volume-and-rename-to-P.patch
  40. 0 5
      target/linux/brcm47xx/patches-3.18/030-01-MIPS-BCM47XX-Get-rid-of-calls-to-KSEG1ADDR.patch
  41. 3 12
      target/linux/brcm47xx/patches-3.18/030-02-MIPS-BCM47XX-Make-ssb-init-NVRAM-instead-of-bcm47xx-.patch
  42. 2 9
      target/linux/brcm47xx/patches-3.18/030-03-MIPS-BCM47XX-Make-bcma-init-NVRAM-instead-of-bcm47xx.patch
  43. 3 12
      target/linux/brcm47xx/patches-3.18/030-04-MIPS-BCM47XX-Move-SPROM-fallback-code-into-sprom.c.patch
  44. 2 11
      target/linux/brcm47xx/patches-3.18/030-05-MIPS-BCM47XX-Initialize-bcma-bus-later-with-mm-avail.patch
  45. 1 6
      target/linux/brcm47xx/patches-3.18/030-06-MIPS-BCM47XX-Use-mtd-as-an-alternative-way-API-to-ge.patch
  46. 3 12
      target/linux/brcm47xx/patches-3.18/030-07-MIPS-BCM47XX-Clean-up-nvram-header.patch
  47. 2 7
      target/linux/brcm47xx/patches-3.18/031-01-MIPS-BCM47XX-Support-SPROM-prefixes-for-PCI-devices.patch
  48. 0 38
      target/linux/brcm47xx/patches-3.18/031-02-MIPS-BCM47XX-Fix-detecting-Microsoft-MN-700-Asus-WL5.patch
  49. 1 6
      target/linux/brcm47xx/patches-3.18/031-03-MIPS-BCM47XX-Use-helpers-for-reading-NVRAM-content.patch
  50. 1 6
      target/linux/brcm47xx/patches-3.18/031-04-MIPS-BCM47XX-Use-strnchr-to-avoid-reading-out-of-the.patch
  51. 1 29
      target/linux/brcm47xx/patches-3.18/031-05-MIPS-BCM47xx-Move-NVRAM-header-to-the-include-linux.patch
  52. 10 29
      target/linux/brcm47xx/patches-3.18/031-06-MIPS-BCM47XX-Fix-coding-style-to-match-kernel-standa.patch
  53. 1 6
      target/linux/brcm47xx/patches-3.18/031-07-MIPS-BCM47XX-Include-io.h-directly-and-fix-brace-ind.patch
  54. 0 5
      target/linux/brcm47xx/patches-3.18/031-08-MIPS-BCM47XX-Increase-NVRAM-buffer-size-to-64-KiB.patch
  55. 13 17
      target/linux/brcm47xx/patches-3.18/031-09-MIPS-BCM47XX-Don-t-try-guessing-NVRAM-size-on-MTD-pa.patch
  56. 4 9
      target/linux/brcm47xx/patches-3.18/031-10-MIPS-BCM47xx-Keep-ID-entries-for-non-standard-device.patch
  57. 6 17
      target/linux/brcm47xx/patches-3.18/031-11-MIPS-BCM47xx-Devices-database-update-for-4.1-or-4.2.patch
  58. 3 8
      target/linux/brcm47xx/patches-3.18/031-12-MIPS-BCM47xx-Add-generic-function-filling-SPROM-entr.patch
  59. 8 14
      target/linux/brcm47xx/patches-3.18/031-13-MIPS-BCM47xx-Move-filling-most-of-SPROM-to-the-gener.patch
  60. 1 1
      target/linux/brcm47xx/patches-3.18/280-activate_ssb_support_in_usb.patch
  61. 1 6
      target/linux/brcm47xx/patches-3.18/900-ssb-reject-PCI-writes-setting-CardBus-bridge-resourc.patch
  62. 3 3
      target/linux/brcm63xx/patches-3.18/341-MIPS-BCM63XX-add-support-for-BCM6318.patch
  63. 5 5
      target/linux/brcm63xx/patches-3.18/344-MIPS-BCM63XX-detect-flash-type-early-and-store-the-r.patch
  64. 8 8
      target/linux/brcm63xx/patches-3.18/375-MIPS-BCM63XX-switch-to-new-gpio-driver.patch
  65. 1 1
      target/linux/cns3xxx/patches-3.18/031-pcie_init.patch
  66. 1 1
      target/linux/cns3xxx/patches-3.18/090-timers.patch
  67. 1 1
      target/linux/gemini/patches-3.18/002-gemini-rtc.patch
  68. 3 3
      target/linux/gemini/patches-3.18/021-reset-parameters.patch
  69. 3 3
      target/linux/gemini/patches-3.18/050-gpio-to-irq.patch
  70. 4 4
      target/linux/gemini/patches-3.18/060-cache-fa.diff
  71. 18 19
      target/linux/gemini/patches-3.18/120-net-add-gemini-gmac-driver.patch
  72. 3 4
      target/linux/gemini/patches-3.18/121-arm-gemini-register-ethernet.patch
  73. 19 22
      target/linux/gemini/patches-3.18/130-usb-ehci-fot2g.patch
  74. 1 1
      target/linux/gemini/patches-3.18/132-arm-gemini-register-usb.patch
  75. 10 10
      target/linux/gemini/patches-3.18/150-gemini-pata.patch
  76. 5 5
      target/linux/gemini/patches-3.18/160-gemini-timers.patch
  77. 0 107
      target/linux/generic/patches-3.18/082-usbnet-Fix-tx_packets-stat-for-FLAG_MULTI_FRAME-driv.patch
  78. 2 2
      target/linux/generic/patches-3.18/102-ehci_hcd_ignore_oc.patch
  79. 1 1
      target/linux/generic/patches-3.18/259-regmap_dynamic.patch
  80. 1 1
      target/linux/generic/patches-3.18/304-mips_disable_fpu.patch
  81. 1 2
      target/linux/generic/patches-3.18/411-mtd-partial_eraseblock_write.patch
  82. 2 2
      target/linux/generic/patches-3.18/650-pppoe_header_pad.patch
  83. 1 1
      target/linux/generic/patches-3.18/653-disable_netlink_trim.patch
  84. 1 1
      target/linux/generic/patches-3.18/655-increase_skb_pad.patch
  85. 1 1
      target/linux/generic/patches-3.18/656-skb_reduce_truesize-helper.patch
  86. 2 4
      target/linux/generic/patches-3.18/667-ipv6-Fixed-source-specific-default-route-handling.patch
  87. 7 7
      target/linux/generic/patches-3.18/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
  88. 5 5
      target/linux/generic/patches-3.18/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
  89. 3 3
      target/linux/generic/patches-3.18/721-phy_packets.patch
  90. 1 1
      target/linux/generic/patches-3.18/820-usb_add_usb_find_device_by_name.patch
  91. 1 1
      target/linux/generic/patches-3.18/902-debloat_proc.patch
  92. 1 1
      target/linux/imx6/patches-3.18/200-pci_designware_add-ability-for-custom-swizzle.patch
  93. 3 3
      target/linux/ipq806x/patches-3.18/001-spi-qup-Add-DMA-capabilities.patch
  94. 3 8
      target/linux/ipq806x/patches-3.18/011-watchdog-qcom-use-timer-devicetree-binding.patch
  95. 0 5
      target/linux/ipq806x/patches-3.18/012-ARM-qcom-add-description-of-KPSS-WDT-for-IPQ8064.patch
  96. 0 8
      target/linux/ipq806x/patches-3.18/022-add-db149-dts.patch
  97. 3 12
      target/linux/ipq806x/patches-3.18/102-soc-qcom-gsbi-Add-support-for-ADM-CRCI-muxing.patch
  98. 0 3
      target/linux/ipq806x/patches-3.18/110-DT-PCI-qcom-Document-PCIe-devicetree-bindings.patch
  99. 1 11
      target/linux/ipq806x/patches-3.18/300-arch-arm-force-ZRELADDR-on-arch-qcom.patch
  100. 22 36
      target/linux/ixp4xx/patches-3.18/001-arm-ixp4xx-set-cohorent_dma_mask-for-ethernet-platfo.patch

+ 2 - 2
include/kernel-version.mk

@@ -2,10 +2,10 @@
 
 LINUX_RELEASE?=1
 
-LINUX_VERSION-3.18 = .11
+LINUX_VERSION-3.18 = .14
 LINUX_VERSION-4.0 = .1
 
-LINUX_KERNEL_MD5SUM-3.18.11 = 2def91951c9cedf7896efb864e0c090c
+LINUX_KERNEL_MD5SUM-3.18.14 = cb6f534b83333ba52f1fed7979824a1b
 LINUX_KERNEL_MD5SUM-4.0.1 = ea7fc80310be8a5b43b2c6dfa5c4169f
 
 ifdef KERNEL_PATCHVER

+ 7 - 7
target/linux/adm5120/patches-3.18/050-revert_rootfs_splits.patch

@@ -46,7 +46,7 @@
  	}
  	if (slave->offset == MTDPART_OFS_RETAIN) {
  		slave->offset = cur_offset;
-@@ -629,10 +628,8 @@ out_register:
+@@ -626,10 +625,8 @@ out_register:
  	return slave;
  }
  
@@ -59,7 +59,7 @@
  {
  	struct mtd_partition part;
  	struct mtd_part *p, *new;
-@@ -664,24 +661,21 @@ __mtd_add_partition(struct mtd_info *mas
+@@ -661,24 +658,21 @@ __mtd_add_partition(struct mtd_info *mas
  	end = offset + length;
  
  	mutex_lock(&mtd_partitions_mutex);
@@ -94,7 +94,7 @@
  
  	return ret;
  err_inv:
-@@ -691,12 +685,6 @@ err_inv:
+@@ -688,12 +682,6 @@ err_inv:
  }
  EXPORT_SYMBOL_GPL(mtd_add_partition);
  
@@ -107,7 +107,7 @@
  int mtd_del_partition(struct mtd_info *master, int partno)
  {
  	struct mtd_part *slave, *next;
-@@ -720,166 +708,6 @@ int mtd_del_partition(struct mtd_info *m
+@@ -717,166 +705,6 @@ int mtd_del_partition(struct mtd_info *m
  }
  EXPORT_SYMBOL_GPL(mtd_del_partition);
  
@@ -274,7 +274,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
-@@ -909,7 +737,6 @@ int add_mtd_partitions(struct mtd_info *
+@@ -906,7 +734,6 @@ int add_mtd_partitions(struct mtd_info *
  		mutex_unlock(&mtd_partitions_mutex);
  
  		add_mtd_device(&slave->mtd);
@@ -282,7 +282,7 @@
  
  		cur_offset = slave->offset + slave->mtd.size;
  	}
-@@ -939,30 +766,6 @@ static struct mtd_part_parser *get_parti
+@@ -936,30 +763,6 @@ static struct mtd_part_parser *get_parti
  
  #define put_partition_parser(p) do { module_put((p)->owner); } while (0)
  
@@ -313,7 +313,7 @@
  void register_mtd_parser(struct mtd_part_parser *p)
  {
  	spin_lock(&part_parser_lock);
-@@ -1036,38 +839,6 @@ int parse_mtd_partitions(struct mtd_info
+@@ -1033,38 +836,6 @@ int parse_mtd_partitions(struct mtd_info
  	return ret;
  }
  

+ 3 - 3
target/linux/adm5120/patches-3.18/100-rootfs_split.patch

@@ -35,7 +35,7 @@
  
  /*
   * MTD methods which simply translate the effective address and pass through
-@@ -708,6 +710,144 @@ int mtd_del_partition(struct mtd_info *m
+@@ -705,6 +707,144 @@ int mtd_del_partition(struct mtd_info *m
  }
  EXPORT_SYMBOL_GPL(mtd_del_partition);
  
@@ -180,7 +180,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
-@@ -724,6 +864,9 @@ int add_mtd_partitions(struct mtd_info *
+@@ -721,6 +861,9 @@ int add_mtd_partitions(struct mtd_info *
  	struct mtd_part *slave;
  	uint64_t cur_offset = 0;
  	int i;
@@ -190,7 +190,7 @@
  
  	printk(KERN_NOTICE "Creating %d MTD partitions on \"%s\":\n", nbparts, master->name);
  
-@@ -738,12 +881,53 @@ int add_mtd_partitions(struct mtd_info *
+@@ -735,12 +878,53 @@ int add_mtd_partitions(struct mtd_info *
  
  		add_mtd_device(&slave->mtd);
  

+ 1 - 1
target/linux/ar7/patches-3.18/110-flash.patch

@@ -1,6 +1,6 @@
 --- a/drivers/mtd/Makefile
 +++ b/drivers/mtd/Makefile
-@@ -16,7 +16,7 @@ obj-$(CONFIG_MTD_OF_PARTS)	+= ofpart.o
+@@ -12,7 +12,7 @@ obj-$(CONFIG_MTD_OF_PARTS)	+= ofpart.o
  obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o
  obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o
  obj-$(CONFIG_MTD_AFS_PARTS)	+= afs.o

+ 3 - 3
target/linux/ar7/patches-3.18/160-vlynq_try_remote_first.patch

@@ -199,7 +199,7 @@
  		return 0;
  	}
  
-@@ -501,24 +547,16 @@ static int __vlynq_enable_device(struct 
+@@ -501,24 +547,16 @@ static int __vlynq_enable_device(struct
  		return result;
  
  	switch (dev->divisor) {
@@ -229,7 +229,7 @@
  		break;
  	case vlynq_ldiv1:
  	case vlynq_ldiv2:
-@@ -528,15 +566,12 @@ static int __vlynq_enable_device(struct 
+@@ -528,15 +566,12 @@ static int __vlynq_enable_device(struct
  	case vlynq_ldiv6:
  	case vlynq_ldiv7:
  	case vlynq_ldiv8:
@@ -251,7 +251,7 @@
  			return 0;
  		}
  		break;
-@@ -548,20 +583,17 @@ static int __vlynq_enable_device(struct 
+@@ -548,20 +583,17 @@ static int __vlynq_enable_device(struct
  	case vlynq_rdiv6:
  	case vlynq_rdiv7:
  	case vlynq_rdiv8:

+ 2 - 2
target/linux/ar7/patches-3.18/300-add-ac49x-platform.patch

@@ -37,7 +37,7 @@
  #define AR7_IRQ_UART0	15
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -89,7 +89,7 @@ config AR7
+@@ -94,7 +94,7 @@ config AR7
  	select HAVE_CLK
  	help
  	  Support for the Texas Instruments AR7 System-on-a-Chip
@@ -46,7 +46,7 @@
  
  config ATH79
  	bool "Atheros AR71XX/AR724X/AR913X based boards"
-@@ -796,6 +796,7 @@ config NLM_XLP_BOARD
+@@ -835,6 +835,7 @@ config MIPS_PARAVIRT
  endchoice
  
  source "arch/mips/alchemy/Kconfig"

+ 2 - 2
target/linux/ar7/patches-3.18/320-ac49x-mtd-partitions.patch

@@ -1,6 +1,6 @@
 --- a/drivers/mtd/Kconfig
 +++ b/drivers/mtd/Kconfig
-@@ -169,6 +169,11 @@ config MTD_OF_PARTS
+@@ -164,6 +164,11 @@ config MTD_OF_PARTS
  	  the partition map from the children of the flash node,
  	  as described in Documentation/devicetree/booting-without-of.txt.
  
@@ -14,7 +14,7 @@
  	---help---
 --- a/drivers/mtd/Makefile
 +++ b/drivers/mtd/Makefile
-@@ -15,6 +15,7 @@ mtd-$(CONFIG_MTD_SPLIT_LZMA_FW) += mtdsp
+@@ -11,6 +11,7 @@ obj-$(CONFIG_MTD_SPLIT)		+= mtdsplit/
  obj-$(CONFIG_MTD_OF_PARTS)	+= ofpart.o
  obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o
  obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o

+ 4 - 4
target/linux/ar7/patches-3.18/500-serial_kludge.patch

@@ -1,6 +1,6 @@
 --- a/drivers/tty/serial/8250/8250_core.c
 +++ b/drivers/tty/serial/8250/8250_core.c
-@@ -323,6 +323,13 @@ static const struct serial8250_config ua
+@@ -329,6 +329,13 @@ static const struct serial8250_config ua
  		.fcr		= UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10,
  		.flags		= UART_CAP_FIFO | UART_CAP_AFE,
  	},
@@ -14,9 +14,9 @@
  };
  
  /* Uart divisor latch read */
-@@ -2861,7 +2868,11 @@ static void serial8250_console_putchar(s
- 	struct uart_8250_port *up =
- 		container_of(port, struct uart_8250_port, port);
+@@ -3174,7 +3181,11 @@ static void serial8250_console_putchar(s
+ {
+ 	struct uart_8250_port *up = up_to_u8250p(port);
  
 +#ifdef CONFIG_AR7
 +	wait_for_xmitr(up, BOTH_EMPTY);

+ 2 - 2
target/linux/ar7/patches-3.18/920-ar7part.patch

@@ -33,7 +33,7 @@
  	size_t len;
  	unsigned int pre_size = master->erasesize, post_size = 0;
  	unsigned int root_offset = ROOT_OFFSET;
-@@ -55,6 +62,16 @@ static int create_mtd_partitions(struct 
+@@ -55,6 +62,16 @@ static int create_mtd_partitions(struct
  	int retries = 10;
  	struct mtd_partition *ar7_parts;
  
@@ -50,7 +50,7 @@
  	ar7_parts = kzalloc(sizeof(*ar7_parts) * AR7_PARTS, GFP_KERNEL);
  	if (!ar7_parts)
  		return -ENOMEM;
-@@ -83,34 +100,39 @@ static int create_mtd_partitions(struct 
+@@ -83,34 +100,39 @@ static int create_mtd_partitions(struct
  
  	pre_size = offset;
  

+ 6 - 6
target/linux/ar7/patches-3.18/950-cpmac_titan.patch

@@ -1,7 +1,7 @@
 --- a/drivers/net/ethernet/ti/cpmac.c
 +++ b/drivers/net/ethernet/ti/cpmac.c
-@@ -1154,6 +1154,8 @@ static int cpmac_probe(struct platform_d
- 		goto fail;
+@@ -1146,6 +1146,8 @@ static int cpmac_probe(struct platform_d
+ 		goto out;
  	}
  
 +	ar7_device_reset(pdata->reset_bit);
@@ -9,7 +9,7 @@
  	dev->irq = platform_get_irq_byname(pdev, "irq");
  
  	dev->netdev_ops = &cpmac_netdev_ops;
-@@ -1232,7 +1234,7 @@ int cpmac_init(void)
+@@ -1227,7 +1229,7 @@ int cpmac_init(void)
  	cpmac_mii->reset = cpmac_mdio_reset;
  	cpmac_mii->irq = mii_irqs;
  
@@ -17,8 +17,8 @@
 +	cpmac_mii->priv = ioremap(ar7_is_titan() ? TITAN_REGS_MDIO : AR7_REGS_MDIO, 256);
  
  	if (!cpmac_mii->priv) {
- 		printk(KERN_ERR "Can't ioremap mdio registers\n");
-@@ -1243,10 +1245,16 @@ int cpmac_init(void)
+ 		pr_err("Can't ioremap mdio registers\n");
+@@ -1238,10 +1240,16 @@ int cpmac_init(void)
  #warning FIXME: unhardcode gpio&reset bits
  	ar7_gpio_disable(26);
  	ar7_gpio_disable(27);
@@ -37,7 +37,7 @@
  	cpmac_mii->reset(cpmac_mii);
  
  	for (i = 0; i < 300; i++) {
-@@ -1263,7 +1271,11 @@ int cpmac_init(void)
+@@ -1258,7 +1266,11 @@ int cpmac_init(void)
  		mask = 0;
  	}
  

+ 3 - 3
target/linux/ar71xx/patches-3.18/501-MIPS-ath79-add-mac-argument-to-ath79_register_wmac.patch

@@ -48,7 +48,7 @@
  #endif /* _ATH79_DEV_WMAC_H */
 --- a/arch/mips/ath79/mach-ap81.c
 +++ b/arch/mips/ath79/mach-ap81.c
-@@ -98,7 +98,7 @@ static void __init ap81_setup(void)
+@@ -92,7 +92,7 @@ static void __init ap81_setup(void)
  					ap81_gpio_keys);
  	ath79_register_spi(&ap81_spi_data, ap81_spi_info,
  			   ARRAY_SIZE(ap81_spi_info));
@@ -59,7 +59,7 @@
  
 --- a/arch/mips/ath79/mach-db120.c
 +++ b/arch/mips/ath79/mach-db120.c
-@@ -134,7 +134,7 @@ static void __init db120_setup(void)
+@@ -128,7 +128,7 @@ static void __init db120_setup(void)
  	ath79_register_spi(&db120_spi_data, db120_spi_info,
  			   ARRAY_SIZE(db120_spi_info));
  	ath79_register_usb();
@@ -70,7 +70,7 @@
  
 --- a/arch/mips/ath79/mach-ap121.c
 +++ b/arch/mips/ath79/mach-ap121.c
-@@ -91,7 +91,7 @@ static void __init ap121_setup(void)
+@@ -85,7 +85,7 @@ static void __init ap121_setup(void)
  	ath79_register_spi(&ap121_spi_data, ap121_spi_info,
  			   ARRAY_SIZE(ap121_spi_info));
  	ath79_register_usb();

+ 10 - 14
target/linux/ar71xx/patches-3.18/603-MIPS-ath79-ap121-fixes.patch

@@ -45,26 +45,22 @@
  };
  
 -static struct spi_board_info ap121_spi_info[] = {
--	{
++static struct gpio_led ap121_mini_leds_gpio[] __initdata = {
+ 	{
 -		.bus_num	= 0,
 -		.chip_select	= 0,
 -		.max_speed_hz	= 25000000,
 -		.modalias	= "mx25l1606e",
 -	}
--};
--
--static struct ath79_spi_platform_data ap121_spi_data = {
--	.bus_num	= 0,
--	.num_chipselect = 1,
--};
-+static struct gpio_led ap121_mini_leds_gpio[] __initdata = {
-+	{
 +		.name		= "ap121:green:wlan",
 +		.gpio		= AP121_MINI_GPIO_LED_WLAN,
 +		.active_low	= 0,
 +	},
-+};
-+
+ };
+ 
+-static struct ath79_spi_platform_data ap121_spi_data = {
+-	.bus_num	= 0,
+-	.num_chipselect = 1,
 +static struct gpio_keys_button ap121_mini_gpio_keys[] __initdata = {
 +	{
 +		.desc		= "jumpstart button",
@@ -82,8 +78,8 @@
 +		.gpio		= AP121_MINI_GPIO_BTN_RESET,
 +		.active_low	= 1,
 +	}
-+};
-+
+ };
+ 
 +static void __init ap121_common_setup(void)
 +{
 +	u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
@@ -103,7 +99,7 @@
 +	/* WAN port */
 +	ath79_register_eth(0);
 +}
- 
++
  static void __init ap121_setup(void)
  {
 -	u8 *cal_data = (u8 *) KSEG1ADDR(AP121_CAL_DATA_ADDR);

+ 2 - 2
target/linux/ar71xx/patches-3.18/604-MIPS-ath79-ap81-fixes.patch

@@ -20,7 +20,7 @@
  
  #define AP81_GPIO_LED_STATUS	1
  #define AP81_GPIO_LED_AOSS	3
-@@ -67,20 +102,6 @@ static struct gpio_keys_button ap81_gpio
+@@ -67,20 +71,6 @@ static struct gpio_keys_button ap81_gpio
  	}
  };
  
@@ -41,7 +41,7 @@
  static void __init ap81_setup(void)
  {
  	u8 *cal_data = (u8 *) KSEG1ADDR(AP81_CAL_DATA_ADDR);
-@@ -90,10 +105,24 @@ static void __init ap81_setup(void)
+@@ -90,10 +80,24 @@ static void __init ap81_setup(void)
  	ath79_register_gpio_keys_polled(-1, AP81_KEYS_POLL_INTERVAL,
  					ARRAY_SIZE(ap81_gpio_keys),
  					ap81_gpio_keys);

+ 23 - 24
target/linux/ar71xx/patches-3.18/605-MIPS-ath79-db120-fixes.patch

@@ -67,14 +67,6 @@
  	},
  };
  
-+static struct ar8327_pad_cfg db120_ar8327_pad0_cfg = {
-+	.mode = AR8327_PAD_MAC_RGMII,
-+	.txclk_delay_en = true,
-+	.rxclk_delay_en = true,
-+	.txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
-+	.rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
-+};
-+
 -static struct spi_board_info db120_spi_info[] = {
 -	{
 -		.bus_num	= 0,
@@ -82,6 +74,17 @@
 -		.max_speed_hz	= 25000000,
 -		.modalias	= "s25sl064a",
 -	}
++static struct ar8327_pad_cfg db120_ar8327_pad0_cfg = {
++	.mode = AR8327_PAD_MAC_RGMII,
++	.txclk_delay_en = true,
++	.rxclk_delay_en = true,
++	.txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
++	.rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
+ };
+ 
+-static struct ath79_spi_platform_data db120_spi_data = {
+-	.bus_num	= 0,
+-	.num_chipselect = 1,
 +static struct ar8327_led_cfg db120_ar8327_led_cfg = {
 +	.led_ctrl0 = 0x00000000,
 +	.led_ctrl1 = 0xc737c737,
@@ -90,21 +93,6 @@
 +	.open_drain = true,
  };
  
--static struct ath79_spi_platform_data db120_spi_data = {
--	.bus_num	= 0,
--	.num_chipselect = 1,
-+static struct ar8327_platform_data db120_ar8327_data = {
-+	.pad0_cfg = &db120_ar8327_pad0_cfg,
-+	.port0_cfg = {
-+		.force_link = 1,
-+		.speed = AR8327_PORT_SPEED_1000,
-+		.duplex = 1,
-+		.txpause = 1,
-+		.rxpause = 1,
-+	},
-+	.led_cfg = &db120_ar8327_led_cfg,
- };
- 
 -#ifdef CONFIG_PCI
 -static struct ath9k_platform_data db120_ath9k_data;
 -
@@ -123,7 +111,18 @@
 -{
 -	memcpy(db120_ath9k_data.eeprom_data, eeprom,
 -	       sizeof(db120_ath9k_data.eeprom_data));
--
++static struct ar8327_platform_data db120_ar8327_data = {
++	.pad0_cfg = &db120_ar8327_pad0_cfg,
++	.port0_cfg = {
++		.force_link = 1,
++		.speed = AR8327_PORT_SPEED_1000,
++		.duplex = 1,
++		.txpause = 1,
++		.rxpause = 1,
++	},
++	.led_cfg = &db120_ar8327_led_cfg,
++};
+ 
 -	ath79_pci_set_plat_dev_init(db120_pci_plat_dev_init);
 -	ath79_register_pci();
 -}

+ 1 - 1
target/linux/ar71xx/patches-3.18/607-MIPS-ath79-ubnt-xm-fixes.patch

@@ -88,7 +88,7 @@
  	ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_xm_leds_gpio),
  				 ubnt_xm_leds_gpio);
  
-@@ -114,10 +71,8 @@ static void __init ubnt_xm_init(void)
+@@ -114,10 +77,8 @@ static void __init ubnt_xm_init(void)
  					ARRAY_SIZE(ubnt_xm_gpio_keys),
  					ubnt_xm_gpio_keys);
  

+ 17 - 17
target/linux/ar71xx/patches-3.18/609-MIPS-ath79-ap136-fixes.patch

@@ -90,6 +90,13 @@
  	},
  };
  
+-static struct spi_board_info ap136_spi_info[] = {
+-	{
+-		.bus_num	= 0,
+-		.chip_select	= 0,
+-		.max_speed_hz	= 25000000,
+-		.modalias	= "mx25l6405d",
+-	}
 +static struct ar8327_pad_cfg ap136_ar8327_pad0_cfg;
 +static struct ar8327_pad_cfg ap136_ar8327_pad6_cfg;
 +
@@ -110,26 +117,21 @@
 +		.txpause = 1,
 +		.rxpause = 1,
 +	},
-+};
-+
--static struct spi_board_info ap136_spi_info[] = {
+ };
+ 
+-static struct ath79_spi_platform_data ap136_spi_data = {
+-	.bus_num	= 0,
+-	.num_chipselect	= 1,
 +static struct mdio_board_info ap136_mdio0_info[] = {
- 	{
--		.bus_num	= 0,
--		.chip_select	= 0,
--		.max_speed_hz	= 25000000,
--		.modalias	= "mx25l6405d",
--	}
++	{
 +		.bus_id = "ag71xx-mdio.0",
 +		.phy_addr = 0,
 +		.platform_data = &ap136_ar8327_data,
 +	},
  };
  
--static struct ath79_spi_platform_data ap136_spi_data = {
--	.bus_num	= 0,
--	.num_chipselect	= 1,
--};
+-#ifdef CONFIG_PCI
+-static struct ath9k_platform_data ap136_ath9k_data;
 +static void __init ap136_common_setup(void)
 +{
 +	u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
@@ -149,12 +151,10 @@
 +
 +	ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
  
--#ifdef CONFIG_PCI
--static struct ath9k_platform_data ap136_ath9k_data;
+-static int ap136_pci_plat_dev_init(struct pci_dev *dev)
 +	ath79_register_mdio(0, 0x0);
 +	ath79_init_mac(ath79_eth0_data.mac_addr, art + AP136_MAC0_OFFSET, 0);
- 
--static int ap136_pci_plat_dev_init(struct pci_dev *dev)
++
 +	mdiobus_register_board_info(ap136_mdio0_info,
 +				    ARRAY_SIZE(ap136_mdio0_info));
 +

+ 1 - 1
target/linux/ar71xx/patches-3.18/902-unaligned_access_hacks.patch

@@ -835,7 +835,7 @@
  
 --- a/net/ipv4/tcp_input.c
 +++ b/net/ipv4/tcp_input.c
-@@ -3677,14 +3677,16 @@ static bool tcp_parse_aligned_timestamp(
+@@ -3678,14 +3678,16 @@ static bool tcp_parse_aligned_timestamp(
  {
  	const __be32 *ptr = (const __be32 *)(th + 1);
  

+ 2 - 2
target/linux/ar71xx/patches-3.18/903-MIPS-ath79-ubnt-rocket-m-xw-support.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -169,6 +169,7 @@
+@@ -169,6 +169,7 @@ enum ath79_mach_type {
  	ATH79_MACH_UBNT_NANO_M, 	/* Ubiquiti NanoStation M */
  	ATH79_MACH_UBNT_NANO_M_XW, 	/* Ubiquiti NanoStation M XW */
  	ATH79_MACH_UBNT_ROCKET_M,	/* Ubiquiti Rocket M */
@@ -10,7 +10,7 @@
  	ATH79_MACH_UBNT_UAP_PRO,	/* Ubiquiti UniFi AP Pro */
 --- a/arch/mips/ath79/mach-ubnt-xm.c
 +++ b/arch/mips/ath79/mach-ubnt-xm.c
-@@ -449,12 +449,42 @@
+@@ -449,12 +449,42 @@ static void __init ubnt_loco_m_xw_setup(
  	ath79_register_eth(0);
  }
  

+ 1 - 1
target/linux/at91/patches/101-ARM-at91-build-dtb-for-q5xr5.patch

@@ -1,6 +1,6 @@
 --- a/arch/arm/boot/dts/Makefile
 +++ b/arch/arm/boot/dts/Makefile
-@@ -20,6 +20,7 @@
+@@ -20,6 +20,7 @@ dtb-$(CONFIG_ARCH_AT91) += tny_a9263.dtb
  dtb-$(CONFIG_ARCH_AT91) += usb_a9263.dtb
  # sam9g20
  dtb-$(CONFIG_ARCH_AT91) += at91-foxg20.dtb

+ 5 - 5
target/linux/at91/patches/200-ARM-at91-udc-clockfix-backport.patch

@@ -1,6 +1,6 @@
 --- a/drivers/usb/gadget/udc/at91_udc.c
 +++ b/drivers/usb/gadget/udc/at91_udc.c
-@@ -870,8 +870,6 @@
+@@ -870,8 +870,6 @@ static void clk_on(struct at91_udc *udc)
  		return;
  	udc->clocked = 1;
  
@@ -9,7 +9,7 @@
  	clk_enable(udc->iclk);
  	clk_enable(udc->fclk);
  }
-@@ -884,8 +882,6 @@
+@@ -884,8 +882,6 @@ static void clk_off(struct at91_udc *udc
  	udc->gadget.speed = USB_SPEED_UNKNOWN;
  	clk_disable(udc->fclk);
  	clk_disable(udc->iclk);
@@ -18,7 +18,7 @@
  }
  
  /*
-@@ -1766,27 +1762,18 @@
+@@ -1766,27 +1762,18 @@ static int at91udc_probe(struct platform
  	udc_reinit(udc);
  
  	/* get interface and function clocks */
@@ -51,7 +51,7 @@
  
  	retval = clk_prepare_enable(udc->iclk);
  	if (retval)
-@@ -1860,12 +1847,7 @@
+@@ -1860,12 +1847,7 @@ fail1c:
  	clk_unprepare(udc->iclk);
  fail1b:
  	clk_unprepare(udc->fclk);
@@ -64,7 +64,7 @@
  	if (!IS_ERR(udc->fclk))
  		clk_put(udc->fclk);
  	if (!IS_ERR(udc->iclk))
-@@ -1911,15 +1893,11 @@
+@@ -1911,15 +1893,11 @@ static int __exit at91udc_remove(struct
  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
  	release_mem_region(res->start, resource_size(res));
  

+ 1 - 1
target/linux/at91/patches/901-AT91-flexibity-default-leds-to-heartbeat.patch

@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-at91/board-flexibity.c
 +++ b/arch/arm/mach-at91/board-flexibity.c
-@@ -89,49 +89,49 @@ static struct gpio_led flexibity_leds[]
+@@ -90,49 +90,49 @@ static struct gpio_led flexibity_leds[]
  		.name			= "usb1:green",
  		.gpio			= AT91_PIN_PA12,
  		.active_low		= 1,

+ 1 - 1
target/linux/au1000/patches/003-au1000_eth_ioctl.patch

@@ -1,6 +1,6 @@
 --- a/drivers/net/ethernet/amd/au1000_eth.c
 +++ b/drivers/net/ethernet/amd/au1000_eth.c
-@@ -988,10 +988,14 @@ static void au1000_multicast_list(struct
+@@ -1113,10 +1113,14 @@ static void au1000_multicast_list(struct
  	writel(reg, &aup->mac->control);
  }
  

+ 4 - 6
target/linux/au1000/patches/006-codec.patch

@@ -1,8 +1,6 @@
-Index: linux-3.18.8/arch/mips/alchemy/devboards/db1300.c
-===================================================================
---- linux-3.18.8.orig/arch/mips/alchemy/devboards/db1300.c	2015-02-27 02:49:36.000000000 +0100
-+++ linux-3.18.8/arch/mips/alchemy/devboards/db1300.c	2015-03-10 11:36:47.906310432 +0100
-@@ -712,6 +712,7 @@
+--- a/arch/mips/alchemy/devboards/db1300.c
++++ b/arch/mips/alchemy/devboards/db1300.c
+@@ -712,6 +712,7 @@ static struct platform_device db1300_lcd
  
  /**********************************************************************/
  
@@ -10,7 +8,7 @@ Index: linux-3.18.8/arch/mips/alchemy/devboards/db1300.c
  static void db1300_wm97xx_irqen(struct wm97xx *wm, int enable)
  {
  	if (enable)
-@@ -744,6 +745,15 @@
+@@ -744,6 +745,15 @@ static int db1300_wm97xx_probe(struct pl
  	return wm97xx_register_mach_ops(wm, &db1300_wm97xx_ops);
  }
  

+ 2 - 2
target/linux/bcm53xx/patches-3.18/003-mtd-spi-nor-from-3.19.patch

@@ -234,7 +234,7 @@
  	spi_nor_unlock_and_unprep(nor, SPI_NOR_OPS_ERASE);
  
  	instr->state = MTD_ERASE_DONE;
-@@ -341,11 +380,6 @@ static int spi_nor_lock(struct mtd_info 
+@@ -341,11 +380,6 @@ static int spi_nor_lock(struct mtd_info
  	if (ret)
  		return ret;
  
@@ -510,7 +510,7 @@
  	case CFI_MFR_MACRONIX:
  		status = macronix_quad_enable(nor);
  		if (status) {
-@@ -909,11 +925,6 @@ static int spi_nor_check(struct spi_nor 
+@@ -909,11 +925,6 @@ static int spi_nor_check(struct spi_nor
  		return -EINVAL;
  	}
  

+ 1 - 1
target/linux/bcm53xx/patches-3.18/004-mtd-spi-nor-from-3.20.patch

@@ -77,7 +77,7 @@
  static int set_quad_mode(struct spi_nor *nor, struct flash_info *info)
  {
  	int status;
-@@ -907,6 +947,13 @@ static int set_quad_mode(struct spi_nor 
+@@ -907,6 +947,13 @@ static int set_quad_mode(struct spi_nor
  			return -EINVAL;
  		}
  		return status;

+ 0 - 5
target/linux/bcm53xx/patches-3.18/058-ARM-BCM5301X-Add-USB-LED-for-Buffalo-WZR-1750DHP.patch

@@ -9,8 +9,6 @@ Signed-off-by: Florian Fainelli <[email protected]>
  arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts | 6 ++++++
  1 file changed, 6 insertions(+)
 
-diff --git a/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
-index b359c1e..78e95c0 100644
 --- a/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
 +++ b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
 @@ -47,6 +47,12 @@
@@ -26,6 +24,3 @@ index b359c1e..78e95c0 100644
  		power0 {
  			label = "bcm53xx:red:power";
  			gpios = <&hc595 1 GPIO_ACTIVE_HIGH>;
--- 
-1.8.4.5
-

+ 0 - 8
target/linux/bcm53xx/patches-3.18/059-ARM-BCM5301X-Add-DT-for-Buffalo-WXR-1900DHP.patch

@@ -15,8 +15,6 @@ Signed-off-by: Florian Fainelli <[email protected]>
  2 files changed, 128 insertions(+)
  create mode 100644 arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts
 
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index 86217db..d34785a 100644
 --- a/arch/arm/boot/dts/Makefile
 +++ b/arch/arm/boot/dts/Makefile
 @@ -62,6 +62,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
@@ -27,9 +25,6 @@ index 86217db..d34785a 100644
  	bcm4709-netgear-r8000.dtb
  dtb-$(CONFIG_ARCH_BCM_63XX) += bcm963138dvt.dtb
  dtb-$(CONFIG_ARCH_BCM_MOBILE) += bcm28155-ap.dtb \
-diff --git a/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts b/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts
-new file mode 100644
-index 0000000..548e93b
 --- /dev/null
 +++ b/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts
 @@ -0,0 +1,127 @@
@@ -160,6 +155,3 @@ index 0000000..548e93b
 +		};
 +	};
 +};
--- 
-1.8.4.5
-

+ 0 - 8
target/linux/bcm53xx/patches-3.18/060-ARM-BCM5301X-Add-DT-for-SmartRG-SR400ac.patch

@@ -14,8 +14,6 @@ Signed-off-by: Florian Fainelli <[email protected]>
  2 files changed, 120 insertions(+)
  create mode 100644 arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
 
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index d34785a..59f7970 100644
 --- a/arch/arm/boot/dts/Makefile
 +++ b/arch/arm/boot/dts/Makefile
 @@ -59,6 +59,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
@@ -26,9 +24,6 @@ index d34785a..59f7970 100644
  	bcm47081-asus-rt-n18u.dtb \
  	bcm47081-buffalo-wzr-600dhp2.dtb \
  	bcm47081-buffalo-wzr-900dhp.dtb \
-diff --git a/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts b/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
-new file mode 100644
-index 0000000..66dfb53
 --- /dev/null
 +++ b/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
 @@ -0,0 +1,119 @@
@@ -151,6 +146,3 @@ index 0000000..66dfb53
 +		};
 +	};
 +};
--- 
-1.8.4.5
-

+ 0 - 8
target/linux/bcm53xx/patches-3.18/061-ARM-BCM5301X-Add-DT-for-Asus-RT-AC68U.patch

@@ -14,8 +14,6 @@ Signed-off-by: Florian Fainelli <[email protected]>
  2 files changed, 84 insertions(+)
  create mode 100644 arch/arm/boot/dts/bcm4708-asus-rt-ac68u.dts
 
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index 59f7970..1e8b8b7 100644
 --- a/arch/arm/boot/dts/Makefile
 +++ b/arch/arm/boot/dts/Makefile
 @@ -55,6 +55,7 @@ dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.
@@ -26,9 +24,6 @@ index 59f7970..1e8b8b7 100644
  	bcm4708-buffalo-wzr-1750dhp.dtb \
  	bcm4708-luxul-xwc-1000.dtb \
  	bcm4708-netgear-r6250.dtb \
-diff --git a/arch/arm/boot/dts/bcm4708-asus-rt-ac68u.dts b/arch/arm/boot/dts/bcm4708-asus-rt-ac68u.dts
-new file mode 100644
-index 0000000..8b62836
 --- /dev/null
 +++ b/arch/arm/boot/dts/bcm4708-asus-rt-ac68u.dts
 @@ -0,0 +1,83 @@
@@ -115,6 +110,3 @@ index 0000000..8b62836
 +		};
 +	};
 +};
--- 
-1.8.4.5
-

+ 0 - 8
target/linux/bcm53xx/patches-3.18/062-ARM-BCM5301X-Add-DT-for-Asus-RT-AC56U.patch

@@ -14,8 +14,6 @@ Signed-off-by: Florian Fainelli <[email protected]>
  2 files changed, 97 insertions(+)
  create mode 100644 arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts
 
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index 1e8b8b7..4802376 100644
 --- a/arch/arm/boot/dts/Makefile
 +++ b/arch/arm/boot/dts/Makefile
 @@ -55,6 +55,7 @@ dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.
@@ -26,9 +24,6 @@ index 1e8b8b7..4802376 100644
  	bcm4708-asus-rt-ac68u.dtb \
  	bcm4708-buffalo-wzr-1750dhp.dtb \
  	bcm4708-luxul-xwc-1000.dtb \
-diff --git a/arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts b/arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts
-new file mode 100644
-index 0000000..71cff8d
 --- /dev/null
 +++ b/arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts
 @@ -0,0 +1,96 @@
@@ -128,6 +123,3 @@ index 0000000..71cff8d
 +		};
 +	};
 +};
--- 
-1.8.4.5
-

+ 0 - 8
target/linux/bcm53xx/patches-3.18/133-ARM-BCM5301X-Add-DT-for-Asus-RT-AC87U.patch

@@ -14,8 +14,6 @@ Signed-off-by: Álvaro Fernández Rojas <[email protected]>
  2 files changed, 66 insertions(+)
  create mode 100644 arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts
 
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index 4802376..4e76f68 100644
 --- a/arch/arm/boot/dts/Makefile
 +++ b/arch/arm/boot/dts/Makefile
 @@ -65,6 +65,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
@@ -26,9 +24,6 @@ index 4802376..4e76f68 100644
  	bcm4709-buffalo-wxr-1900dhp.dtb \
  	bcm4709-netgear-r8000.dtb
  dtb-$(CONFIG_ARCH_BCM_63XX) += bcm963138dvt.dtb
-diff --git a/arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts b/arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts
-new file mode 100644
-index 0000000..aedf3c4
 --- /dev/null
 +++ b/arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts
 @@ -0,0 +1,65 @@
@@ -97,6 +92,3 @@ index 0000000..aedf3c4
 +		};
 +	};
 +};
--- 
-1.8.4.5
-

+ 0 - 5
target/linux/bcm53xx/patches-3.18/320-ARM-BCM5301X-Add-Buffalo-WXR-1900DHP-clock-and-USB-p.patch

@@ -13,8 +13,6 @@ Signed-off-by: Rafał Miłecki <[email protected]>
  arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts | 17 +++++++++++++++++
  1 file changed, 17 insertions(+)
 
-diff --git a/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts b/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts
-index 4b02a0b..2c691a8 100644
 --- a/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts
 +++ b/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts
 @@ -24,6 +24,23 @@
@@ -41,6 +39,3 @@ index 4b02a0b..2c691a8 100644
  	leds {
  		compatible = "gpio-leds";
  
--- 
-1.8.4.5
-

+ 2 - 7
target/linux/bcm53xx/patches-3.18/700-bgmac-add-support-for-the-3rd-bus-core-device.patch

@@ -15,11 +15,9 @@ Signed-off-by: Rafał Miłecki <[email protected]>
  drivers/net/ethernet/broadcom/bgmac.c | 28 +++++++++++++++++++++++-----
  1 file changed, 23 insertions(+), 5 deletions(-)
 
-diff --git a/drivers/net/ethernet/broadcom/bgmac.c b/drivers/net/ethernet/broadcom/bgmac.c
-index f66c416..0614cae 100644
 --- a/drivers/net/ethernet/broadcom/bgmac.c
 +++ b/drivers/net/ethernet/broadcom/bgmac.c
-@@ -1561,11 +1561,20 @@ static int bgmac_probe(struct bcma_device *core)
+@@ -1561,11 +1561,20 @@ static int bgmac_probe(struct bcma_devic
  	struct net_device *net_dev;
  	struct bgmac *bgmac;
  	struct ssb_sprom *sprom = &core->bus->sprom;
@@ -43,7 +41,7 @@ index f66c416..0614cae 100644
  		pr_err("Unsupported core_unit %d\n", core->core_unit);
  		return -ENOTSUPP;
  	}
-@@ -1600,8 +1609,17 @@ static int bgmac_probe(struct bcma_device *core)
+@@ -1600,8 +1609,17 @@ static int bgmac_probe(struct bcma_devic
  	}
  	bgmac->cmn = core->bus->drv_gmac_cmn.core;
  
@@ -63,6 +61,3 @@ index f66c416..0614cae 100644
  	bgmac->phyaddr &= BGMAC_PHY_MASK;
  	if (bgmac->phyaddr == BGMAC_PHY_MASK) {
  		bgmac_err(bgmac, "No PHY found\n");
--- 
-1.8.4.5
-

+ 1 - 6
target/linux/bcm53xx/patches-3.18/710-b53-add-hacky-CPU-port-fixes-for-devices-not-using-p.patch

@@ -11,8 +11,6 @@ Signed-off-by: Rafał Miłecki <[email protected]>
  drivers/net/phy/b53/b53_common.c | 6 ++++++
  1 file changed, 6 insertions(+)
 
-diff --git a/drivers/net/phy/b53/b53_common.c b/drivers/net/phy/b53/b53_common.c
-index 2b05d5d..fd3b39c 100644
 --- a/drivers/net/phy/b53/b53_common.c
 +++ b/drivers/net/phy/b53/b53_common.c
 @@ -25,6 +25,7 @@
@@ -23,7 +21,7 @@ index 2b05d5d..fd3b39c 100644
  
  #include "b53_regs.h"
  #include "b53_priv.h"
-@@ -1313,6 +1314,11 @@ static int b53_switch_init(struct b53_device *dev)
+@@ -1313,6 +1314,11 @@ static int b53_switch_init(struct b53_de
  			sw_dev->cpu_port = 5;
  	}
  
@@ -35,6 +33,3 @@ index 2b05d5d..fd3b39c 100644
  	/* cpu port is always last */
  	sw_dev->ports = sw_dev->cpu_port + 1;
  	dev->enabled_ports |= BIT(sw_dev->cpu_port);
--- 
-1.8.4.5
-

+ 1 - 6
target/linux/bcm53xx/patches-3.18/901-mtd-bcm47xxpart-workaround-for-Asus-RT-AC87U-asus-pa.patch

@@ -12,8 +12,6 @@ Signed-off-by: Rafał Miłecki <[email protected]>
  drivers/mtd/bcm47xxpart.c | 12 ++++++++++++
  1 file changed, 12 insertions(+)
 
-diff --git a/drivers/mtd/bcm47xxpart.c b/drivers/mtd/bcm47xxpart.c
-index 34314f9..d08d329 100644
 --- a/drivers/mtd/bcm47xxpart.c
 +++ b/drivers/mtd/bcm47xxpart.c
 @@ -14,6 +14,7 @@
@@ -24,7 +22,7 @@ index 34314f9..d08d329 100644
  
  #include <uapi/linux/magic.h>
  
-@@ -135,6 +136,17 @@ static int bcm47xxpart_parse(struct mtd_info *master,
+@@ -135,6 +136,17 @@ static int bcm47xxpart_parse(struct mtd_
  			break;
  		}
  
@@ -42,6 +40,3 @@ index 34314f9..d08d329 100644
  		/* Read beginning of the block */
  		if (mtd_read(master, offset, BCM47XXPART_BYTES_TO_READ,
  			     &bytes_read, (uint8_t *)buf) < 0) {
--- 
-1.8.4.5
-

+ 1 - 1
target/linux/brcm2708/patches-3.18/0001-Main-bcm2708-linux-port.patch

@@ -612,7 +612,7 @@ Signed-off-by: popcornmix <[email protected]>
 +CONFIG_LIBCRC32C=y
 --- a/arch/arm/kernel/process.c
 +++ b/arch/arm/kernel/process.c
-@@ -166,6 +166,16 @@ void arch_cpu_idle_dead(void)
+@@ -172,6 +172,16 @@ void arch_cpu_idle_dead(void)
  }
  #endif
  

+ 1 - 1
target/linux/brcm2708/patches-3.18/0004-Add-dwc_otg-driver.patch

@@ -159,7 +159,7 @@ Signed-off-by: Kari Suvanto <[email protected]>
  }
 --- a/drivers/usb/core/message.c
 +++ b/drivers/usb/core/message.c
-@@ -1889,6 +1889,85 @@ free_interfaces:
+@@ -1872,6 +1872,85 @@ free_interfaces:
  	if (cp->string == NULL &&
  			!(dev->quirks & USB_QUIRK_CONFIG_INTF_STRINGS))
  		cp->string = usb_cache_string(dev, cp->desc.iConfiguration);

+ 1 - 1
target/linux/brcm2708/patches-3.18/0027-bcm2835-add-v4l2-camera-device.patch

@@ -111,7 +111,7 @@ Signed-off-by: Luke Diamand <[email protected]>
 +$ v4l2-ctl --list-formats
 --- a/drivers/media/platform/Kconfig
 +++ b/drivers/media/platform/Kconfig
-@@ -126,6 +126,7 @@ config VIDEO_S3C_CAMIF
+@@ -124,6 +124,7 @@ config VIDEO_S3C_CAMIF
  source "drivers/media/platform/soc_camera/Kconfig"
  source "drivers/media/platform/exynos4-is/Kconfig"
  source "drivers/media/platform/s5p-tv/Kconfig"

+ 2 - 2
target/linux/brcm2708/patches-3.18/0043-pcm512x-Use-a-range-macro-for-Volume-and-rename-to-P.patch

@@ -20,6 +20,6 @@ DAC ouput stages.
 -		 PCM512x_DIGITAL_VOLUME_3, 0, 255, 1, digital_tlv),
 +SOC_DOUBLE_R_RANGE_TLV("PCM", PCM512x_DIGITAL_VOLUME_2,
 +		 PCM512x_DIGITAL_VOLUME_3, 0, 40, 255, 1, digital_tlv),
- SOC_DOUBLE_TLV("Playback Volume", PCM512x_ANALOG_GAIN_CTRL,
+ SOC_DOUBLE_TLV("Analogue Playback Volume", PCM512x_ANALOG_GAIN_CTRL,
  	       PCM512x_LAGN_SHIFT, PCM512x_RAGN_SHIFT, 1, 1, analog_tlv),
- SOC_DOUBLE_TLV("Playback Boost Volume", PCM512x_ANALOG_GAIN_BOOST,
+ SOC_DOUBLE_TLV("Analogue Playback Boost Volume", PCM512x_ANALOG_GAIN_BOOST,

+ 0 - 5
target/linux/brcm47xx/patches-3.18/030-01-MIPS-BCM47XX-Get-rid-of-calls-to-KSEG1ADDR.patch

@@ -18,8 +18,6 @@ Signed-off-by: Ralf Baechle <[email protected]>
  arch/mips/bcm47xx/nvram.c | 44 ++++++++++++++++++++++++++++++++------------
  1 file changed, 32 insertions(+), 12 deletions(-)
 
-diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
-index 2bed73a..e07976b 100644
 --- a/arch/mips/bcm47xx/nvram.c
 +++ b/arch/mips/bcm47xx/nvram.c
 @@ -23,13 +23,13 @@
@@ -127,6 +125,3 @@ index 2bed73a..e07976b 100644
  }
  #endif
  
--- 
-1.8.4.5
-

+ 3 - 12
target/linux/brcm47xx/patches-3.18/030-02-MIPS-BCM47XX-Make-ssb-init-NVRAM-instead-of-bcm47xx-.patch

@@ -22,8 +22,6 @@ Signed-off-by: Ralf Baechle <[email protected]>
  drivers/ssb/driver_mipscore.c                      | 14 +++++++++-
  3 files changed, 23 insertions(+), 22 deletions(-)
 
-diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
-index e07976b..fecc5ae 100644
 --- a/arch/mips/bcm47xx/nvram.c
 +++ b/arch/mips/bcm47xx/nvram.c
 @@ -98,7 +98,14 @@ found:
@@ -42,7 +40,7 @@ index e07976b..fecc5ae 100644
  {
  	void __iomem *iobase;
  	int err;
-@@ -114,25 +121,6 @@ static int bcm47xx_nvram_init_from_mem(u32 base, u32 lim)
+@@ -114,25 +121,6 @@ static int bcm47xx_nvram_init_from_mem(u
  	return err;
  }
  
@@ -77,8 +75,6 @@ index e07976b..fecc5ae 100644
  #endif
  #ifdef CONFIG_BCM47XX_BCMA
  	case BCM47XX_BUS_TYPE_BCMA:
-diff --git a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
-index 36a3fc1..676be22 100644
 --- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
 +++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
 @@ -32,6 +32,7 @@ struct nvram_header {
@@ -89,8 +85,6 @@ index 36a3fc1..676be22 100644
  extern int bcm47xx_nvram_getenv(char *name, char *val, size_t val_len);
  
  static inline void bcm47xx_nvram_parse_macaddr(char *buf, u8 macaddr[6])
-diff --git a/drivers/ssb/driver_mipscore.c b/drivers/ssb/driver_mipscore.c
-index 0907706..7b986f9 100644
 --- a/drivers/ssb/driver_mipscore.c
 +++ b/drivers/ssb/driver_mipscore.c
 @@ -15,6 +15,9 @@
@@ -103,7 +97,7 @@ index 0907706..7b986f9 100644
  
  #include "ssb_private.h"
  
-@@ -210,6 +213,7 @@ static void ssb_mips_serial_init(struct ssb_mipscore *mcore)
+@@ -210,6 +213,7 @@ static void ssb_mips_serial_init(struct
  static void ssb_mips_flash_detect(struct ssb_mipscore *mcore)
  {
  	struct ssb_bus *bus = mcore->dev->bus;
@@ -111,7 +105,7 @@ index 0907706..7b986f9 100644
  	struct ssb_pflash *pflash = &mcore->pflash;
  
  	/* When there is no chipcommon on the bus there is 4MB flash */
-@@ -242,7 +246,15 @@ static void ssb_mips_flash_detect(struct ssb_mipscore *mcore)
+@@ -242,7 +246,15 @@ static void ssb_mips_flash_detect(struct
  	}
  
  ssb_pflash:
@@ -128,6 +122,3 @@ index 0907706..7b986f9 100644
  		ssb_pflash_data.width = pflash->buswidth;
  		ssb_pflash_resource.start = pflash->window;
  		ssb_pflash_resource.end = pflash->window + pflash->window_size;
--- 
-1.8.4.5
-

+ 2 - 9
target/linux/brcm47xx/patches-3.18/030-03-MIPS-BCM47XX-Make-bcma-init-NVRAM-instead-of-bcm47xx.patch

@@ -20,11 +20,9 @@ Signed-off-by: Ralf Baechle <[email protected]>
  drivers/bcma/driver_mips.c | 13 +++++++++++--
  2 files changed, 13 insertions(+), 42 deletions(-)
 
-diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
-index fecc5ae..21712fb 100644
 --- a/arch/mips/bcm47xx/nvram.c
 +++ b/arch/mips/bcm47xx/nvram.c
-@@ -121,48 +121,10 @@ int bcm47xx_nvram_init_from_mem(u32 base, u32 lim)
+@@ -121,48 +121,10 @@ int bcm47xx_nvram_init_from_mem(u32 base
  	return err;
  }
  
@@ -75,8 +73,6 @@ index fecc5ae..21712fb 100644
  	return -ENXIO;
  }
  
-diff --git a/drivers/bcma/driver_mips.c b/drivers/bcma/driver_mips.c
-index 004d6aa..8a653dc 100644
 --- a/drivers/bcma/driver_mips.c
 +++ b/drivers/bcma/driver_mips.c
 @@ -20,6 +20,9 @@
@@ -89,7 +85,7 @@ index 004d6aa..8a653dc 100644
  
  enum bcma_boot_dev {
  	BCMA_BOOT_DEV_UNK = 0,
-@@ -316,10 +319,16 @@ static void bcma_core_mips_flash_detect(struct bcma_drv_mips *mcore)
+@@ -316,10 +319,16 @@ static void bcma_core_mips_flash_detect(
  	switch (boot_dev) {
  	case BCMA_BOOT_DEV_PARALLEL:
  	case BCMA_BOOT_DEV_SERIAL:
@@ -108,6 +104,3 @@ index 004d6aa..8a653dc 100644
  		break;
  	default:
  		break;
--- 
-1.8.4.5
-

+ 3 - 12
target/linux/brcm47xx/patches-3.18/030-04-MIPS-BCM47XX-Move-SPROM-fallback-code-into-sprom.c.patch

@@ -20,8 +20,6 @@ Signed-off-by: Ralf Baechle <[email protected]>
  arch/mips/bcm47xx/sprom.c           | 68 +++++++++++++++++++++++++++++++++++++
  3 files changed, 73 insertions(+), 56 deletions(-)
 
-diff --git a/arch/mips/bcm47xx/bcm47xx_private.h b/arch/mips/bcm47xx/bcm47xx_private.h
-index f1cc9d0..12a112d 100644
 --- a/arch/mips/bcm47xx/bcm47xx_private.h
 +++ b/arch/mips/bcm47xx/bcm47xx_private.h
 @@ -6,6 +6,9 @@
@@ -34,8 +32,6 @@ index f1cc9d0..12a112d 100644
  /* buttons.c */
  int __init bcm47xx_buttons_register(void);
  
-diff --git a/arch/mips/bcm47xx/setup.c b/arch/mips/bcm47xx/setup.c
-index c00585d..444c65a 100644
 --- a/arch/mips/bcm47xx/setup.c
 +++ b/arch/mips/bcm47xx/setup.c
 @@ -102,23 +102,6 @@ static void bcm47xx_machine_halt(void)
@@ -62,7 +58,7 @@ index c00585d..444c65a 100644
  static int bcm47xx_get_invariants(struct ssb_bus *bus,
  				  struct ssb_init_invariants *iv)
  {
-@@ -144,11 +127,6 @@ static void __init bcm47xx_register_ssb(void)
+@@ -144,11 +127,6 @@ static void __init bcm47xx_register_ssb(
  	char buf[100];
  	struct ssb_mipscore *mcore;
  
@@ -74,7 +70,7 @@ index c00585d..444c65a 100644
  	err = ssb_bus_ssbbus_register(&(bcm47xx_bus.ssb), SSB_ENUM_BASE,
  				      bcm47xx_get_invariants);
  	if (err)
-@@ -171,44 +149,10 @@ static void __init bcm47xx_register_ssb(void)
+@@ -171,44 +149,10 @@ static void __init bcm47xx_register_ssb(
  #endif
  
  #ifdef CONFIG_BCM47XX_BCMA
@@ -135,11 +131,9 @@ index c00585d..444c65a 100644
  		bcm47xx_register_ssb();
  		bcm47xx_set_system_type(bcm47xx_bus.ssb.chip_id);
  #endif
-diff --git a/arch/mips/bcm47xx/sprom.c b/arch/mips/bcm47xx/sprom.c
-index 41226b6..e772e77 100644
 --- a/arch/mips/bcm47xx/sprom.c
 +++ b/arch/mips/bcm47xx/sprom.c
-@@ -801,3 +801,71 @@ void bcm47xx_fill_bcma_boardinfo(struct bcma_boardinfo *boardinfo,
+@@ -801,3 +801,71 @@ void bcm47xx_fill_bcma_boardinfo(struct
  	nvram_read_u16(prefix, NULL, "boardtype", &boardinfo->type, 0, true);
  }
  #endif
@@ -211,6 +205,3 @@ index 41226b6..e772e77 100644
 +		pr_warn("Failed to registered bcma SPROM handler\n");
 +#endif
 +}
--- 
-1.8.4.5
-

+ 2 - 11
target/linux/brcm47xx/patches-3.18/030-05-MIPS-BCM47XX-Initialize-bcma-bus-later-with-mm-avail.patch

@@ -21,11 +21,9 @@ Signed-off-by: Ralf Baechle <[email protected]>
  arch/mips/bcm47xx/setup.c           | 33 +++++++++++++++++++++++++++------
  3 files changed, 38 insertions(+), 6 deletions(-)
 
-diff --git a/arch/mips/bcm47xx/bcm47xx_private.h b/arch/mips/bcm47xx/bcm47xx_private.h
-index 12a112d..ea909a5 100644
 --- a/arch/mips/bcm47xx/bcm47xx_private.h
 +++ b/arch/mips/bcm47xx/bcm47xx_private.h
-@@ -15,6 +15,9 @@ int __init bcm47xx_buttons_register(void);
+@@ -15,6 +15,9 @@ int __init bcm47xx_buttons_register(void
  /* leds.c */
  void __init bcm47xx_leds_register(void);
  
@@ -35,8 +33,6 @@ index 12a112d..ea909a5 100644
  /* workarounds.c */
  void __init bcm47xx_workarounds(void);
  
-diff --git a/arch/mips/bcm47xx/irq.c b/arch/mips/bcm47xx/irq.c
-index e0585b7..21b4497 100644
 --- a/arch/mips/bcm47xx/irq.c
 +++ b/arch/mips/bcm47xx/irq.c
 @@ -22,6 +22,8 @@
@@ -61,11 +57,9 @@ index e0585b7..21b4497 100644
  #ifdef CONFIG_BCM47XX_BCMA
  	if (bcm47xx_bus_type == BCM47XX_BUS_TYPE_BCMA) {
  		bcma_write32(bcm47xx_bus.bcma.bus.drv_mips.core,
-diff --git a/arch/mips/bcm47xx/setup.c b/arch/mips/bcm47xx/setup.c
-index 444c65a..e43b504 100644
 --- a/arch/mips/bcm47xx/setup.c
 +++ b/arch/mips/bcm47xx/setup.c
-@@ -156,15 +156,14 @@ static void __init bcm47xx_register_bcma(void)
+@@ -156,15 +156,14 @@ static void __init bcm47xx_register_bcma
  	err = bcma_host_soc_register(&bcm47xx_bus.bcma);
  	if (err)
  		panic("Failed to register BCMA bus (err %d)", err);
@@ -115,6 +109,3 @@ index 444c65a..e43b504 100644
  	bcm47xx_board_detect();
  	mips_set_machine_name(bcm47xx_board_get_name());
  }
--- 
-1.8.4.5
-

+ 1 - 6
target/linux/brcm47xx/patches-3.18/030-06-MIPS-BCM47XX-Use-mtd-as-an-alternative-way-API-to-ge.patch

@@ -20,8 +20,6 @@ Signed-off-by: Ralf Baechle <[email protected]>
  arch/mips/bcm47xx/nvram.c | 42 ++++++++++++++++++++++++++++++++++++++----
  1 file changed, 38 insertions(+), 4 deletions(-)
 
-diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
-index 21712fb..8b64991 100644
 --- a/arch/mips/bcm47xx/nvram.c
 +++ b/arch/mips/bcm47xx/nvram.c
 @@ -13,12 +13,10 @@
@@ -38,7 +36,7 @@ index 21712fb..8b64991 100644
  
  static char nvram_buf[NVRAM_SPACE];
  static const u32 nvram_sizes[] = {0x8000, 0xF000, 0x10000};
-@@ -123,7 +121,43 @@ int bcm47xx_nvram_init_from_mem(u32 base, u32 lim)
+@@ -123,7 +121,43 @@ int bcm47xx_nvram_init_from_mem(u32 base
  
  static int nvram_init(void)
  {
@@ -83,6 +81,3 @@ index 21712fb..8b64991 100644
  
  	return -ENXIO;
  }
--- 
-1.8.4.5
-

+ 3 - 12
target/linux/brcm47xx/patches-3.18/030-07-MIPS-BCM47XX-Clean-up-nvram-header.patch

@@ -23,8 +23,6 @@ Signed-off-by: Ralf Baechle <[email protected]>
  arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h | 35 +---------------------
  3 files changed, 33 insertions(+), 39 deletions(-)
 
-diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
-index 8b64991..c5c381c 100644
 --- a/arch/mips/bcm47xx/nvram.c
 +++ b/arch/mips/bcm47xx/nvram.c
 @@ -18,6 +18,19 @@
@@ -47,7 +45,7 @@ index 8b64991..c5c381c 100644
  static char nvram_buf[NVRAM_SPACE];
  static const u32 nvram_sizes[] = {0x8000, 0xF000, 0x10000};
  
-@@ -28,7 +41,7 @@ static u32 find_nvram_size(void __iomem *end)
+@@ -28,7 +41,7 @@ static u32 find_nvram_size(void __iomem
  
  	for (i = 0; i < ARRAY_SIZE(nvram_sizes); i++) {
  		header = (struct nvram_header *)(end - nvram_sizes[i]);
@@ -56,7 +54,7 @@ index 8b64991..c5c381c 100644
  			return nvram_sizes[i];
  	}
  
-@@ -63,13 +76,13 @@ static int nvram_find_and_copy(void __iomem *iobase, u32 lim)
+@@ -63,13 +76,13 @@ static int nvram_find_and_copy(void __io
  
  	/* Try embedded NVRAM at 4 KB and 1 KB as last resorts */
  	header = (struct nvram_header *)(iobase + 4096);
@@ -90,11 +88,9 @@ index 8b64991..c5c381c 100644
  {
  	char *var, *value, *end, *eq;
  	int err;
-diff --git a/arch/mips/bcm47xx/sprom.c b/arch/mips/bcm47xx/sprom.c
-index e772e77..2eff7fe 100644
 --- a/arch/mips/bcm47xx/sprom.c
 +++ b/arch/mips/bcm47xx/sprom.c
-@@ -136,6 +136,20 @@ static void nvram_read_leddc(const char *prefix, const char *name,
+@@ -136,6 +136,20 @@ static void nvram_read_leddc(const char
  	*leddc_off_time = (val >> 16) & 0xff;
  }
  
@@ -115,8 +111,6 @@ index e772e77..2eff7fe 100644
  static void nvram_read_macaddr(const char *prefix, const char *name,
  			       u8 val[6], bool fallback)
  {
-diff --git a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
-index 676be22..ee59ffe 100644
 --- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
 +++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
 @@ -14,41 +14,8 @@
@@ -162,6 +156,3 @@ index 676be22..ee59ffe 100644
  int bcm47xx_nvram_gpio_pin(const char *name);
  
  #endif /* __BCM47XX_NVRAM_H */
--- 
-1.8.4.5
-

+ 2 - 7
target/linux/brcm47xx/patches-3.18/031-01-MIPS-BCM47XX-Support-SPROM-prefixes-for-PCI-devices.patch

@@ -17,11 +17,9 @@ Signed-off-by: Ralf Baechle <[email protected]>
  arch/mips/bcm47xx/sprom.c | 33 +++++++++++++++++++++++++++++++++
  1 file changed, 33 insertions(+)
 
-diff --git a/arch/mips/bcm47xx/sprom.c b/arch/mips/bcm47xx/sprom.c
-index 2eff7fe..eff9205 100644
 --- a/arch/mips/bcm47xx/sprom.c
 +++ b/arch/mips/bcm47xx/sprom.c
-@@ -836,6 +836,38 @@ static int bcm47xx_get_sprom_ssb(struct ssb_bus *bus, struct ssb_sprom *out)
+@@ -836,6 +836,38 @@ static int bcm47xx_get_sprom_ssb(struct
  #endif
  
  #if defined(CONFIG_BCM47XX_BCMA)
@@ -60,7 +58,7 @@ index 2eff7fe..eff9205 100644
  static int bcm47xx_get_sprom_bcma(struct bcma_bus *bus, struct ssb_sprom *out)
  {
  	char prefix[10];
-@@ -847,6 +879,7 @@ static int bcm47xx_get_sprom_bcma(struct bcma_bus *bus, struct ssb_sprom *out)
+@@ -847,6 +879,7 @@ static int bcm47xx_get_sprom_bcma(struct
  		snprintf(prefix, sizeof(prefix), "pci/%u/%u/",
  			 bus->host_pci->bus->number + 1,
  			 PCI_SLOT(bus->host_pci->devfn));
@@ -68,6 +66,3 @@ index 2eff7fe..eff9205 100644
  		bcm47xx_fill_sprom(out, prefix, false);
  		return 0;
  	case BCMA_HOSTTYPE_SOC:
--- 
-1.8.4.5
-

+ 0 - 38
target/linux/brcm47xx/patches-3.18/031-02-MIPS-BCM47XX-Fix-detecting-Microsoft-MN-700-Asus-WL5.patch

@@ -1,38 +0,0 @@
-From e0c3678ae640db049f738f30b5f23cde740799ac Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <[email protected]>
-Date: Wed, 1 Apr 2015 16:01:02 +0200
-Subject: [PATCH] MIPS: BCM47XX: Fix detecting Microsoft MN-700 & Asus WL500G
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Since the day of adding this code it was broken. We were iterating over
-a wrong array and checking for wrong NVRAM entry.
-
-Signed-off-by: Rafał Miłecki <[email protected]>
-Cc: [email protected]
-Cc: Hauke Mehrtens <[email protected]>
-Patchwork: https://patchwork.linux-mips.org/patch/9654/
-Signed-off-by: Ralf Baechle <[email protected]>
----
- arch/mips/bcm47xx/board.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/arch/mips/bcm47xx/board.c b/arch/mips/bcm47xx/board.c
-index b3ae068..3fd369d 100644
---- a/arch/mips/bcm47xx/board.c
-+++ b/arch/mips/bcm47xx/board.c
-@@ -247,8 +247,8 @@ static __init const struct bcm47xx_board_type *bcm47xx_board_get_nvram(void)
- 	}
- 
- 	if (bcm47xx_nvram_getenv("hardware_version", buf1, sizeof(buf1)) >= 0 &&
--	    bcm47xx_nvram_getenv("boardtype", buf2, sizeof(buf2)) >= 0) {
--		for (e2 = bcm47xx_board_list_boot_hw; e2->value1; e2++) {
-+	    bcm47xx_nvram_getenv("boardnum", buf2, sizeof(buf2)) >= 0) {
-+		for (e2 = bcm47xx_board_list_hw_version_num; e2->value1; e2++) {
- 			if (!strstarts(buf1, e2->value1) &&
- 			    !strcmp(buf2, e2->value2))
- 				return &e2->board;
--- 
-1.8.4.5
-

+ 1 - 6
target/linux/brcm47xx/patches-3.18/031-03-MIPS-BCM47XX-Use-helpers-for-reading-NVRAM-content.patch

@@ -18,11 +18,9 @@ Signed-off-by: Ralf Baechle <[email protected]>
  arch/mips/bcm47xx/nvram.c | 7 ++-----
  1 file changed, 2 insertions(+), 5 deletions(-)
 
-diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
-index c5c381c..5e4ae04 100644
 --- a/arch/mips/bcm47xx/nvram.c
 +++ b/arch/mips/bcm47xx/nvram.c
-@@ -91,7 +91,6 @@ static int nvram_find_and_copy(void __iomem *iobase, u32 lim)
+@@ -91,7 +91,6 @@ static int nvram_find_and_copy(void __io
  	return -ENXIO;
  
  found:
@@ -51,6 +49,3 @@ index c5c381c..5e4ae04 100644
  
  			return 0;
  		}
--- 
-1.8.4.5
-

+ 1 - 6
target/linux/brcm47xx/patches-3.18/031-04-MIPS-BCM47XX-Use-strnchr-to-avoid-reading-out-of-the.patch

@@ -16,8 +16,6 @@ Signed-off-by: Ralf Baechle <[email protected]>
  arch/mips/bcm47xx/nvram.c | 6 ++++--
  1 file changed, 4 insertions(+), 2 deletions(-)
 
-diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
-index 5e4ae04..d805d8a 100644
 --- a/arch/mips/bcm47xx/nvram.c
 +++ b/arch/mips/bcm47xx/nvram.c
 @@ -175,7 +175,7 @@ static int nvram_init(void)
@@ -29,7 +27,7 @@ index 5e4ae04..d805d8a 100644
  
  	if (!name)
  		return -EINVAL;
-@@ -191,7 +191,9 @@ int bcm47xx_nvram_getenv(const char *name, char *val, size_t val_len)
+@@ -191,7 +191,9 @@ int bcm47xx_nvram_getenv(const char *nam
  	end = nvram_buf + sizeof(nvram_buf) - 2;
  	end[0] = end[1] = '\0';
  	for (; *var; var = value + strlen(value) + 1) {
@@ -40,6 +38,3 @@ index 5e4ae04..d805d8a 100644
  		if (!eq)
  			break;
  		value = eq + 1;
--- 
-1.8.4.5
-

+ 1 - 29
target/linux/brcm47xx/patches-3.18/031-05-MIPS-BCM47xx-Move-NVRAM-header-to-the-include-linux.patch

@@ -39,8 +39,6 @@ Signed-off-by: Ralf Baechle <[email protected]>
  delete mode 100644 arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
  create mode 100644 include/linux/bcm47xx_nvram.h
 
-diff --git a/arch/mips/bcm47xx/board.c b/arch/mips/bcm47xx/board.c
-index b3ae068..6e85130 100644
 --- a/arch/mips/bcm47xx/board.c
 +++ b/arch/mips/bcm47xx/board.c
 @@ -1,8 +1,8 @@
@@ -53,8 +51,6 @@ index b3ae068..6e85130 100644
  
  struct bcm47xx_board_type {
  	const enum bcm47xx_board board;
-diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
-index d805d8a..7c77a88 100644
 --- a/arch/mips/bcm47xx/nvram.c
 +++ b/arch/mips/bcm47xx/nvram.c
 @@ -16,7 +16,7 @@
@@ -66,8 +62,6 @@ index d805d8a..7c77a88 100644
  
  #define NVRAM_MAGIC		0x48534C46	/* 'FLSH' */
  #define NVRAM_SPACE		0x8000
-diff --git a/arch/mips/bcm47xx/setup.c b/arch/mips/bcm47xx/setup.c
-index e43b504..b26c9c2 100644
 --- a/arch/mips/bcm47xx/setup.c
 +++ b/arch/mips/bcm47xx/setup.c
 @@ -42,7 +42,6 @@
@@ -78,8 +72,6 @@ index e43b504..b26c9c2 100644
  #include <bcm47xx_board.h>
  
  union bcm47xx_bus bcm47xx_bus;
-diff --git a/arch/mips/bcm47xx/sprom.c b/arch/mips/bcm47xx/sprom.c
-index eff9205..c114b02 100644
 --- a/arch/mips/bcm47xx/sprom.c
 +++ b/arch/mips/bcm47xx/sprom.c
 @@ -27,7 +27,6 @@
@@ -90,8 +82,6 @@ index eff9205..c114b02 100644
  #include <linux/if_ether.h>
  #include <linux/etherdevice.h>
  
-diff --git a/arch/mips/bcm47xx/time.c b/arch/mips/bcm47xx/time.c
-index 2c85d92..5b46510 100644
 --- a/arch/mips/bcm47xx/time.c
 +++ b/arch/mips/bcm47xx/time.c
 @@ -27,7 +27,6 @@
@@ -102,8 +92,6 @@ index 2c85d92..5b46510 100644
  #include <bcm47xx_board.h>
  
  void __init plat_time_init(void)
-diff --git a/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h b/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h
-index 7527c1d..8ed77f6 100644
 --- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h
 +++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h
 @@ -22,6 +22,7 @@
@@ -139,8 +127,6 @@ index 7527c1d..8ed77f6 100644
 -
 -#endif /* __BCM47XX_NVRAM_H */
 +#include <linux/bcm47xx_nvram.h>
-diff --git a/drivers/bcma/driver_mips.c b/drivers/bcma/driver_mips.c
-index 04faf6d..24424f3 100644
 --- a/drivers/bcma/driver_mips.c
 +++ b/drivers/bcma/driver_mips.c
 @@ -21,7 +21,7 @@
@@ -152,11 +138,9 @@ index 04faf6d..24424f3 100644
  #endif
  
  enum bcma_boot_dev {
-diff --git a/drivers/net/ethernet/broadcom/b44.c b/drivers/net/ethernet/broadcom/b44.c
-index bd5916a..77363d6 100644
 --- a/drivers/net/ethernet/broadcom/b44.c
 +++ b/drivers/net/ethernet/broadcom/b44.c
-@@ -400,7 +400,7 @@ static void b44_set_flow_ctrl(struct b44 *bp, u32 local, u32 remote)
+@@ -400,7 +400,7 @@ static void b44_set_flow_ctrl(struct b44
  }
  
  #ifdef CONFIG_BCM47XX
@@ -165,8 +149,6 @@ index bd5916a..77363d6 100644
  static void b44_wap54g10_workaround(struct b44 *bp)
  {
  	char buf[20];
-diff --git a/drivers/net/ethernet/broadcom/bgmac.c b/drivers/net/ethernet/broadcom/bgmac.c
-index 0469f72..be059df 100644
 --- a/drivers/net/ethernet/broadcom/bgmac.c
 +++ b/drivers/net/ethernet/broadcom/bgmac.c
 @@ -18,7 +18,7 @@
@@ -178,8 +160,6 @@ index 0469f72..be059df 100644
  
  static const struct bcma_device_id bgmac_bcma_tbl[] = {
  	BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_4706_MAC_GBIT, BCMA_ANY_REV, BCMA_ANY_CLASS),
-diff --git a/drivers/ssb/driver_chipcommon_pmu.c b/drivers/ssb/driver_chipcommon_pmu.c
-index 1173a09..0942841 100644
 --- a/drivers/ssb/driver_chipcommon_pmu.c
 +++ b/drivers/ssb/driver_chipcommon_pmu.c
 @@ -14,7 +14,7 @@
@@ -191,8 +171,6 @@ index 1173a09..0942841 100644
  #endif
  
  #include "ssb_private.h"
-diff --git a/drivers/ssb/driver_mipscore.c b/drivers/ssb/driver_mipscore.c
-index 7b986f9..f87efef 100644
 --- a/drivers/ssb/driver_mipscore.c
 +++ b/drivers/ssb/driver_mipscore.c
 @@ -16,7 +16,7 @@
@@ -204,9 +182,6 @@ index 7b986f9..f87efef 100644
  #endif
  
  #include "ssb_private.h"
-diff --git a/include/linux/bcm47xx_nvram.h b/include/linux/bcm47xx_nvram.h
-new file mode 100644
-index 0000000..b12b07e
 --- /dev/null
 +++ b/include/linux/bcm47xx_nvram.h
 @@ -0,0 +1,34 @@
@@ -244,6 +219,3 @@ index 0000000..b12b07e
 +#endif
 +
 +#endif /* __BCM47XX_NVRAM_H */
--- 
-1.8.4.5
-

+ 10 - 29
target/linux/brcm47xx/patches-3.18/031-06-MIPS-BCM47XX-Fix-coding-style-to-match-kernel-standa.patch

@@ -25,8 +25,6 @@ Signed-off-by: Ralf Baechle <[email protected]>
  arch/mips/bcm47xx/time.c            |  1 -
  8 files changed, 34 insertions(+), 30 deletions(-)
 
-diff --git a/arch/mips/bcm47xx/bcm47xx_private.h b/arch/mips/bcm47xx/bcm47xx_private.h
-index ea909a5..41796be 100644
 --- a/arch/mips/bcm47xx/bcm47xx_private.h
 +++ b/arch/mips/bcm47xx/bcm47xx_private.h
 @@ -1,6 +1,10 @@
@@ -40,8 +38,6 @@ index ea909a5..41796be 100644
  #include <linux/kernel.h>
  
  /* prom.c */
-diff --git a/arch/mips/bcm47xx/board.c b/arch/mips/bcm47xx/board.c
-index 6e85130..d4a5a51 100644
 --- a/arch/mips/bcm47xx/board.c
 +++ b/arch/mips/bcm47xx/board.c
 @@ -330,9 +330,8 @@ void __init bcm47xx_board_detect(void)
@@ -55,8 +51,6 @@ index 6e85130..d4a5a51 100644
  
  	board_detected = bcm47xx_board_get_nvram();
  	bcm47xx_board.board = board_detected->board;
-diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
-index 7c77a88..6a97732 100644
 --- a/arch/mips/bcm47xx/nvram.c
 +++ b/arch/mips/bcm47xx/nvram.c
 @@ -18,8 +18,10 @@
@@ -83,7 +77,7 @@ index 7c77a88..6a97732 100644
  	for (i = 0; i < sizeof(struct nvram_header); i += 4)
  		*dst++ = __raw_readl(src++);
  	for (; i < header->len && i < NVRAM_SPACE && i < size; i += 4)
-@@ -189,7 +191,8 @@ int bcm47xx_nvram_getenv(const char *name, char *val, size_t val_len)
+@@ -189,7 +191,8 @@ int bcm47xx_nvram_getenv(const char *nam
  	/* Look for name=value and return value */
  	var = &nvram_buf[sizeof(struct nvram_header)];
  	end = nvram_buf + sizeof(nvram_buf) - 2;
@@ -93,7 +87,7 @@ index 7c77a88..6a97732 100644
  	for (; *var; var = value + strlen(value) + 1) {
  		data_left = end - var;
  
-@@ -197,11 +200,10 @@ int bcm47xx_nvram_getenv(const char *name, char *val, size_t val_len)
+@@ -197,11 +200,10 @@ int bcm47xx_nvram_getenv(const char *nam
  		if (!eq)
  			break;
  		value = eq + 1;
@@ -122,8 +116,6 @@ index 7c77a88..6a97732 100644
  		err = snprintf(nvram_var, sizeof(nvram_var), "gpio%i", i);
  		if (err <= 0)
  			continue;
-diff --git a/arch/mips/bcm47xx/prom.c b/arch/mips/bcm47xx/prom.c
-index 1b170bf..ab698ba 100644
 --- a/arch/mips/bcm47xx/prom.c
 +++ b/arch/mips/bcm47xx/prom.c
 @@ -35,7 +35,6 @@
@@ -143,11 +135,9 @@ index 1b170bf..ab698ba 100644
  			break;
  		}
  		if (!memcmp(prom_init, prom_init + mem, 32))
-diff --git a/arch/mips/bcm47xx/serial.c b/arch/mips/bcm47xx/serial.c
-index 2f5bbd6..df761d3 100644
 --- a/arch/mips/bcm47xx/serial.c
 +++ b/arch/mips/bcm47xx/serial.c
-@@ -36,8 +36,8 @@ static int __init uart8250_init_ssb(void)
+@@ -36,8 +36,8 @@ static int __init uart8250_init_ssb(void
  		struct plat_serial8250_port *p = &(uart8250_data[i]);
  		struct ssb_serial_port *ssb_port = &(mcore->serial_ports[i]);
  
@@ -158,7 +148,7 @@ index 2f5bbd6..df761d3 100644
  		p->irq = ssb_port->irq + 2;
  		p->uartclk = ssb_port->baud_base;
  		p->regshift = ssb_port->reg_shift;
-@@ -62,8 +62,8 @@ static int __init uart8250_init_bcma(void)
+@@ -62,8 +62,8 @@ static int __init uart8250_init_bcma(voi
  		struct bcma_serial_port *bcma_port;
  		bcma_port = &(cc->serial_ports[i]);
  
@@ -169,8 +159,6 @@ index 2f5bbd6..df761d3 100644
  		p->irq = bcma_port->irq;
  		p->uartclk = bcma_port->baud_base;
  		p->regshift = bcma_port->reg_shift;
-diff --git a/arch/mips/bcm47xx/setup.c b/arch/mips/bcm47xx/setup.c
-index b26c9c2..82ff9fd 100644
 --- a/arch/mips/bcm47xx/setup.c
 +++ b/arch/mips/bcm47xx/setup.c
 @@ -52,7 +52,7 @@ EXPORT_SYMBOL(bcm47xx_bus_type);
@@ -182,7 +170,7 @@ index b26c9c2..82ff9fd 100644
  	local_irq_disable();
  	/* Set the watchdog timer to reset immediately */
  	switch (bcm47xx_bus_type) {
-@@ -107,7 +107,7 @@ static int bcm47xx_get_invariants(struct ssb_bus *bus,
+@@ -107,7 +107,7 @@ static int bcm47xx_get_invariants(struct
  	char buf[20];
  
  	/* Fill boardinfo structure */
@@ -191,7 +179,7 @@ index b26c9c2..82ff9fd 100644
  
  	bcm47xx_fill_ssb_boardinfo(&iv->boardinfo, NULL);
  
-@@ -126,7 +126,7 @@ static void __init bcm47xx_register_ssb(void)
+@@ -126,7 +126,7 @@ static void __init bcm47xx_register_ssb(
  	char buf[100];
  	struct ssb_mipscore *mcore;
  
@@ -200,7 +188,7 @@ index b26c9c2..82ff9fd 100644
  				      bcm47xx_get_invariants);
  	if (err)
  		panic("Failed to initialize SSB bus (err %d)", err);
-@@ -136,7 +136,7 @@ static void __init bcm47xx_register_ssb(void)
+@@ -136,7 +136,7 @@ static void __init bcm47xx_register_ssb(
  		if (strstr(buf, "console=ttyS1")) {
  			struct ssb_serial_port port;
  
@@ -227,11 +215,9 @@ index b26c9c2..82ff9fd 100644
  #ifdef CONFIG_BCM47XX_SSB
  		bcm47xx_bus_type = BCM47XX_BUS_TYPE_SSB;
  		bcm47xx_sprom_register_fallbacks();
-diff --git a/arch/mips/bcm47xx/sprom.c b/arch/mips/bcm47xx/sprom.c
-index c114b02..5d32afc 100644
 --- a/arch/mips/bcm47xx/sprom.c
 +++ b/arch/mips/bcm47xx/sprom.c
-@@ -780,8 +780,8 @@ void bcm47xx_fill_sprom(struct ssb_sprom *sprom, const char *prefix,
+@@ -780,8 +780,8 @@ void bcm47xx_fill_sprom(struct ssb_sprom
  		bcm47xx_fill_sprom_path_r4589(sprom, prefix, fallback);
  		break;
  	default:
@@ -242,7 +228,7 @@ index c114b02..5d32afc 100644
  		sprom->revision = 1;
  		bcm47xx_fill_sprom_r1234589(sprom, prefix, fallback);
  		bcm47xx_fill_sprom_r12389(sprom, prefix, fallback);
-@@ -828,7 +828,7 @@ static int bcm47xx_get_sprom_ssb(struct ssb_bus *bus, struct ssb_sprom *out)
+@@ -828,7 +828,7 @@ static int bcm47xx_get_sprom_ssb(struct
  		bcm47xx_fill_sprom(out, prefix, false);
  		return 0;
  	} else {
@@ -251,7 +237,7 @@ index c114b02..5d32afc 100644
  		return -EINVAL;
  	}
  }
-@@ -893,7 +893,7 @@ static int bcm47xx_get_sprom_bcma(struct bcma_bus *bus, struct ssb_sprom *out)
+@@ -893,7 +893,7 @@ static int bcm47xx_get_sprom_bcma(struct
  		}
  		return 0;
  	default:
@@ -260,8 +246,6 @@ index c114b02..5d32afc 100644
  		return -EINVAL;
  	}
  }
-diff --git a/arch/mips/bcm47xx/time.c b/arch/mips/bcm47xx/time.c
-index 5b46510..74224cf 100644
 --- a/arch/mips/bcm47xx/time.c
 +++ b/arch/mips/bcm47xx/time.c
 @@ -22,7 +22,6 @@
@@ -272,6 +256,3 @@ index 5b46510..74224cf 100644
  #include <linux/init.h>
  #include <linux/ssb/ssb.h>
  #include <asm/time.h>
--- 
-1.8.4.5
-

+ 1 - 6
target/linux/brcm47xx/patches-3.18/031-07-MIPS-BCM47XX-Include-io.h-directly-and-fix-brace-ind.patch

@@ -17,8 +17,6 @@ Signed-off-by: Ralf Baechle <[email protected]>
  arch/mips/bcm47xx/nvram.c | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)
 
-diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
-index 6a97732..2357ea3 100644
 --- a/arch/mips/bcm47xx/nvram.c
 +++ b/arch/mips/bcm47xx/nvram.c
 @@ -11,6 +11,7 @@
@@ -29,7 +27,7 @@ index 6a97732..2357ea3 100644
  #include <linux/types.h>
  #include <linux/module.h>
  #include <linux/kernel.h>
-@@ -203,7 +204,7 @@ int bcm47xx_nvram_getenv(const char *name, char *val, size_t val_len)
+@@ -203,7 +204,7 @@ int bcm47xx_nvram_getenv(const char *nam
  		if (eq - var == strlen(name) &&
  		    strncmp(var, name, eq - var) == 0)
  			return snprintf(val, val_len, "%s", value);
@@ -38,6 +36,3 @@ index 6a97732..2357ea3 100644
  	return -ENOENT;
  }
  EXPORT_SYMBOL(bcm47xx_nvram_getenv);
--- 
-1.8.4.5
-

+ 0 - 5
target/linux/brcm47xx/patches-3.18/031-08-MIPS-BCM47XX-Increase-NVRAM-buffer-size-to-64-KiB.patch

@@ -19,8 +19,6 @@ Signed-off-by: Ralf Baechle <[email protected]>
  arch/mips/bcm47xx/nvram.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
-index 2357ea3..2ac7482 100644
 --- a/arch/mips/bcm47xx/nvram.c
 +++ b/arch/mips/bcm47xx/nvram.c
 @@ -20,7 +20,7 @@
@@ -32,6 +30,3 @@ index 2357ea3..2ac7482 100644
  #define NVRAM_MAX_GPIO_ENTRIES		32
  #define NVRAM_MAX_GPIO_VALUE_LEN	30
  
--- 
-1.8.4.5
-

+ 13 - 17
target/linux/brcm47xx/patches-3.18/031-09-MIPS-BCM47XX-Don-t-try-guessing-NVRAM-size-on-MTD-pa.patch

@@ -19,8 +19,6 @@ Signed-off-by: Ralf Baechle <[email protected]>
  arch/mips/bcm47xx/nvram.c | 36 ++++++++++++++----------------------
  1 file changed, 14 insertions(+), 22 deletions(-)
 
-diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
-index 2ac7482..ba632ff 100644
 --- a/arch/mips/bcm47xx/nvram.c
 +++ b/arch/mips/bcm47xx/nvram.c
 @@ -139,36 +139,28 @@ static int nvram_init(void)
@@ -39,28 +37,29 @@ index 2ac7482..ba632ff 100644
 -
 -		if (from < 0)
 -			continue;
--
--		err = mtd_read(mtd, from, sizeof(header), &bytes_read,
--			       (uint8_t *)&header);
--		if (!err && header.magic == NVRAM_MAGIC) {
--			u8 *dst = (uint8_t *)nvram_buf;
--			size_t len = header.len;
 +	err = mtd_read(mtd, 0, sizeof(header), &bytes_read, (uint8_t *)&header);
 +	if (!err && header.magic == NVRAM_MAGIC) {
 +		u8 *dst = (uint8_t *)nvram_buf;
 +		size_t len = header.len;
- 
--			if (header.len > NVRAM_SPACE) {
--				pr_err("nvram on flash (%i bytes) is bigger than the reserved space in memory, will just copy the first %i bytes\n",
--				       header.len, NVRAM_SPACE);
--				len = NVRAM_SPACE;
--			}
++
 +		if (header.len > NVRAM_SPACE) {
 +			pr_err("nvram on flash (%i bytes) is bigger than the reserved space in memory, will just copy the first %i bytes\n",
 +				header.len, NVRAM_SPACE);
 +			len = NVRAM_SPACE;
 +		}
  
+-		err = mtd_read(mtd, from, sizeof(header), &bytes_read,
+-			       (uint8_t *)&header);
+-		if (!err && header.magic == NVRAM_MAGIC) {
+-			u8 *dst = (uint8_t *)nvram_buf;
+-			size_t len = header.len;
+-
+-			if (header.len > NVRAM_SPACE) {
+-				pr_err("nvram on flash (%i bytes) is bigger than the reserved space in memory, will just copy the first %i bytes\n",
+-				       header.len, NVRAM_SPACE);
+-				len = NVRAM_SPACE;
+-			}
+-
 -			err = mtd_read(mtd, from, len, &bytes_read, dst);
 -			if (err)
 -				return err;
@@ -74,6 +73,3 @@ index 2ac7482..ba632ff 100644
  	}
  #endif
  
--- 
-1.8.4.5
-

+ 4 - 9
target/linux/brcm47xx/patches-3.18/031-10-MIPS-BCM47xx-Keep-ID-entries-for-non-standard-device.patch

@@ -16,11 +16,9 @@ Signed-off-by: Ralf Baechle <[email protected]>
  arch/mips/bcm47xx/board.c | 48 ++++++++++++++++++++---------------------------
  1 file changed, 20 insertions(+), 28 deletions(-)
 
-diff --git a/arch/mips/bcm47xx/board.c b/arch/mips/bcm47xx/board.c
-index d4a5a51..f936dcc 100644
 --- a/arch/mips/bcm47xx/board.c
 +++ b/arch/mips/bcm47xx/board.c
-@@ -40,20 +40,6 @@ struct bcm47xx_board_type_list1 bcm47xx_board_list_model_name[] __initconst = {
+@@ -40,20 +40,6 @@ struct bcm47xx_board_type_list1 bcm47xx_
  	{ {0}, NULL},
  };
  
@@ -41,7 +39,7 @@ index d4a5a51..f936dcc 100644
  /* hardware_version */
  static const
  struct bcm47xx_board_type_list1 bcm47xx_board_list_hardware_version[] __initconst = {
-@@ -202,6 +188,18 @@ struct bcm47xx_board_type_list2 bcm47xx_board_list_board_type_rev[] __initconst
+@@ -202,6 +188,18 @@ struct bcm47xx_board_type_list2 bcm47xx_
  	{ {0}, NULL},
  };
  
@@ -60,7 +58,7 @@ index d4a5a51..f936dcc 100644
  static const
  struct bcm47xx_board_type bcm47xx_board_unknown[] __initconst = {
  	{BCM47XX_BOARD_UNKNOWN, "Unknown Board"},
-@@ -225,20 +223,6 @@ static __init const struct bcm47xx_board_type *bcm47xx_board_get_nvram(void)
+@@ -225,20 +223,6 @@ static __init const struct bcm47xx_board
  		}
  	}
  
@@ -81,7 +79,7 @@ index d4a5a51..f936dcc 100644
  	if (bcm47xx_nvram_getenv("hardware_version", buf1, sizeof(buf1)) >= 0) {
  		for (e1 = bcm47xx_board_list_hardware_version; e1->value1; e1++) {
  			if (strstarts(buf1, e1->value1))
-@@ -314,6 +298,14 @@ static __init const struct bcm47xx_board_type *bcm47xx_board_get_nvram(void)
+@@ -314,6 +298,14 @@ static __init const struct bcm47xx_board
  				return &e2->board;
  		}
  	}
@@ -96,6 +94,3 @@ index d4a5a51..f936dcc 100644
  	return bcm47xx_board_unknown;
  }
  
--- 
-1.8.4.5
-

+ 6 - 17
target/linux/brcm47xx/patches-3.18/031-11-MIPS-BCM47xx-Devices-database-update-for-4.1-or-4.2.patch

@@ -18,8 +18,6 @@ Signed-off-by: Ralf Baechle <[email protected]>
  arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h |  4 ++++
  4 files changed, 36 insertions(+)
 
-diff --git a/arch/mips/bcm47xx/board.c b/arch/mips/bcm47xx/board.c
-index f936dcc..41b9736 100644
 --- a/arch/mips/bcm47xx/board.c
 +++ b/arch/mips/bcm47xx/board.c
 @@ -151,9 +151,11 @@ static const
@@ -34,7 +32,7 @@ index f936dcc..41b9736 100644
  	{{BCM47XX_BOARD_NETGEAR_WNDR3400VCNA, "Netgear WNDR3400 Vcna"}, "U12H155T01_NETGEAR"},
  	{{BCM47XX_BOARD_NETGEAR_WNDR3700V3, "Netgear WNDR3700 V3"}, "U12H194T00_NETGEAR"},
  	{{BCM47XX_BOARD_NETGEAR_WNDR4000, "Netgear WNDR4000"}, "U12H181T00_NETGEAR"},
-@@ -196,6 +198,8 @@ struct bcm47xx_board_type_list2 bcm47xx_board_list_board_type_rev[] __initconst
+@@ -196,6 +198,8 @@ struct bcm47xx_board_type_list2 bcm47xx_
  static const
  struct bcm47xx_board_type_list2 bcm47xx_board_list_key_value[] __initconst = {
  	{{BCM47XX_BOARD_ASUS_WL700GE, "Asus WL700"}, "model_no", "WL700"},
@@ -43,11 +41,9 @@ index f936dcc..41b9736 100644
  	{{BCM47XX_BOARD_LINKSYS_WRTSL54GS, "Linksys WRTSL54GS"}, "machine_name", "WRTSL54GS"},
  	{ {0}, NULL},
  };
-diff --git a/arch/mips/bcm47xx/buttons.c b/arch/mips/bcm47xx/buttons.c
-index 913182b..276276a 100644
 --- a/arch/mips/bcm47xx/buttons.c
 +++ b/arch/mips/bcm47xx/buttons.c
-@@ -252,6 +252,12 @@ bcm47xx_buttons_linksys_wrt160nv3[] __initconst = {
+@@ -252,6 +252,12 @@ bcm47xx_buttons_linksys_wrt160nv3[] __in
  };
  
  static const struct gpio_keys_button
@@ -60,7 +56,7 @@ index 913182b..276276a 100644
  bcm47xx_buttons_linksys_wrt300nv11[] __initconst = {
  	BCM47XX_GPIO_KEY(4, KEY_UNKNOWN),
  	BCM47XX_GPIO_KEY(6, KEY_RESTART),
-@@ -327,6 +333,12 @@ bcm47xx_buttons_netgear_wndr3400v1[] __initconst = {
+@@ -327,6 +333,12 @@ bcm47xx_buttons_netgear_wndr3400v1[] __i
  };
  
  static const struct gpio_keys_button
@@ -73,7 +69,7 @@ index 913182b..276276a 100644
  bcm47xx_buttons_netgear_wndr3700v3[] __initconst = {
  	BCM47XX_GPIO_KEY(2, KEY_RFKILL),
  	BCM47XX_GPIO_KEY(3, KEY_RESTART),
-@@ -516,6 +528,9 @@ int __init bcm47xx_buttons_register(void)
+@@ -516,6 +528,9 @@ int __init bcm47xx_buttons_register(void
  	case BCM47XX_BOARD_LINKSYS_WRT160NV3:
  		err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt160nv3);
  		break;
@@ -83,7 +79,7 @@ index 913182b..276276a 100644
  	case BCM47XX_BOARD_LINKSYS_WRT300NV11:
  		err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt300nv11);
  		break;
-@@ -557,6 +572,9 @@ int __init bcm47xx_buttons_register(void)
+@@ -557,6 +572,9 @@ int __init bcm47xx_buttons_register(void
  	case BCM47XX_BOARD_NETGEAR_WNDR3400V1:
  		err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wndr3400v1);
  		break;
@@ -93,11 +89,9 @@ index 913182b..276276a 100644
  	case BCM47XX_BOARD_NETGEAR_WNDR3700V3:
  		err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wndr3700v3);
  		break;
-diff --git a/arch/mips/bcm47xx/leds.c b/arch/mips/bcm47xx/leds.c
-index 903a656..0e4ade3 100644
 --- a/arch/mips/bcm47xx/leds.c
 +++ b/arch/mips/bcm47xx/leds.c
-@@ -292,6 +292,13 @@ bcm47xx_leds_linksys_wrt160nv3[] __initconst = {
+@@ -292,6 +292,13 @@ bcm47xx_leds_linksys_wrt160nv3[] __initc
  };
  
  static const struct gpio_led
@@ -121,8 +115,6 @@ index 903a656..0e4ade3 100644
  	case BCM47XX_BOARD_LINKSYS_WRT300NV11:
  		bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt300nv11);
  		break;
-diff --git a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h
-index 1f5643b..c41d1dc 100644
 --- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h
 +++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h
 @@ -67,6 +67,7 @@ enum bcm47xx_board {
@@ -153,6 +145,3 @@ index 1f5643b..c41d1dc 100644
  	BCM47XX_BOARD_NETGEAR_WNDR3400VCNA,
  	BCM47XX_BOARD_NETGEAR_WNDR3700V3,
  	BCM47XX_BOARD_NETGEAR_WNDR4000,
--- 
-1.8.4.5
-

+ 3 - 8
target/linux/brcm47xx/patches-3.18/031-12-MIPS-BCM47xx-Add-generic-function-filling-SPROM-entr.patch

@@ -23,11 +23,9 @@ Signed-off-by: Ralf Baechle <[email protected]>
  arch/mips/bcm47xx/sprom.c | 32 +++++++++++++++++++++++++++++---
  1 file changed, 29 insertions(+), 3 deletions(-)
 
-diff --git a/arch/mips/bcm47xx/sprom.c b/arch/mips/bcm47xx/sprom.c
-index 5d32afc..77790c9 100644
 --- a/arch/mips/bcm47xx/sprom.c
 +++ b/arch/mips/bcm47xx/sprom.c
-@@ -180,6 +180,33 @@ static void nvram_read_alpha2(const char *prefix, const char *name,
+@@ -180,6 +180,33 @@ static void nvram_read_alpha2(const char
  	memcpy(val, buf, 2);
  }
  
@@ -61,7 +59,7 @@ index 5d32afc..77790c9 100644
  static void bcm47xx_fill_sprom_r1234589(struct ssb_sprom *sprom,
  					const char *prefix, bool fallback)
  {
-@@ -714,9 +741,6 @@ static void bcm47xx_fill_sprom_ethernet(struct ssb_sprom *sprom,
+@@ -714,9 +741,6 @@ static void bcm47xx_fill_sprom_ethernet(
  static void bcm47xx_fill_board_data(struct ssb_sprom *sprom, const char *prefix,
  				    bool fallback)
  {
@@ -71,7 +69,7 @@ index 5d32afc..77790c9 100644
  	nvram_read_u16(prefix, NULL, "boardtype", &sprom->board_type, 0, true);
  	nvram_read_u32_2(prefix, "boardflags", &sprom->boardflags_lo,
  			 &sprom->boardflags_hi, fallback);
-@@ -787,6 +811,8 @@ void bcm47xx_fill_sprom(struct ssb_sprom *sprom, const char *prefix,
+@@ -787,6 +811,8 @@ void bcm47xx_fill_sprom(struct ssb_sprom
  		bcm47xx_fill_sprom_r12389(sprom, prefix, fallback);
  		bcm47xx_fill_sprom_r1(sprom, prefix, fallback);
  	}
@@ -80,6 +78,3 @@ index 5d32afc..77790c9 100644
  }
  
  #ifdef CONFIG_BCM47XX_SSB
--- 
-1.8.4.5
-

+ 8 - 14
target/linux/brcm47xx/patches-3.18/031-13-MIPS-BCM47xx-Move-filling-most-of-SPROM-to-the-gener.patch

@@ -27,22 +27,19 @@ Signed-off-by: Ralf Baechle <[email protected]>
  arch/mips/bcm47xx/sprom.c | 605 ++++++++++++++++------------------------------
  1 file changed, 204 insertions(+), 401 deletions(-)
 
-diff --git a/arch/mips/bcm47xx/sprom.c b/arch/mips/bcm47xx/sprom.c
-index 77790c9..68ebf23 100644
 --- a/arch/mips/bcm47xx/sprom.c
 +++ b/arch/mips/bcm47xx/sprom.c
-@@ -201,9 +201,211 @@ static void bcm47xx_sprom_fill_auto(struct ssb_sprom *sprom,
+@@ -201,9 +201,211 @@ static void bcm47xx_sprom_fill_auto(stru
  	bool fb = fallback;
  
  	ENTRY(0xfffffffe, u16, pre, "boardrev", board_rev, 0, true);
 +	ENTRY(0x00000002, u16, pre, "boardflags", boardflags_lo, 0, fb);
 +	ENTRY(0xfffffffc, u16, pre, "boardtype", board_type, 0, true);
  	ENTRY(0xfffffffe, u16, pre, "boardnum", board_num, 0, fb);
--
--	/* TODO: Move more mappings here */
 +	ENTRY(0x00000002, u8, pre, "cc", country_code, 0, fb);
 +	ENTRY(0xfffffff8, u8, pre, "regrev", regrev, 0, fb);
-+
+ 
+-	/* TODO: Move more mappings here */
 +	ENTRY(0xfffffffe, u8, pre, "ledbh0", gpio0, 0xff, fb);
 +	ENTRY(0xfffffffe, u8, pre, "ledbh1", gpio1, 0xff, fb);
 +	ENTRY(0xfffffffe, u8, pre, "ledbh2", gpio2, 0xff, fb);
@@ -245,7 +242,7 @@ index 77790c9..68ebf23 100644
  }
  #undef ENTRY /* It's specififc, uses local variable, don't use it (again). */
  
-@@ -211,90 +413,12 @@ static void bcm47xx_fill_sprom_r1234589(struct ssb_sprom *sprom,
+@@ -211,90 +413,12 @@ static void bcm47xx_fill_sprom_r1234589(
  					const char *prefix, bool fallback)
  {
  	nvram_read_u16(prefix, NULL, "devid", &sprom->dev_id, 0, fallback);
@@ -336,7 +333,7 @@ index 77790c9..68ebf23 100644
  	nvram_read_leddc(prefix, "leddc", &sprom->leddc_on_time,
  			 &sprom->leddc_off_time, fallback);
  }
-@@ -302,309 +426,10 @@ static void bcm47xx_fill_sprom_r3(struct ssb_sprom *sprom, const char *prefix,
+@@ -302,309 +426,10 @@ static void bcm47xx_fill_sprom_r3(struct
  static void bcm47xx_fill_sprom_r4589(struct ssb_sprom *sprom,
  				     const char *prefix, bool fallback)
  {
@@ -646,7 +643,7 @@ index 77790c9..68ebf23 100644
  static void bcm47xx_fill_sprom_path_r4589(struct ssb_sprom *sprom,
  					  const char *prefix, bool fallback)
  {
-@@ -741,7 +566,6 @@ static void bcm47xx_fill_sprom_ethernet(struct ssb_sprom *sprom,
+@@ -741,7 +566,6 @@ static void bcm47xx_fill_sprom_ethernet(
  static void bcm47xx_fill_board_data(struct ssb_sprom *sprom, const char *prefix,
  				    bool fallback)
  {
@@ -654,7 +651,7 @@ index 77790c9..68ebf23 100644
  	nvram_read_u32_2(prefix, "boardflags", &sprom->boardflags_lo,
  			 &sprom->boardflags_hi, fallback);
  	nvram_read_u32_2(prefix, "boardflags2", &sprom->boardflags2_lo,
-@@ -759,48 +583,29 @@ void bcm47xx_fill_sprom(struct ssb_sprom *sprom, const char *prefix,
+@@ -759,48 +583,29 @@ void bcm47xx_fill_sprom(struct ssb_sprom
  	switch (sprom->revision) {
  	case 1:
  		bcm47xx_fill_sprom_r1234589(sprom, prefix, fallback);
@@ -703,7 +700,7 @@ index 77790c9..68ebf23 100644
  		bcm47xx_fill_sprom_path_r4589(sprom, prefix, fallback);
  		break;
  	default:
-@@ -808,8 +613,6 @@ void bcm47xx_fill_sprom(struct ssb_sprom *sprom, const char *prefix,
+@@ -808,8 +613,6 @@ void bcm47xx_fill_sprom(struct ssb_sprom
  			sprom->revision);
  		sprom->revision = 1;
  		bcm47xx_fill_sprom_r1234589(sprom, prefix, fallback);
@@ -712,6 +709,3 @@ index 77790c9..68ebf23 100644
  	}
  
  	bcm47xx_sprom_fill_auto(sprom, prefix, fallback);
--- 
-1.8.4.5
-

+ 1 - 1
target/linux/brcm47xx/patches-3.18/280-activate_ssb_support_in_usb.patch

@@ -15,7 +15,7 @@ This prevents the options from being delete with make kernel_oldconfig.
  	  the memory. This only works with the Broadcom SoCs from the
 --- a/drivers/ssb/Kconfig
 +++ b/drivers/ssb/Kconfig
-@@ -146,6 +146,7 @@ config SSB_SFLASH
+@@ -147,6 +147,7 @@ config SSB_SFLASH
  config SSB_EMBEDDED
  	bool
  	depends on SSB_DRIVER_MIPS && SSB_PCICORE_HOSTMODE

+ 1 - 6
target/linux/brcm47xx/patches-3.18/900-ssb-reject-PCI-writes-setting-CardBus-bridge-resourc.patch

@@ -15,11 +15,9 @@ Signed-off-by: Rafał Miłecki <[email protected]>
  drivers/ssb/driver_pcicore.c | 4 ++++
  1 file changed, 4 insertions(+)
 
-diff --git a/drivers/ssb/driver_pcicore.c b/drivers/ssb/driver_pcicore.c
-index 15a7ee3..c603d19 100644
 --- a/drivers/ssb/driver_pcicore.c
 +++ b/drivers/ssb/driver_pcicore.c
-@@ -164,6 +164,10 @@ static int ssb_extpci_write_config(struct ssb_pcicore *pc,
+@@ -164,6 +164,10 @@ static int ssb_extpci_write_config(struc
  	SSB_WARN_ON(!pc->hostmode);
  	if (unlikely(len != 1 && len != 2 && len != 4))
  		goto out;
@@ -30,6 +28,3 @@ index 15a7ee3..c603d19 100644
  	addr = get_cfgspace_addr(pc, bus, dev, func, off);
  	if (unlikely(!addr))
  		goto out;
--- 
-1.8.4.5
-

+ 3 - 3
target/linux/brcm63xx/patches-3.18/341-MIPS-BCM63XX-add-support-for-BCM6318.patch

@@ -216,7 +216,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318
  		periph_bases[1] += PERF_IRQMASK_6328_REG(1);
 --- a/arch/mips/bcm63xx/prom.c
 +++ b/arch/mips/bcm63xx/prom.c
-@@ -72,7 +72,7 @@ void __init prom_init(void)
+@@ -68,7 +68,7 @@ void __init prom_init(void)
  
  			if (reg & OTP_6328_REG3_TP1_DISABLED)
  				bmips_smp_enabled = 0;
@@ -274,7 +274,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318
  		bcm63xx_reset_bits = bcm6328_reset_bits;
 --- a/arch/mips/bcm63xx/setup.c
 +++ b/arch/mips/bcm63xx/setup.c
-@@ -71,6 +71,9 @@ void bcm63xx_machine_reboot(void)
+@@ -72,6 +72,9 @@ void bcm63xx_machine_reboot(void)
  	case BCM3368_CPU_ID:
  		perf_regs[0] = PERF_EXTIRQ_CFG_REG_3368;
  		break;
@@ -284,7 +284,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318
  	case BCM6328_CPU_ID:
  		perf_regs[0] = PERF_EXTIRQ_CFG_REG_6328;
  		break;
-@@ -110,7 +113,7 @@ void bcm63xx_machine_reboot(void)
+@@ -111,7 +114,7 @@ void bcm63xx_machine_reboot(void)
  		bcm6348_a1_reboot();
  
  	printk(KERN_INFO "triggering watchdog soft-reset...\n");

+ 5 - 5
target/linux/brcm63xx/patches-3.18/344-MIPS-BCM63XX-detect-flash-type-early-and-store-the-r.patch

@@ -43,17 +43,17 @@ Signed-off-by: Jonas Gorski <[email protected]>
  		/* read base address of boot chip select (0) */
 --- a/arch/mips/bcm63xx/prom.c
 +++ b/arch/mips/bcm63xx/prom.c
-@@ -18,6 +18,7 @@
+@@ -17,6 +17,7 @@
+ #include <bcm63xx_cpu.h>
  #include <bcm63xx_io.h>
  #include <bcm63xx_regs.h>
- #include <bcm63xx_gpio.h>
 +#include <bcm63xx_dev_flash.h>
  
  void __init prom_init(void)
  {
-@@ -56,6 +57,9 @@ void __init prom_init(void)
- 	/* register gpiochip */
- 	bcm63xx_gpio_init();
+@@ -52,6 +53,9 @@ void __init prom_init(void)
+ 	reg &= ~mask;
+ 	bcm_perf_writel(reg, PERF_CKCTL_REG);
  
 +	/* detect and setup flash access */
 +	bcm63xx_flash_detect();

+ 8 - 8
target/linux/brcm63xx/patches-3.18/375-MIPS-BCM63XX-switch-to-new-gpio-driver.patch

@@ -7,7 +7,7 @@ Signed-off-by: Jonas Gorski <[email protected]>
 ---
  arch/mips/bcm63xx/boards/board_common.c |    2 +
  arch/mips/bcm63xx/gpio.c                |  147 +++++++------------------------
- arch/mips/bcm63xx/prom.c                |    3 -
+ arch/mips/bcm63xx/setup.c                |    3 -
  3 files changed, 33 insertions(+), 119 deletions(-)
 
 --- a/arch/mips/bcm63xx/boards/board_common.c
@@ -202,15 +202,15 @@ Signed-off-by: Jonas Gorski <[email protected]>
  
 -	return gpiochip_add(&bcm63xx_gpio_chip);
  }
---- a/arch/mips/bcm63xx/prom.c
-+++ b/arch/mips/bcm63xx/prom.c
-@@ -54,9 +54,6 @@ void __init prom_init(void)
- 	reg &= ~mask;
- 	bcm_perf_writel(reg, PERF_CKCTL_REG);
+--- a/arch/mips/bcm63xx/setup.c
++++ b/arch/mips/bcm63xx/setup.c
+@@ -164,9 +164,6 @@ void __init plat_mem_setup(void)
  
+ int __init bcm63xx_register_devices(void)
+ {
 -	/* register gpiochip */
 -	bcm63xx_gpio_init();
 -
- 	/* detect and setup flash access */
- 	bcm63xx_flash_detect();
+ 	return board_register_devices();
+ }
  

+ 1 - 1
target/linux/cns3xxx/patches-3.18/031-pcie_init.patch

@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-cns3xxx/laguna.c
 +++ b/arch/arm/mach-cns3xxx/laguna.c
-@@ -849,7 +849,6 @@ static struct map_desc laguna_io_desc[] 
+@@ -849,7 +849,6 @@ static struct map_desc laguna_io_desc[]
  static void __init laguna_map_io(void)
  {
  	cns3xxx_map_io();

+ 1 - 1
target/linux/cns3xxx/patches-3.18/090-timers.patch

@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-cns3xxx/core.c
 +++ b/arch/arm/mach-cns3xxx/core.c
-@@ -135,12 +135,13 @@ static void cns3xxx_timer_set_mode(enum 
+@@ -135,12 +135,13 @@ static void cns3xxx_timer_set_mode(enum
  
  	switch (mode) {
  	case CLOCK_EVT_MODE_PERIODIC:

+ 1 - 1
target/linux/gemini/patches-3.18/002-gemini-rtc.patch

@@ -18,7 +18,7 @@
  	depends on SH_LANDISK
 --- a/drivers/rtc/Makefile
 +++ b/drivers/rtc/Makefile
-@@ -60,6 +60,7 @@ obj-$(CONFIG_RTC_DRV_DS3234)	+= rtc-ds3234.o
+@@ -60,6 +60,7 @@ obj-$(CONFIG_RTC_DRV_EFI)	+= rtc-efi.o
  obj-$(CONFIG_RTC_DRV_EM3027)	+= rtc-em3027.o
  obj-$(CONFIG_RTC_DRV_EP93XX)	+= rtc-ep93xx.o
  obj-$(CONFIG_RTC_DRV_FM3130)	+= rtc-fm3130.o

+ 3 - 3
target/linux/gemini/patches-3.18/021-reset-parameters.patch

@@ -13,9 +13,9 @@
  {
  	__raw_writel(RESET_GLOBAL | RESET_CPU1,
  		     IO_ADDRESS(GEMINI_GLOBAL_BASE) + GLOBAL_RESET);
---- a/arch/arm/mach-gemini/common.h	2014-08-23 07:06:06.014200638 -0500
-+++ b/arch/arm/mach-gemini/common.h	2014-08-23 07:07:33.450536466 -0500
-@@ -26,6 +26,6 @@
+--- a/arch/arm/mach-gemini/common.h
++++ b/arch/arm/mach-gemini/common.h
+@@ -26,6 +26,6 @@ extern int platform_register_pflash(unsi
  				    struct mtd_partition *parts,
  				    unsigned int nr_parts);
  

+ 3 - 3
target/linux/gemini/patches-3.18/050-gpio-to-irq.patch

@@ -1,6 +1,6 @@
---- a/arch/arm/mach-gemini/gpio.c	2015-03-01 10:34:52.492113048 +0100
-+++ b/arch/arm/mach-gemini/gpio.c	2015-03-01 10:34:59.876498159 +0100
-@@ -196,12 +196,18 @@
+--- a/arch/arm/mach-gemini/gpio.c
++++ b/arch/arm/mach-gemini/gpio.c
+@@ -196,12 +196,18 @@ static int gemini_gpio_direction_output(
  	return 0;
  }
  

+ 4 - 4
target/linux/gemini/patches-3.18/060-cache-fa.diff

@@ -1,5 +1,5 @@
---- a/arch/arm/mm/cache-fa.S	2011-01-05 01:50:19.000000000 +0100
-+++ b/arch/arm/mm/cache-fa.S	2012-07-25 14:30:40.883639094 +0200
+--- a/arch/arm/mm/cache-fa.S
++++ b/arch/arm/mm/cache-fa.S
 @@ -24,7 +24,8 @@
  /*
   * The size of one data cache line.
@@ -10,7 +10,7 @@
  
  /*
   * The total size of the data cache.
-@@ -169,7 +170,17 @@
+@@ -169,7 +170,17 @@ ENTRY(fa_flush_kern_dcache_area)
   *	- start  - virtual start address
   *	- end	 - virtual end address
   */
@@ -28,7 +28,7 @@
  	tst	r0, #CACHE_DLINESIZE - 1
  	bic	r0, r0, #CACHE_DLINESIZE - 1
  	mcrne	p15, 0, r0, c7, c14, 1		@ clean & invalidate D entry
-@@ -193,6 +204,10 @@
+@@ -193,6 +204,10 @@ fa_dma_inv_range:
   *	- end	 - virtual end address
   */
  fa_dma_clean_range:

+ 18 - 19
target/linux/gemini/patches-3.18/120-net-add-gemini-gmac-driver.patch

@@ -22,8 +22,8 @@
 +};
 +
 +#endif /* __NET_GEMINI_PLATFORM_H__ */
---- a/arch/arm/mach-gemini/common.h	2011-04-19 03:05:29.446367900 +0200
-+++ b/arch/arm/mach-gemini/common.h	2011-04-19 03:07:02.191154293 +0200
+--- a/arch/arm/mach-gemini/common.h
++++ b/arch/arm/mach-gemini/common.h
 @@ -13,6 +13,7 @@
  #define __GEMINI_COMMON_H__
  
@@ -32,7 +32,7 @@
  
  extern void gemini_map_io(void);
  extern void gemini_init_irq(void);
-@@ -26,6 +27,7 @@
+@@ -26,6 +27,7 @@ extern int platform_register_pflash(unsi
  				    struct mtd_partition *parts,
  				    unsigned int nr_parts);
  extern int platform_register_watchdog(void);
@@ -40,8 +40,8 @@
  
  extern void gemini_restart(enum reboot_mode mode, const char *cmd);
  
---- a/arch/arm/mach-gemini/devices.c	2011-04-21 13:01:53.578121892 +0200
-+++ b/arch/arm/mach-gemini/devices.c	2011-04-21 13:14:27.643158445 +0200
+--- a/arch/arm/mach-gemini/devices.c
++++ b/arch/arm/mach-gemini/devices.c
 @@ -17,6 +17,7 @@
  #include <mach/irqs.h>
  #include <mach/hardware.h>
@@ -50,7 +50,7 @@
  #include "common.h"
  
  static struct plat_serial8250_port serial_platform_data[] = {
-@@ -134,3 +134,56 @@
+@@ -134,3 +135,56 @@ int __init platform_register_watchdog(vo
  {
  	return platform_device_register(&wdt_device);
  }
@@ -107,10 +107,9 @@
 +
 +	return platform_device_register(&ethernet_device);
 +}
- 
---- a/drivers/net/ethernet/Kconfig	2012-01-25 22:19:43.633736456 +0100
-+++ b/drivers/net/ethernet/Kconfig	2012-01-25 22:20:28.582730742 +0100
-@@ -70,6 +70,7 @@
+--- a/drivers/net/ethernet/Kconfig
++++ b/drivers/net/ethernet/Kconfig
+@@ -70,6 +70,7 @@ source "drivers/net/ethernet/neterion/Kc
  source "drivers/net/ethernet/faraday/Kconfig"
  source "drivers/net/ethernet/freescale/Kconfig"
  source "drivers/net/ethernet/fujitsu/Kconfig"
@@ -118,9 +117,9 @@
  source "drivers/net/ethernet/hisilicon/Kconfig"
  source "drivers/net/ethernet/hp/Kconfig"
  source "drivers/net/ethernet/ibm/Kconfig"
---- a/drivers/net/ethernet/Makefile	2012-01-27 01:37:10.839114389 +0100
-+++ b/drivers/net/ethernet/Makefile	2012-01-27 01:39:06.102105027 +0100
-@@ -33,6 +33,7 @@
+--- a/drivers/net/ethernet/Makefile
++++ b/drivers/net/ethernet/Makefile
+@@ -33,6 +33,7 @@ obj-$(CONFIG_NET_VENDOR_EXAR) += neterio
  obj-$(CONFIG_NET_VENDOR_FARADAY) += faraday/
  obj-$(CONFIG_NET_VENDOR_FREESCALE) += freescale/
  obj-$(CONFIG_NET_VENDOR_FUJITSU) += fujitsu/
@@ -128,8 +127,8 @@
  obj-$(CONFIG_NET_VENDOR_HISILICON) += hisilicon/
  obj-$(CONFIG_NET_VENDOR_HP) += hp/
  obj-$(CONFIG_NET_VENDOR_IBM) += ibm/
---- /dev/null	2012-01-23 21:36:48.249769447 +0100
-+++ b/drivers/net/ethernet/gemini/Kconfig	2012-01-25 22:16:44.285740226 +0100
+--- /dev/null
++++ b/drivers/net/ethernet/gemini/Kconfig
 @@ -0,0 +1,31 @@
 +#
 +# Gemini device configuration
@@ -162,16 +161,16 @@
 +	  This driver supports StorLink SL351x (Gemini) dual Gigabit Ethernet.
 +
 +endif # NET_VENDOR_GEMINI
---- /dev/null					2012-01-23 21:36:48.249769447 +0100
-+++ b/drivers/net/ethernet/gemini/Makefile	2012-01-25 22:17:29.698741496 +0100
+--- /dev/null
++++ b/drivers/net/ethernet/gemini/Makefile
 @@ -0,0 +1,5 @@
 +#
 +# Makefile for the Cortina Gemini network device drivers.
 +#
 +
 +obj-$(CONFIG_GEMINI_SL351X) += sl351x.o
---- /dev/null					2012-01-23 21:36:48.249769447 +0100
-+++ b/drivers/net/ethernet/gemini/sl351x.c	2012-01-27 17:09:51.000000000 +0100
+--- /dev/null
++++ b/drivers/net/ethernet/gemini/sl351x.c
 @@ -0,0 +1,2340 @@
 +/*
 + *  Ethernet device driver for Gemini SoC (SL351x GMAC).

+ 3 - 4
target/linux/gemini/patches-3.18/121-arm-gemini-register-ethernet.patch

@@ -1,5 +1,5 @@
---- a/arch/arm/mach-gemini/board-nas4220b.c		2011-04-21 13:19:09.878432930 +0200
-+++ b/arch/arm/mach-gemini/board-nas4220b.c		2011-04-21 13:30:37.555082365 +0200
+--- a/arch/arm/mach-gemini/board-nas4220b.c
++++ b/arch/arm/mach-gemini/board-nas4220b.c
 @@ -28,9 +28,27 @@
  
  #include <mach/hardware.h>
@@ -28,7 +28,7 @@
  static struct gpio_led ib4220b_leds[] = {
  	{
  		.name			= "nas4220b:orange:hdd",
-@@ -87,9 +105,39 @@
+@@ -87,15 +105,47 @@ static struct platform_device ib4220b_ke
  	},
  };
  
@@ -68,7 +68,6 @@
  	platform_register_uart();
  	platform_register_pflash(SZ_16M, NULL, 0);
  	platform_device_register(&ib4220b_led_device);
-@@ -96,6 +144,8 @@
  	platform_device_register(&ib4220b_key_device);
  	platform_register_rtc();
  	platform_register_watchdog();

+ 19 - 22
target/linux/gemini/patches-3.18/130-usb-ehci-fot2g.patch

@@ -1,6 +1,6 @@
---- a/arch/arm/mach-gemini/devices.c	2011-04-23 01:00:16.738137491 +0200
-+++ b/arch/arm/mach-gemini/devices.c	2011-04-23 01:06:55.539299920 +0200
-@@ -188,3 +188,64 @@
+--- a/arch/arm/mach-gemini/devices.c
++++ b/arch/arm/mach-gemini/devices.c
+@@ -188,3 +188,64 @@ int platform_register_ethernet(struct ge
  
  	return platform_device_register(&ethernet_device);
  }
@@ -65,9 +65,9 @@
 +	return platform_device_register(&usb_device[id]);
 +}
 +
---- a/arch/arm/mach-gemini/common.h	2011-04-23 01:09:31.413161153 +0200
-+++ b/arch/arm/mach-gemini/common.h	2011-04-23 01:09:52.426358514 +0200
-@@ -28,6 +28,7 @@
+--- a/arch/arm/mach-gemini/common.h
++++ b/arch/arm/mach-gemini/common.h
+@@ -28,6 +28,7 @@ extern int platform_register_pflash(unsi
  				    unsigned int nr_parts);
  extern int platform_register_watchdog(void);
  extern int platform_register_ethernet(struct gemini_gmac_platform_data *pdata);
@@ -77,8 +77,7 @@
  
 --- a/drivers/usb/host/ehci-hcd.c
 +++ b/drivers/usb/host/ehci-hcd.c
-@@ -345,12 +345,14 @@ static void ehci_silence_controller(struct ehci_hcd *ehci)
- 	spin_lock_irq(&ehci->lock);
+@@ -346,11 +346,13 @@ static void ehci_silence_controller(stru
  	ehci->rh_state = EHCI_RH_HALTED;
  	ehci_turn_off_all_ports(ehci);
  
@@ -92,7 +91,7 @@
  	spin_unlock_irq(&ehci->lock);
  }
  
-@@ -602,7 +604,9 @@ static int ehci_run (struct usb_hcd *hcd)
+@@ -602,7 +604,9 @@ static int ehci_run (struct usb_hcd *hcd
  	// Philips, Intel, and maybe others need CMD_RUN before the
  	// root hub will detect new devices (why?); NEC doesn't
  	ehci->command &= ~(CMD_LRESET|CMD_IAAD|CMD_PSE|CMD_ASE|CMD_RESET);
@@ -102,7 +101,7 @@
  	ehci_writel(ehci, ehci->command, &ehci->regs->command);
  	dbg_cmd (ehci, "init", ehci->command);
  
-@@ -622,9 +626,11 @@ static int ehci_run (struct usb_hcd *hcd)
+@@ -622,9 +626,11 @@ static int ehci_run (struct usb_hcd *hcd
  	 */
  	down_write(&ehci_cf_port_reset_rwsem);
  	ehci->rh_state = EHCI_RH_RUNNING;
@@ -114,7 +113,7 @@
  	up_write(&ehci_cf_port_reset_rwsem);
  	ehci->last_periodic_enable = ktime_get_real();
  
-@@ -762,9 +768,10 @@ static irqreturn_t ehci_irq (struct usb_hcd *hcd)
+@@ -762,9 +768,10 @@ static irqreturn_t ehci_irq (struct usb_
  		pcd_status = status;
  
  		/* resume root hub? */
@@ -138,9 +137,9 @@
  #ifdef CONFIG_USB_EHCI_FSL
  #include "ehci-fsl.c"
  #define	PLATFORM_DRIVER		ehci_fsl_driver
---- a/drivers/usb/host/ehci-timer.c	2012-12-24 18:35:19.695560879 +0100
-+++ b/drivers/usb/host/ehci-timer.c	2012-12-24 18:39:39.813308000 +0100
-@@ -208,7 +208,9 @@
+--- a/drivers/usb/host/ehci-timer.c
++++ b/drivers/usb/host/ehci-timer.c
+@@ -208,7 +208,9 @@ static void ehci_handle_controller_death
  
  	/* Clean up the mess */
  	ehci->rh_state = EHCI_RH_HALTED;
@@ -168,7 +167,7 @@
  		case 1:
 --- a/drivers/usb/host/ehci-hub.c
 +++ b/drivers/usb/host/ehci-hub.c
-@@ -1072,6 +1072,11 @@ static int ehci_hub_control (
+@@ -1075,6 +1075,11 @@ int ehci_hub_control(
  			/* see what we found out */
  			temp = check_reset_complete (ehci, wIndex, status_reg,
  					ehci_readl(ehci, status_reg));
@@ -180,26 +179,24 @@
  		}
  
  		/* transfer dedicated ports to the companion hc */
---- a/include/linux/usb/ehci_def.h	2012-12-24 15:01:10.168320497 +0100
-+++ b/include/linux/usb/ehci_def.h	2012-12-24 15:11:43.335575000 +0100
-@@ -110,9 +110,14 @@
+--- a/include/linux/usb/ehci_def.h
++++ b/include/linux/usb/ehci_def.h
+@@ -110,8 +110,13 @@ struct ehci_regs {
  	u32		frame_list;	/* points to periodic list */
  	/* ASYNCLISTADDR: offset 0x18 */
  	u32		async_next;	/* address of next async queue head */
 -
 +#ifndef CONFIG_ARCH_GEMINI
  	u32		reserved1[2];
--
 +#else
 +	u32		reserved1;
 +	/* PORTSC: offset 0x20 for Faraday OTG */
 +	u32		port_status[1];
 +#endif
-+
+ 
  	/* TXFILLTUNING: offset 0x24 */
  	u32		txfill_tuning;	/* TX FIFO Tuning register */
- #define TXFIFO_DEFAULT	(8<<16)		/* FIFO burst threshold 8 */
-@@ -123,8 +128,11 @@
+@@ -123,8 +128,11 @@ struct ehci_regs {
  	u32		configured_flag;
  #define FLAG_CF		(1<<0)		/* true: we'll support "high speed" */
  

+ 1 - 1
target/linux/gemini/patches-3.18/132-arm-gemini-register-usb.patch

@@ -30,7 +30,7 @@
  MACHINE_START(RUT100, "Teltonika RUT100")
 --- a/arch/arm/mach-gemini/board-nas4220b.c
 +++ b/arch/arm/mach-gemini/board-nas4220b.c
-@@ -134,10 +134,23 @@
+@@ -134,10 +134,23 @@ static void __init ib4220b_gmac_init(voi
  		GLOBAL_ARBITRATION1_CTRL));
  }
  

+ 10 - 10
target/linux/gemini/patches-3.18/150-gemini-pata.patch

@@ -15,9 +15,9 @@
  #define USB1_VBUS_ON			(1 << 23)
  #define USB0_VBUS_ON			(1 << 22)
  #define APB_CLKOUT_ENABLE		(1 << 21)
---- a/arch/arm/mach-gemini/irq.c	2013-02-19 13:38:13.263948000 +0100
-+++ b/arch/arm/mach-gemini/irq.c	2013-02-19 18:24:02.912997292 +0100
-@@ -89,6 +89,9 @@
+--- a/arch/arm/mach-gemini/irq.c
++++ b/arch/arm/mach-gemini/irq.c
+@@ -89,6 +89,9 @@ void __init gemini_init_irq(void)
  			irq_set_handler(i, handle_edge_irq);
  			mode |= 1 << i;
  			level |= 1 << i;
@@ -29,7 +29,7 @@
  		}
 --- a/arch/arm/mach-gemini/common.h
 +++ b/arch/arm/mach-gemini/common.h
-@@ -29,6 +29,7 @@
+@@ -29,6 +29,7 @@ extern int platform_register_pflash(unsi
  extern int platform_register_watchdog(void);
  extern int platform_register_ethernet(struct gemini_gmac_platform_data *pdata);
  extern int platform_register_usb(unsigned int id);
@@ -39,7 +39,7 @@
  
 --- a/arch/arm/mach-gemini/devices.c
 +++ b/arch/arm/mach-gemini/devices.c
-@@ -249,3 +249,67 @@
+@@ -249,3 +249,67 @@ int __init platform_register_usb(unsigne
  	return platform_device_register(&usb_device[id]);
  }
  
@@ -109,7 +109,7 @@
 +}
 --- a/arch/arm/mach-gemini/mm.c
 +++ b/arch/arm/mach-gemini/mm.c
-@@ -24,6 +24,11 @@
+@@ -24,6 +24,11 @@ static struct map_desc gemini_io_desc[]
  		.length		= SZ_512K,
  		.type 		= MT_DEVICE,
  	}, {
@@ -123,7 +123,7 @@
  		.length		= SZ_512K,
 --- a/drivers/ata/Kconfig
 +++ b/drivers/ata/Kconfig
-@@ -536,6 +536,16 @@ config PATA_EFAR
+@@ -536,6 +536,16 @@ config PATA_EP93XX
  
  	  If unsure, say N.
  
@@ -142,7 +142,7 @@
  	depends on PCI
 --- a/drivers/ata/Makefile
 +++ b/drivers/ata/Makefile
-@@ -53,6 +53,7 @@
+@@ -53,6 +53,7 @@ obj-$(CONFIG_PATA_CS5536)	+= pata_cs5536
  obj-$(CONFIG_PATA_CYPRESS)	+= pata_cypress.o
  obj-$(CONFIG_PATA_EFAR)		+= pata_efar.o
  obj-$(CONFIG_PATA_EP93XX)	+= pata_ep93xx.o
@@ -152,7 +152,7 @@
  obj-$(CONFIG_PATA_HPT3X2N)	+= pata_hpt3x2n.o
 --- a/arch/arm/mach-gemini/board-nas4220b.c
 +++ b/arch/arm/mach-gemini/board-nas4220b.c
-@@ -146,11 +146,28 @@
+@@ -146,11 +146,28 @@ static void __init usb_ib4220b_init(void
  		GLOBAL_MISC_CTRL));
  }
  
@@ -181,7 +181,7 @@
  	platform_register_uart();
  	platform_register_pflash(SZ_16M, NULL, 0);
  	platform_device_register(&ib4220b_led_device);
-@@ -161,6 +178,8 @@
+@@ -161,6 +178,8 @@ static void __init ib4220b_init(void)
  	platform_register_ethernet(&ib4220b_gmac_data);
  	platform_register_usb(0);
  	platform_register_usb(1);

+ 5 - 5
target/linux/gemini/patches-3.18/160-gemini-timers.patch

@@ -1,5 +1,5 @@
---- a/arch/arm/mach-gemini/time.c	2015-03-25 23:06:03.188317455 +0200
-+++ b/arch/arm/mach-gemini/time.c	2015-03-25 23:06:24.417315486 +0200
+--- a/arch/arm/mach-gemini/time.c
++++ b/arch/arm/mach-gemini/time.c
 @@ -15,15 +15,18 @@
  #include <asm/mach/time.h>
  #include <linux/clockchips.h>
@@ -76,7 +76,7 @@
  
  	return 0;
  }
-@@ -66,48 +80,68 @@
+@@ -66,48 +80,68 @@ static void gemini_timer_set_mode(enum c
  	u32 cr;
  
  	switch (mode) {
@@ -176,7 +176,7 @@
  {
  	struct clock_event_device *evt = &gemini_clockevent;
  
-@@ -116,14 +150,11 @@
+@@ -116,14 +150,11 @@ static irqreturn_t gemini_timer_interrup
  }
  
  static struct irqaction gemini_timer_irq = {
@@ -194,7 +194,7 @@
  void __init gemini_timer_init(void)
  {
  	u32 reg_v;
-@@ -151,20 +182,35 @@
+@@ -151,20 +182,35 @@ void __init gemini_timer_init(void)
  	}
  
  	/*

+ 0 - 107
target/linux/generic/patches-3.18/082-usbnet-Fix-tx_packets-stat-for-FLAG_MULTI_FRAME-driv.patch

@@ -1,107 +0,0 @@
-From: Ben Hutchings <[email protected]>
-Date: Thu, 26 Feb 2015 19:34:37 +0000
-Subject: [PATCH] usbnet: Fix tx_packets stat for FLAG_MULTI_FRAME drivers
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Currently the usbnet core does not update the tx_packets statistic for
-drivers with FLAG_MULTI_PACKET and there is no hook in the TX
-completion path where they could do this.
-
-cdc_ncm and dependent drivers are bumping tx_packets stat on the
-transmit path while asix and sr9800 aren't updating it at all.
-
-Add a packet count in struct skb_data so these drivers can fill it
-in, initialise it to 1 for other drivers, and add the packet count
-to the tx_packets statistic on completion.
-
-Signed-off-by: Ben Hutchings <[email protected]>
-Tested-by: Bjørn Mork <[email protected]>
-Signed-off-by: David S. Miller <[email protected]>
----
-
---- a/drivers/net/usb/asix_common.c
-+++ b/drivers/net/usb/asix_common.c
-@@ -188,6 +188,8 @@ struct sk_buff *asix_tx_fixup(struct usb
- 		memcpy(skb_tail_pointer(skb), &padbytes, sizeof(padbytes));
- 		skb_put(skb, sizeof(padbytes));
- 	}
-+
-+	usbnet_set_skb_tx_stats(skb, 1);
- 	return skb;
- }
- 
---- a/drivers/net/usb/cdc_ncm.c
-+++ b/drivers/net/usb/cdc_ncm.c
-@@ -1172,7 +1172,6 @@ cdc_ncm_fill_tx_frame(struct usbnet *dev
- 
- 	/* return skb */
- 	ctx->tx_curr_skb = NULL;
--	dev->net->stats.tx_packets += ctx->tx_curr_frame_num;
- 
- 	/* keep private stats: framing overhead and number of NTBs */
- 	ctx->tx_overhead += skb_out->len - ctx->tx_curr_frame_payload;
-@@ -1184,6 +1183,8 @@ cdc_ncm_fill_tx_frame(struct usbnet *dev
- 	 */
- 	dev->net->stats.tx_bytes -= skb_out->len - ctx->tx_curr_frame_payload;
- 
-+	usbnet_set_skb_tx_stats(skb_out, n);
-+
- 	return skb_out;
- 
- exit_no_skb:
---- a/drivers/net/usb/sr9800.c
-+++ b/drivers/net/usb/sr9800.c
-@@ -144,6 +144,7 @@ static struct sk_buff *sr_tx_fixup(struc
- 		skb_put(skb, sizeof(padbytes));
- 	}
- 
-+	usbnet_set_skb_tx_stats(skb, 1);
- 	return skb;
- }
- 
---- a/drivers/net/usb/usbnet.c
-+++ b/drivers/net/usb/usbnet.c
-@@ -1189,8 +1189,7 @@ static void tx_complete (struct urb *urb
- 	struct usbnet		*dev = entry->dev;
- 
- 	if (urb->status == 0) {
--		if (!(dev->driver_info->flags & FLAG_MULTI_PACKET))
--			dev->net->stats.tx_packets++;
-+		dev->net->stats.tx_packets += entry->packets;
- 		dev->net->stats.tx_bytes += entry->length;
- 	} else {
- 		dev->net->stats.tx_errors++;
-@@ -1349,6 +1348,8 @@ netdev_tx_t usbnet_start_xmit (struct sk
- 			urb->transfer_flags |= URB_ZERO_PACKET;
- 	}
- 	entry->length = urb->transfer_buffer_length = length;
-+	if (!(info->flags & FLAG_MULTI_PACKET))
-+		usbnet_set_skb_tx_stats(skb, 1);
- 
- 	spin_lock_irqsave(&dev->txq.lock, flags);
- 	retval = usb_autopm_get_interface_async(dev->intf);
---- a/include/linux/usb/usbnet.h
-+++ b/include/linux/usb/usbnet.h
-@@ -228,8 +228,20 @@ struct skb_data {	/* skb->cb is one of t
- 	struct usbnet		*dev;
- 	enum skb_state		state;
- 	size_t			length;
-+	unsigned long		packets;
- };
- 
-+/* Drivers that set FLAG_MULTI_PACKET must call this in their
-+ * tx_fixup method before returning an skb.
-+ */
-+static inline void
-+usbnet_set_skb_tx_stats(struct sk_buff *skb, unsigned long packets)
-+{
-+	struct skb_data *entry = (struct skb_data *) skb->cb;
-+
-+	entry->packets = packets;
-+}
-+
- extern int usbnet_open(struct net_device *net);
- extern int usbnet_stop(struct net_device *net);
- extern netdev_tx_t usbnet_start_xmit(struct sk_buff *skb,

+ 2 - 2
target/linux/generic/patches-3.18/102-ehci_hcd_ignore_oc.patch

@@ -31,7 +31,7 @@ Signed-off-by: Florian Fainelli <[email protected]>
  		    &ehci->regs->intr_enable); /* Turn On Interrupts */
 --- a/drivers/usb/host/ehci-hub.c
 +++ b/drivers/usb/host/ehci-hub.c
-@@ -632,7 +632,7 @@ ehci_hub_status_data (struct usb_hcd *hc
+@@ -635,7 +635,7 @@ ehci_hub_status_data (struct usb_hcd *hc
  	 * always set, seem to clear PORT_OCC and PORT_CSC when writing to
  	 * PORT_POWER; that's surprising, but maybe within-spec.
  	 */
@@ -40,7 +40,7 @@ Signed-off-by: Florian Fainelli <[email protected]>
  		mask = PORT_CSC | PORT_PEC | PORT_OCC;
  	else
  		mask = PORT_CSC | PORT_PEC;
-@@ -992,7 +992,7 @@ int ehci_hub_control(
+@@ -995,7 +995,7 @@ int ehci_hub_control(
  		if (temp & PORT_PEC)
  			status |= USB_PORT_STAT_C_ENABLE << 16;
  

+ 1 - 1
target/linux/generic/patches-3.18/259-regmap_dynamic.patch

@@ -71,7 +71,7 @@
  #include <linux/mutex.h>
  #include <linux/err.h>
  #include <linux/of.h>
-@@ -2635,3 +2636,5 @@ static int __init regmap_initcall(void)
+@@ -2631,3 +2632,5 @@ static int __init regmap_initcall(void)
  	return 0;
  }
  postcore_initcall(regmap_initcall);

+ 1 - 1
target/linux/generic/patches-3.18/304-mips_disable_fpu.patch

@@ -60,7 +60,7 @@ v2: incorporated changes suggested by Jonas Gorski
  core-y += arch/mips/
 --- a/arch/mips/include/asm/fpu.h
 +++ b/arch/mips/include/asm/fpu.h
-@@ -168,8 +168,10 @@ static inline int init_fpu(void)
+@@ -169,8 +169,10 @@ static inline int init_fpu(void)
  		ret = __own_fpu();
  		if (!ret)
  			_init_fpu();

+ 1 - 2
target/linux/generic/patches-3.18/411-mtd-partial_eraseblock_write.patch

@@ -97,7 +97,7 @@
  		if (instr->fail_addr != MTD_FAIL_ADDR_UNKNOWN)
  			instr->fail_addr -= part->offset;
  		instr->addr -= part->offset;
-@@ -514,18 +582,21 @@ static struct mtd_part *allocate_partiti
+@@ -514,17 +582,20 @@ static struct mtd_part *allocate_partiti
  	if ((slave->mtd.flags & MTD_WRITEABLE) &&
  	    mtd_mod_by_eb(slave->offset, &slave->mtd)) {
  		/* Doesn't start on a boundary of major erase size */
@@ -127,7 +127,6 @@
  	}
  
  	slave->mtd.ecclayout = master->ecclayout;
- 	slave->mtd.ecc_step_size = master->ecc_step_size;
 --- a/include/linux/mtd/mtd.h
 +++ b/include/linux/mtd/mtd.h
 @@ -55,6 +55,10 @@ struct erase_info {

+ 2 - 2
target/linux/generic/patches-3.18/650-pppoe_header_pad.patch

@@ -1,6 +1,6 @@
 --- a/drivers/net/ppp/pppoe.c
 +++ b/drivers/net/ppp/pppoe.c
-@@ -865,7 +865,7 @@ static int pppoe_sendmsg(struct kiocb *i
+@@ -869,7 +869,7 @@ static int pppoe_sendmsg(struct kiocb *i
  		goto end;
  
  
@@ -9,7 +9,7 @@
  			   0, GFP_KERNEL);
  	if (!skb) {
  		error = -ENOMEM;
-@@ -873,7 +873,7 @@ static int pppoe_sendmsg(struct kiocb *i
+@@ -877,7 +877,7 @@ static int pppoe_sendmsg(struct kiocb *i
  	}
  
  	/* Reserve space for headers. */

+ 1 - 1
target/linux/generic/patches-3.18/653-disable_netlink_trim.patch

@@ -1,6 +1,6 @@
 --- a/net/netlink/af_netlink.c
 +++ b/net/netlink/af_netlink.c
-@@ -1695,27 +1695,7 @@ void netlink_detachskb(struct sock *sk,
+@@ -1693,27 +1693,7 @@ void netlink_detachskb(struct sock *sk,
  
  static struct sk_buff *netlink_trim(struct sk_buff *skb, gfp_t allocation)
  {

+ 1 - 1
target/linux/generic/patches-3.18/655-increase_skb_pad.patch

@@ -1,6 +1,6 @@
 --- a/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
-@@ -2022,7 +2022,7 @@ static inline int pskb_network_may_pull(
+@@ -2023,7 +2023,7 @@ static inline int pskb_network_may_pull(
   * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
   */
  #ifndef NET_SKB_PAD

+ 1 - 1
target/linux/generic/patches-3.18/656-skb_reduce_truesize-helper.patch

@@ -14,7 +14,7 @@ when needed.
 
 --- a/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
-@@ -2067,6 +2067,24 @@ static inline void pskb_trim_unique(stru
+@@ -2068,6 +2068,24 @@ static inline void pskb_trim_unique(stru
  	BUG_ON(err);
  }
  

+ 2 - 4
target/linux/generic/patches-3.18/667-ipv6-Fixed-source-specific-default-route-handling.patch

@@ -24,11 +24,9 @@ Signed-off-by: David S. Miller <[email protected]>
  net/ipv6/route.c      |  5 +++--
  2 files changed, 34 insertions(+), 10 deletions(-)
 
-diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c
-index 7fde1f2..c217775 100644
 --- a/net/ipv6/ip6_output.c
 +++ b/net/ipv6/ip6_output.c
-@@ -897,21 +897,45 @@ static int ip6_dst_lookup_tail(struct so
+@@ -898,21 +898,45 @@ static int ip6_dst_lookup_tail(struct so
  #endif
  	int err;
  
@@ -83,7 +81,7 @@ index 7fde1f2..c217775 100644
  	 * Here if the dst entry we've looked up
 --- a/net/ipv6/route.c
 +++ b/net/ipv6/route.c
-@@ -2215,9 +2215,10 @@ int ip6_route_get_saddr(struct net *net,
+@@ -2182,9 +2182,10 @@ int ip6_route_get_saddr(struct net *net,
  			unsigned int prefs,
  			struct in6_addr *saddr)
  {

+ 7 - 7
target/linux/generic/patches-3.18/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch

@@ -173,7 +173,7 @@ Signed-off-by: Jonas Gorski <[email protected]>
  /*
   *	Allocate a dst for local (unicast / anycast) address.
   */
-@@ -2362,7 +2395,8 @@ static int rtm_to_fib6_config(struct sk_
+@@ -2363,7 +2396,8 @@ static int rtm_to_fib6_config(struct sk_
  	if (rtm->rtm_type == RTN_UNREACHABLE ||
  	    rtm->rtm_type == RTN_BLACKHOLE ||
  	    rtm->rtm_type == RTN_PROHIBIT ||
@@ -183,7 +183,7 @@ Signed-off-by: Jonas Gorski <[email protected]>
  		cfg->fc_flags |= RTF_REJECT;
  
  	if (rtm->rtm_type == RTN_LOCAL)
-@@ -2564,6 +2598,9 @@ static int rt6_fill_node(struct net *net
+@@ -2565,6 +2599,9 @@ static int rt6_fill_node(struct net *net
  		case -EACCES:
  			rtm->rtm_type = RTN_PROHIBIT;
  			break;
@@ -193,7 +193,7 @@ Signed-off-by: Jonas Gorski <[email protected]>
  		case -EAGAIN:
  			rtm->rtm_type = RTN_THROW;
  			break;
-@@ -2817,6 +2854,8 @@ static int ip6_route_dev_notify(struct n
+@@ -2818,6 +2855,8 @@ static int ip6_route_dev_notify(struct n
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
  		net->ipv6.ip6_prohibit_entry->dst.dev = dev;
  		net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
@@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski <[email protected]>
  		net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
  		net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
  #endif
-@@ -3033,6 +3072,17 @@ static int __net_init ip6_route_net_init
+@@ -3034,6 +3073,17 @@ static int __net_init ip6_route_net_init
  	net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
  	dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
  			 ip6_template_metrics, true);
@@ -220,7 +220,7 @@ Signed-off-by: Jonas Gorski <[email protected]>
  #endif
  
  	net->ipv6.sysctl.flush_delay = 0;
-@@ -3051,6 +3101,8 @@ out:
+@@ -3052,6 +3102,8 @@ out:
  	return ret;
  
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
@@ -229,7 +229,7 @@ Signed-off-by: Jonas Gorski <[email protected]>
  out_ip6_prohibit_entry:
  	kfree(net->ipv6.ip6_prohibit_entry);
  out_ip6_null_entry:
-@@ -3068,6 +3120,7 @@ static void __net_exit ip6_route_net_exi
+@@ -3069,6 +3121,7 @@ static void __net_exit ip6_route_net_exi
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
  	kfree(net->ipv6.ip6_prohibit_entry);
  	kfree(net->ipv6.ip6_blk_hole_entry);
@@ -237,7 +237,7 @@ Signed-off-by: Jonas Gorski <[email protected]>
  #endif
  	dst_entries_destroy(&net->ipv6.ip6_dst_ops);
  }
-@@ -3164,6 +3217,9 @@ int __init ip6_route_init(void)
+@@ -3165,6 +3218,9 @@ int __init ip6_route_init(void)
  	init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
  	init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
  	init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);

+ 5 - 5
target/linux/generic/patches-3.18/680-NET-skip-GRO-for-foreign-MAC-addresses.patch

@@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
 
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -4003,6 +4003,9 @@ static enum gro_result dev_gro_receive(s
+@@ -4001,6 +4001,9 @@ static enum gro_result dev_gro_receive(s
  	enum gro_result ret;
  	int grow;
  
@@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	if (!(skb->dev->features & NETIF_F_GRO))
  		goto normal;
  
-@@ -5066,6 +5069,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -5064,6 +5067,48 @@ static void __netdev_adjacent_dev_unlink
  					   &upper_dev->adj_list.lower);
  }
  
@@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  static int __netdev_upper_dev_link(struct net_device *dev,
  				   struct net_device *upper_dev, bool master,
  				   void *private)
-@@ -5126,6 +5171,7 @@ static int __netdev_upper_dev_link(struc
+@@ -5124,6 +5169,7 @@ static int __netdev_upper_dev_link(struc
  			goto rollback_lower_mesh;
  	}
  
@@ -84,7 +84,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev);
  	return 0;
  
-@@ -5243,6 +5289,7 @@ void netdev_upper_dev_unlink(struct net_
+@@ -5241,6 +5287,7 @@ void netdev_upper_dev_unlink(struct net_
  	list_for_each_entry(i, &upper_dev->all_adj_list.upper, list)
  		__netdev_adjacent_dev_unlink(dev, i->dev);
  
@@ -92,7 +92,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev);
  }
  EXPORT_SYMBOL(netdev_upper_dev_unlink);
-@@ -5762,6 +5809,7 @@ int dev_set_mac_address(struct net_devic
+@@ -5760,6 +5807,7 @@ int dev_set_mac_address(struct net_devic
  	if (err)
  		return err;
  	dev->addr_assign_type = NET_ADDR_SET;

+ 3 - 3
target/linux/generic/patches-3.18/721-phy_packets.patch

@@ -41,7 +41,7 @@
   */
 --- a/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
-@@ -2053,6 +2053,10 @@ static inline int pskb_trim(struct sk_bu
+@@ -2054,6 +2054,10 @@ static inline int pskb_trim(struct sk_bu
  	return (len < skb->len) ? __pskb_trim(skb, len) : 0;
  }
  
@@ -52,7 +52,7 @@
  /**
   *	pskb_trim_unique - remove end from a paged unique (not cloned) buffer
   *	@skb: buffer to alter
-@@ -2179,16 +2183,6 @@ static inline struct sk_buff *dev_alloc_
+@@ -2180,16 +2184,6 @@ static inline struct sk_buff *dev_alloc_
  }
  
  
@@ -121,7 +121,7 @@
  
  #include <net/protocol.h>
  #include <net/dst.h>
-@@ -451,6 +452,22 @@ struct sk_buff *__netdev_alloc_skb(struc
+@@ -469,6 +470,22 @@ struct sk_buff *__netdev_alloc_skb(struc
  }
  EXPORT_SYMBOL(__netdev_alloc_skb);
  

+ 1 - 1
target/linux/generic/patches-3.18/820-usb_add_usb_find_device_by_name.patch

@@ -74,7 +74,7 @@
   * @dev: device the buffer will be used with
 --- a/include/linux/usb.h
 +++ b/include/linux/usb.h
-@@ -695,6 +695,7 @@ static inline bool usb_device_no_sg_cons
+@@ -721,6 +721,7 @@ static inline bool usb_device_no_sg_cons
  	return udev && udev->bus && udev->bus->no_sg_constraint;
  }
  

+ 1 - 1
target/linux/generic/patches-3.18/902-debloat_proc.patch

@@ -173,7 +173,7 @@
  		goto err;
 --- a/net/core/sock.c
 +++ b/net/core/sock.c
-@@ -2915,6 +2915,8 @@ static __net_initdata struct pernet_oper
+@@ -2934,6 +2934,8 @@ static __net_initdata struct pernet_oper
  
  static int __init proto_init(void)
  {

+ 1 - 1
target/linux/imx6/patches-3.18/200-pci_designware_add-ability-for-custom-swizzle.patch

@@ -11,7 +11,7 @@ Date:   Thu Feb 27 01:02:23 2014 -0800
 
 --- a/drivers/pci/host/pcie-designware.c
 +++ b/drivers/pci/host/pcie-designware.c
-@@ -492,6 +492,9 @@ int __init dw_pcie_host_init(struct pcie
+@@ -492,6 +492,9 @@ int dw_pcie_host_init(struct pcie_port *
  	if (pp->ops->host_init)
  		pp->ops->host_init(pp);
  

+ 3 - 3
target/linux/ipq806x/patches-3.18/001-spi-qup-Add-DMA-capabilities.patch

@@ -443,7 +443,7 @@ Signed-off-by: Andy Gross <[email protected]>
  exit:
  	spi_qup_set_state(controller, QUP_STATE_RESET);
  	spin_lock_irqsave(&controller->lock, flags);
-@@ -553,6 +816,7 @@ static int spi_qup_probe(struct platform
+@@ -554,6 +817,7 @@ static int spi_qup_probe(struct platform
  	master->transfer_one = spi_qup_transfer_one;
  	master->dev.of_node = pdev->dev.of_node;
  	master->auto_runtime_pm = true;
@@ -451,7 +451,7 @@ Signed-off-by: Andy Gross <[email protected]>
  
  	platform_set_drvdata(pdev, master);
  
-@@ -618,6 +882,56 @@ static int spi_qup_probe(struct platform
+@@ -619,6 +883,56 @@ static int spi_qup_probe(struct platform
  			QUP_ERROR_INPUT_UNDER_RUN | QUP_ERROR_OUTPUT_UNDER_RUN,
  			base + QUP_ERROR_FLAGS_EN);
  
@@ -508,7 +508,7 @@ Signed-off-by: Andy Gross <[email protected]>
  	writel_relaxed(0, base + SPI_CONFIG);
  	writel_relaxed(SPI_IO_C_NO_TRI_STATE, base + SPI_IO_CONTROL);
  
-@@ -730,6 +1044,11 @@ static int spi_qup_remove(struct platfor
+@@ -731,6 +1045,11 @@ static int spi_qup_remove(struct platfor
  	if (ret)
  		return ret;
  

+ 3 - 8
target/linux/ipq806x/patches-3.18/011-watchdog-qcom-use-timer-devicetree-binding.patch

@@ -14,8 +14,6 @@ Signed-off-by: Mathieu Olivari <[email protected]>
  drivers/watchdog/qcom-wdt.c | 21 +++++++++++++++------
  1 file changed, 15 insertions(+), 6 deletions(-)
 
-diff --git a/drivers/watchdog/qcom-wdt.c b/drivers/watchdog/qcom-wdt.c
-index aa85618..aa03ca8 100644
 --- a/drivers/watchdog/qcom-wdt.c
 +++ b/drivers/watchdog/qcom-wdt.c
 @@ -20,9 +20,9 @@
@@ -31,7 +29,7 @@ index aa85618..aa03ca8 100644
  
  struct qcom_wdt {
  	struct watchdog_device	wdd;
-@@ -117,6 +117,8 @@ static int qcom_wdt_probe(struct platform_device *pdev)
+@@ -117,6 +117,8 @@ static int qcom_wdt_probe(struct platfor
  {
  	struct qcom_wdt *wdt;
  	struct resource *res;
@@ -40,7 +38,7 @@ index aa85618..aa03ca8 100644
  	int ret;
  
  	wdt = devm_kzalloc(&pdev->dev, sizeof(*wdt), GFP_KERNEL);
-@@ -124,6 +126,14 @@ static int qcom_wdt_probe(struct platform_device *pdev)
+@@ -124,6 +126,14 @@ static int qcom_wdt_probe(struct platfor
  		return -ENOMEM;
  
  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
@@ -55,7 +53,7 @@ index aa85618..aa03ca8 100644
  	wdt->base = devm_ioremap_resource(&pdev->dev, res);
  	if (IS_ERR(wdt->base))
  		return PTR_ERR(wdt->base);
-@@ -203,9 +213,8 @@ static int qcom_wdt_remove(struct platform_device *pdev)
+@@ -203,9 +213,8 @@ static int qcom_wdt_remove(struct platfo
  }
  
  static const struct of_device_id qcom_wdt_of_table[] = {
@@ -67,6 +65,3 @@ index aa85618..aa03ca8 100644
  	{ },
  };
  MODULE_DEVICE_TABLE(of, qcom_wdt_of_table);
--- 
-1.9.1
-

+ 0 - 5
target/linux/ipq806x/patches-3.18/012-ARM-qcom-add-description-of-KPSS-WDT-for-IPQ8064.patch

@@ -13,8 +13,6 @@ Signed-off-by: Mathieu Olivari <[email protected]>
  arch/arm/boot/dts/qcom-ipq8064.dtsi | 14 +++++++++++++-
  1 file changed, 13 insertions(+), 1 deletion(-)
 
-diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
-index cb225da..d01f618 100644
 --- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
 +++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
 @@ -60,6 +60,14 @@
@@ -48,6 +46,3 @@ index cb225da..d01f618 100644
  			cpu-offset = <0x80000>;
  		};
  
--- 
-1.9.1
-

+ 0 - 8
target/linux/ipq806x/patches-3.18/022-add-db149-dts.patch

@@ -13,8 +13,6 @@ Signed-off-by: Mathieu Olivari <[email protected]>
  2 files changed, 258 insertions(+)
  create mode 100644 arch/arm/boot/dts/qcom-ipq8064-db149.dts
 
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index 38c89ca..745360a 100644
 --- a/arch/arm/boot/dts/Makefile
 +++ b/arch/arm/boot/dts/Makefile
 @@ -360,6 +360,7 @@ dtb-$(CONFIG_ARCH_QCOM) += \
@@ -25,9 +23,6 @@ index 38c89ca..745360a 100644
  	qcom-msm8660-surf.dtb \
  	qcom-msm8960-cdp.dtb \
  	qcom-msm8974-sony-xperia-honami.dtb
-diff --git a/arch/arm/boot/dts/qcom-ipq8064-db149.dts b/arch/arm/boot/dts/qcom-ipq8064-db149.dts
-new file mode 100644
-index 0000000..224c54f
 --- /dev/null
 +++ b/arch/arm/boot/dts/qcom-ipq8064-db149.dts
 @@ -0,0 +1,257 @@
@@ -288,6 +283,3 @@ index 0000000..224c54f
 +		};
 +	};
 +};
--- 
-1.9.1
-

+ 3 - 12
target/linux/ipq806x/patches-3.18/102-soc-qcom-gsbi-Add-support-for-ADM-CRCI-muxing.patch

@@ -1,8 +1,6 @@
-diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,gsbi.txt b/Documentation/devicetree/bindings/soc/qcom/qcom,gsbi.txt
-index 4ce24d4..186e5f4 100644
 --- a/Documentation/devicetree/bindings/soc/qcom/qcom,gsbi.txt
 +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,gsbi.txt
-@@ -6,7 +6,8 @@ configuration settings.  The mode setting will govern the input/output mode of
+@@ -6,7 +6,8 @@ configuration settings.  The mode settin
  the 4 GSBI IOs.
  
  Required properties:
@@ -48,8 +46,6 @@ index 4ce24d4..186e5f4 100644
 +	};
 +
 +
-diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig
-index 7bd2c94..460b2db 100644
 --- a/drivers/soc/qcom/Kconfig
 +++ b/drivers/soc/qcom/Kconfig
 @@ -4,6 +4,7 @@
@@ -60,8 +56,6 @@ index 7bd2c94..460b2db 100644
          help
            Say y here to enable GSBI support.  The GSBI provides control
            functions for connecting the underlying serial UART, SPI, and I2C
-diff --git a/drivers/soc/qcom/qcom_gsbi.c b/drivers/soc/qcom/qcom_gsbi.c
-index 729425d..09c669e 100644
 --- a/drivers/soc/qcom/qcom_gsbi.c
 +++ b/drivers/soc/qcom/qcom_gsbi.c
 @@ -18,22 +18,129 @@
@@ -194,7 +188,7 @@ index 729425d..09c669e 100644
  
  	gsbi = devm_kzalloc(&pdev->dev, sizeof(*gsbi), GFP_KERNEL);
  
-@@ -45,6 +152,32 @@ static int gsbi_probe(struct platform_device *pdev)
+@@ -45,6 +152,32 @@ static int gsbi_probe(struct platform_de
  	if (IS_ERR(base))
  		return PTR_ERR(base);
  
@@ -227,7 +221,7 @@ index 729425d..09c669e 100644
  	if (of_property_read_u32(node, "qcom,mode", &gsbi->mode)) {
  		dev_err(&pdev->dev, "missing mode configuration\n");
  		return -EINVAL;
-@@ -64,6 +197,25 @@ static int gsbi_probe(struct platform_device *pdev)
+@@ -64,6 +197,25 @@ static int gsbi_probe(struct platform_de
  	writel_relaxed((gsbi->mode << GSBI_PROTOCOL_SHIFT) | gsbi->crci,
  				base + GSBI_CTRL_REG);
  
@@ -253,6 +247,3 @@ index 729425d..09c669e 100644
  	/* make sure the gsbi control write is not reordered */
  	wmb();
  
--- 
-1.9.1
-

+ 0 - 3
target/linux/ipq806x/patches-3.18/110-DT-PCI-qcom-Document-PCIe-devicetree-bindings.patch

@@ -27,9 +27,6 @@ Signed-off-by: Stanimir Varbanov <[email protected]>
  1 files changed, 231 insertions(+), 0 deletions(-)
  create mode 100644 Documentation/devicetree/bindings/pci/qcom,pcie.txt
 
-diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie.txt b/Documentation/devicetree/bindings/pci/qcom,pcie.txt
-new file mode 100644
-index 0000000..dcf7348
 --- /dev/null
 +++ b/Documentation/devicetree/bindings/pci/qcom,pcie.txt
 @@ -0,0 +1,231 @@

+ 1 - 11
target/linux/ipq806x/patches-3.18/300-arch-arm-force-ZRELADDR-on-arch-qcom.patch

@@ -31,8 +31,6 @@ Signed-off-by: Mathieu Olivari <[email protected]>
  3 files changed, 4 insertions(+), 1 deletion(-)
  create mode 100644 arch/arm/mach-qcom/Makefile.boot
 
-diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index 89c4b5c..4583ea5 100644
 --- a/arch/arm/Kconfig
 +++ b/arch/arm/Kconfig
 @@ -311,7 +311,7 @@ config ARCH_MULTIPLATFORM
@@ -44,11 +42,9 @@ index 89c4b5c..4583ea5 100644
  	select CLKSRC_OF
  	select COMMON_CLK
  	select GENERIC_CLOCKEVENTS
-diff --git a/arch/arm/Makefile b/arch/arm/Makefile
-index 7453352..5d6f8ac 100644
 --- a/arch/arm/Makefile
 +++ b/arch/arm/Makefile
-@@ -240,9 +240,11 @@ MACHINE  := arch/arm/mach-$(word 1,$(machine-y))/
+@@ -240,9 +240,11 @@ MACHINE  := arch/arm/mach-$(word 1,$(mac
  else
  MACHINE  :=
  endif
@@ -60,13 +56,7 @@ index 7453352..5d6f8ac 100644
  
  machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y))
  platdirs := $(patsubst %,arch/arm/plat-%/,$(sort $(plat-y)))
-diff --git a/arch/arm/mach-qcom/Makefile.boot b/arch/arm/mach-qcom/Makefile.boot
-new file mode 100644
-index 0000000..67a6d5a
 --- /dev/null
 +++ b/arch/arm/mach-qcom/Makefile.boot
 @@ -0,0 +1 @@
 +zreladdr-y+= 0x42208000
--- 
-1.9.1
-

+ 22 - 36
target/linux/ixp4xx/patches-3.18/001-arm-ixp4xx-set-cohorent_dma_mask-for-ethernet-platfo.patch

@@ -18,11 +18,9 @@ Signed-off-by: Jonas Gorski <[email protected]>
  arch/arm/mach-ixp4xx/vulcan-setup.c  |    2 ++
  7 files changed, 14 insertions(+)
 
-Index: linux-3.18.5/arch/arm/mach-ixp4xx/fsg-setup.c
-===================================================================
---- linux-3.18.5.orig/arch/arm/mach-ixp4xx/fsg-setup.c	2015-02-09 13:54:27.000000000 +0100
-+++ linux-3.18.5/arch/arm/mach-ixp4xx/fsg-setup.c	2015-02-09 13:54:43.025969682 +0100
-@@ -142,12 +142,14 @@
+--- a/arch/arm/mach-ixp4xx/fsg-setup.c
++++ b/arch/arm/mach-ixp4xx/fsg-setup.c
+@@ -142,12 +142,14 @@ static struct platform_device fsg_eth[]
  		.id			= IXP4XX_ETH_NPEB,
  		.dev = {
  			.platform_data	= fsg_plat_eth,
@@ -37,11 +35,9 @@ Index: linux-3.18.5/arch/arm/mach-ixp4xx/fsg-setup.c
  		},
  	}
  };
-Index: linux-3.18.5/arch/arm/mach-ixp4xx/goramo_mlr.c
-===================================================================
---- linux-3.18.5.orig/arch/arm/mach-ixp4xx/goramo_mlr.c	2015-02-09 13:54:27.000000000 +0100
-+++ linux-3.18.5/arch/arm/mach-ixp4xx/goramo_mlr.c	2015-02-09 13:54:43.025969682 +0100
-@@ -295,10 +295,12 @@
+--- a/arch/arm/mach-ixp4xx/goramo_mlr.c
++++ b/arch/arm/mach-ixp4xx/goramo_mlr.c
+@@ -295,10 +295,12 @@ static struct platform_device device_eth
  		.name			= "ixp4xx_eth",
  		.id			= IXP4XX_ETH_NPEB,
  		.dev.platform_data	= eth_plat,
@@ -54,10 +50,8 @@ Index: linux-3.18.5/arch/arm/mach-ixp4xx/goramo_mlr.c
  	}
  };
  
-Index: linux-3.18.5/arch/arm/mach-ixp4xx/ixdp425-setup.c
-===================================================================
---- linux-3.18.5.orig/arch/arm/mach-ixp4xx/ixdp425-setup.c	2015-02-09 13:54:27.000000000 +0100
-+++ linux-3.18.5/arch/arm/mach-ixp4xx/ixdp425-setup.c	2015-02-09 13:54:43.025969682 +0100
+--- a/arch/arm/mach-ixp4xx/ixdp425-setup.c
++++ b/arch/arm/mach-ixp4xx/ixdp425-setup.c
 @@ -20,6 +20,7 @@
  #include <linux/mtd/nand.h>
  #include <linux/mtd/partitions.h>
@@ -66,7 +60,7 @@ Index: linux-3.18.5/arch/arm/mach-ixp4xx/ixdp425-setup.c
  #include <linux/gpio.h>
  #include <asm/types.h>
  #include <asm/setup.h>
-@@ -196,10 +197,12 @@
+@@ -196,10 +197,12 @@ static struct platform_device ixdp425_et
  		.name			= "ixp4xx_eth",
  		.id			= IXP4XX_ETH_NPEB,
  		.dev.platform_data	= ixdp425_plat_eth,
@@ -79,11 +73,9 @@ Index: linux-3.18.5/arch/arm/mach-ixp4xx/ixdp425-setup.c
  	}
  };
  
-Index: linux-3.18.5/arch/arm/mach-ixp4xx/nas100d-setup.c
-===================================================================
---- linux-3.18.5.orig/arch/arm/mach-ixp4xx/nas100d-setup.c	2015-02-09 13:54:27.000000000 +0100
-+++ linux-3.18.5/arch/arm/mach-ixp4xx/nas100d-setup.c	2015-02-09 13:54:43.025969682 +0100
-@@ -170,6 +170,7 @@
+--- a/arch/arm/mach-ixp4xx/nas100d-setup.c
++++ b/arch/arm/mach-ixp4xx/nas100d-setup.c
+@@ -170,6 +170,7 @@ static struct platform_device nas100d_et
  		.name			= "ixp4xx_eth",
  		.id			= IXP4XX_ETH_NPEB,
  		.dev.platform_data	= nas100d_plat_eth,
@@ -91,11 +83,9 @@ Index: linux-3.18.5/arch/arm/mach-ixp4xx/nas100d-setup.c
  	}
  };
  
-Index: linux-3.18.5/arch/arm/mach-ixp4xx/nslu2-setup.c
-===================================================================
---- linux-3.18.5.orig/arch/arm/mach-ixp4xx/nslu2-setup.c	2015-02-09 13:54:27.000000000 +0100
-+++ linux-3.18.5/arch/arm/mach-ixp4xx/nslu2-setup.c	2015-02-09 13:54:43.025969682 +0100
-@@ -182,6 +182,7 @@
+--- a/arch/arm/mach-ixp4xx/nslu2-setup.c
++++ b/arch/arm/mach-ixp4xx/nslu2-setup.c
+@@ -182,6 +182,7 @@ static struct platform_device nslu2_eth[
  		.name			= "ixp4xx_eth",
  		.id			= IXP4XX_ETH_NPEB,
  		.dev.platform_data	= nslu2_plat_eth,
@@ -103,10 +93,8 @@ Index: linux-3.18.5/arch/arm/mach-ixp4xx/nslu2-setup.c
  	}
  };
  
-Index: linux-3.18.5/arch/arm/mach-ixp4xx/omixp-setup.c
-===================================================================
---- linux-3.18.5.orig/arch/arm/mach-ixp4xx/omixp-setup.c	2015-02-09 13:54:27.000000000 +0100
-+++ linux-3.18.5/arch/arm/mach-ixp4xx/omixp-setup.c	2015-02-09 13:55:01.150008153 +0100
+--- a/arch/arm/mach-ixp4xx/omixp-setup.c
++++ b/arch/arm/mach-ixp4xx/omixp-setup.c
 @@ -17,6 +17,7 @@
  #include <linux/serial_8250.h>
  #include <linux/mtd/mtd.h>
@@ -115,7 +103,7 @@ Index: linux-3.18.5/arch/arm/mach-ixp4xx/omixp-setup.c
  #include <linux/leds.h>
  
  #include <asm/setup.h>
-@@ -188,10 +189,12 @@
+@@ -188,10 +189,12 @@ static struct platform_device ixdp425_et
  		.name			= "ixp4xx_eth",
  		.id			= IXP4XX_ETH_NPEB,
  		.dev.platform_data	= ixdp425_plat_eth,
@@ -128,11 +116,9 @@ Index: linux-3.18.5/arch/arm/mach-ixp4xx/omixp-setup.c
  	},
  };
  
-Index: linux-3.18.5/arch/arm/mach-ixp4xx/vulcan-setup.c
-===================================================================
---- linux-3.18.5.orig/arch/arm/mach-ixp4xx/vulcan-setup.c	2015-02-09 13:54:27.000000000 +0100
-+++ linux-3.18.5/arch/arm/mach-ixp4xx/vulcan-setup.c	2015-02-09 13:54:43.025969682 +0100
-@@ -139,6 +139,7 @@
+--- a/arch/arm/mach-ixp4xx/vulcan-setup.c
++++ b/arch/arm/mach-ixp4xx/vulcan-setup.c
+@@ -139,6 +139,7 @@ static struct platform_device vulcan_eth
  		.id			= IXP4XX_ETH_NPEB,
  		.dev = {
  			.platform_data	= &vulcan_plat_eth[0],
@@ -140,7 +126,7 @@ Index: linux-3.18.5/arch/arm/mach-ixp4xx/vulcan-setup.c
  		},
  	},
  	[1] = {
-@@ -146,6 +147,7 @@
+@@ -146,6 +147,7 @@ static struct platform_device vulcan_eth
  		.id			= IXP4XX_ETH_NPEC,
  		.dev = {
  			.platform_data	= &vulcan_plat_eth[1],

部分文件因为文件数量过多而无法显示