[source] kernel: update kernel 4.4 to 4.4.59

LEDE Commits lede-commits at lists.infradead.org
Sun Apr 2 05:50:56 PDT 2017


hauke pushed a commit to source.git, branch lede-17.01:
https://git.lede-project.org/0dcc4d239da78bc20b091d50c097c386e0e61902

commit 0dcc4d239da78bc20b091d50c097c386e0e61902
Author: Hauke Mehrtens <hauke at hauke-m.de>
AuthorDate: Sun Apr 2 11:53:42 2017 +0200

    kernel: update kernel 4.4 to 4.4.59
    
    Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
 include/kernel-version.mk                          |  4 +-
 .../patches-4.4/910-unaligned_access_hacks.patch   |  4 +-
 .../patches-4.4/0551-kbuild-add-fno-PIE.patch      |  7 +--
 ...d-Steal-gcc-s-pie-from-the-very-beginning.patch |  7 +--
 ...RM-dts-Restore-dtbs_install-functionality.patch |  5 --
 ...4-BCM270X_DT-Update-UART0-clock-frequency.patch |  5 --
 ...M2835-v4l2-Fix-a-conformance-test-failure.patch |  7 +--
 ...M270X_DT-Add-overlay-for-enc28j60-on-SPI2.patch | 17 ++-----
 ...i-Delete-vestigial-gpio_in_pull-parameter.patch |  5 --
 .../0558-BCM270X_DT-Add-i2c-sensor-overlay.patch   | 14 +-----
 ...-overlays-overlay.dtb-overlays-.dtbo-1752.patch |  5 --
 ...dragonrise-fix-HID-Descriptor-for-0x0006-.patch |  7 +--
 ...rng-Avoid-initialising-if-already-enabled.patch |  7 +--
 .../0562-Pisound-dynamic-overlay-1760.patch        |  9 +---
 ...-for-Silicon-Labs-Si7013-20-21-humidity-t.patch | 39 +++++++---------
 .../0564-pisound-improvements-1778.patch           | 19 +++-----
 ..._name-properties-to-JustBoom-drivers-1787.patch | 11 +----
 ...-Changes-for-allowing-asymmetric-sample-f.patch | 11 ++---
 ...7-BCM270X_DT-Add-pi3-disable-wifi-overlay.patch | 10 ----
 ...move-ppos-increment-in-configfs_write_bin.patch |  7 +--
 .../0569-config-Add-CONFIG_DM_CACHE.patch          |  7 ---
 .../0570-BCM270X_DT-Add-spi0-cs-overlay.patch      | 10 ----
 ...835-i2s-Changes-for-allowing-asymmetric-s.patch | 11 ++---
 .../0572-BCM270X_DT-Enable-UART0-on-CM3.patch      |  5 --
 ...dd-CONFIG_MD_M25P80-and-CONFIG_MD_SPI_NOR.patch |  7 ---
 ...-USB-config-options-for-bcm2709_defconfig.patch |  5 --
 ..._DT-Add-reference-to-audio_pins-to-CM-dtb.patch |  5 --
 .../0576-Add-overlay-for-mcp3008-adc-1818.patch    | 12 +----
 ...Restore-IO-APIC-irq_chip-retrigger-callba.patch |  9 +---
 .../0578-config-add-slcan-kernel-module.patch      |  7 ---
 ...-sending-of-page-flip-completion-events-i.patch |  7 +--
 ...clk-bcm2835-Fix-fixed_divider-of-pllh_aux.patch |  7 +--
 ...port-rate-change-propagation-on-bcm2835-c.patch |  9 +---
 ...ow-rate-change-propagation-to-PLLH_AUX-on.patch |  7 +--
 ...-maybe-uninitialized-warning-in-bcm2835_c.patch |  7 +--
 ...-Don-t-rate-change-PLLs-on-behalf-of-DSI-.patch | 33 ++++++--------
 ...m-Remove-unnecessary-dev_info-output-1830.patch |  7 +--
 ...fill-user-BO-creation-requests-from-the-k.patch |  7 +--
 ...-OOPSes-from-trying-to-cache-a-partially-.patch |  7 +--
 ...ify-at-boot-that-CMA-doesn-t-cross-a-256M.patch | 13 +-----
 .../patches-4.4/0589-Update-vfpmodule.c.patch      | 13 ++----
 ...-summarize-urb-actual_length-for-isochron.patch |  7 +--
 .../0591-BCM270X_DT-Add-bcm2708-rpi-0-w.dts.patch  |  8 ----
 ...BCM47XX-Add-Luxul-devices-to-the-database.patch |  4 +-
 ...7xx-Fix-button-inversion-for-Asus-WL-500W.patch | 38 ----------------
 ...ER-to-set-MRSS-128-to-fix-CNS3xxx-BM-DMA..patch |  2 +-
 .../generic/patches-4.4/020-bcma-from-4.5.patch    |  4 +-
 .../generic/patches-4.4/025-bcma-from-4.11.patch   | 20 --------
 ...2-MIPS-Stack-unwinding-while-on-IRQ-stack.patch |  2 +-
 ...-bridge_allow_receiption_on_disabled_port.patch |  4 +-
 .../patches-4.4/630-packet_socket_type.patch       |  6 +--
 .../patches-4.4/640-bridge_no_eap_forward.patch    |  2 +-
 .../patches-4.4/641-bridge_always_accept_eap.patch |  2 +-
 .../patches-4.4/642-bridge_port_isolate.patch      |  2 +-
 .../patches-4.4/653-disable_netlink_trim.patch     |  5 +-
 ...80-NET-skip-GRO-for-foreign-MAC-addresses.patch | 10 ++--
 .../generic/patches-4.4/721-phy_packets.patch      |  2 +-
 .../811-pci_disable_usb_common_quirks.patch        |  2 +-
 .../patches-4.4/901-debloat_sock_diag.patch        |  4 +-
 .../generic/patches-4.4/902-debloat_proc.patch     |  2 +-
 ...-add-i210-i211-support-for-phy-read-write.patch | 12 ++---
 ...-phy-read-write-functions-that-accept-phy.patch | 32 ++++++-------
 ...-Lantiq-Keep-ethernet-enabled-during-boot.patch | 53 ----------------------
 ...0010-MIPS-ralink-Add-a-few-missing-clocks.patch |  4 +-
 .../0031-uvc-add-iPassion-iP2970-support.patch     |  2 +-
 .../ramips/patches-4.4/0068-fix-ralink-prom.c      | 30 ------------
 ...ralink-Fix-invalid-assignment-of-SoC-type.patch |  2 +-
 .../0720-arch-mips-ralink-add-i2c-clocks.patch     |  6 +--
 68 files changed, 135 insertions(+), 527 deletions(-)

diff --git a/include/kernel-version.mk b/include/kernel-version.mk
index 26c0bb8..757d9eb 100644
--- a/include/kernel-version.mk
+++ b/include/kernel-version.mk
@@ -3,10 +3,10 @@
 LINUX_RELEASE?=1
 
 LINUX_VERSION-3.18 = .43
-LINUX_VERSION-4.4 = .52
+LINUX_VERSION-4.4 = .59
 
 LINUX_KERNEL_HASH-3.18.43 = 1236e8123a6ce537d5029232560966feed054ae31776fe8481dd7d18cdd5492c
-LINUX_KERNEL_HASH-4.4.52 = e8d2ddaece73e1a34e045bbdcdcc1383f658e24537797f8d8e0dd520cf1b1f06
+LINUX_KERNEL_HASH-4.4.59 = 64e9523c4c7fdaf391a16dd19541bb58e39943cb2151aa0c3d15b6aeaba996ca
 
 ifdef KERNEL_PATCHVER
   LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))
diff --git a/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch b/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch
index 1e68cf7..e7df08b 100644
--- a/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch
+++ b/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch
@@ -42,7 +42,7 @@
  	} while (word != stop);
  
  	return csum_fold(csum);
-@@ -212,73 +216,6 @@ static inline __sum16 ip_compute_csum(co
+@@ -214,73 +218,6 @@ static inline __sum16 ip_compute_csum(co
  	return csum_fold(csum_partial(buff, len, 0));
  }
  
@@ -214,7 +214,7 @@
  #include <linux/uaccess.h>
  #include <linux/ipv6.h>
  #include <linux/icmpv6.h>
-@@ -779,10 +780,10 @@ static void tcp_v6_send_response(const s
+@@ -781,10 +782,10 @@ static void tcp_v6_send_response(const s
  	topt = (__be32 *)(t1 + 1);
  
  	if (tsecr) {
diff --git a/target/linux/brcm2708/patches-4.4/0551-kbuild-add-fno-PIE.patch b/target/linux/brcm2708/patches-4.4/0551-kbuild-add-fno-PIE.patch
index 0d2c1a5..f76490b 100644
--- a/target/linux/brcm2708/patches-4.4/0551-kbuild-add-fno-PIE.patch
+++ b/target/linux/brcm2708/patches-4.4/0551-kbuild-add-fno-PIE.patch
@@ -27,8 +27,6 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
  Makefile | 2 ++
  1 file changed, 2 insertions(+)
 
-diff --git a/Makefile b/Makefile
-index 1099371..c17219e 100644
 --- a/Makefile
 +++ b/Makefile
 @@ -619,6 +619,8 @@ include arch/$(SRCARCH)/Makefile
@@ -39,7 +37,4 @@ index 1099371..c17219e 100644
 +KBUILD_AFLAGS	+= $(call cc-option,-fno-PIE)
  
  ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
- KBUILD_CFLAGS	+= -Os
--- 
-2.1.4
-
+ KBUILD_CFLAGS	+= -Os $(EXTRA_OPTIMIZATION)
diff --git a/target/linux/brcm2708/patches-4.4/0552-kbuild-Steal-gcc-s-pie-from-the-very-beginning.patch b/target/linux/brcm2708/patches-4.4/0552-kbuild-Steal-gcc-s-pie-from-the-very-beginning.patch
index 2361c75..ca8ff3d 100644
--- a/target/linux/brcm2708/patches-4.4/0552-kbuild-Steal-gcc-s-pie-from-the-very-beginning.patch
+++ b/target/linux/brcm2708/patches-4.4/0552-kbuild-Steal-gcc-s-pie-from-the-very-beginning.patch
@@ -36,8 +36,6 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
  Makefile | 2 --
  1 file changed, 2 deletions(-)
 
-diff --git a/Makefile b/Makefile
-index c17219e..1099371 100644
 --- a/Makefile
 +++ b/Makefile
 @@ -619,8 +619,6 @@ include arch/$(SRCARCH)/Makefile
@@ -48,7 +46,4 @@ index c17219e..1099371 100644
 -KBUILD_AFLAGS	+= $(call cc-option,-fno-PIE)
  
  ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
- KBUILD_CFLAGS	+= -Os
--- 
-2.1.4
-
+ KBUILD_CFLAGS	+= -Os $(EXTRA_OPTIMIZATION)
diff --git a/target/linux/brcm2708/patches-4.4/0553-ARM-dts-Restore-dtbs_install-functionality.patch b/target/linux/brcm2708/patches-4.4/0553-ARM-dts-Restore-dtbs_install-functionality.patch
index 2fe4b16..f794172 100644
--- a/target/linux/brcm2708/patches-4.4/0553-ARM-dts-Restore-dtbs_install-functionality.patch
+++ b/target/linux/brcm2708/patches-4.4/0553-ARM-dts-Restore-dtbs_install-functionality.patch
@@ -8,8 +8,6 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.org>
  arch/arm/boot/dts/Makefile | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)
 
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index cbfc8ba..14a491c 100644
 --- a/arch/arm/boot/dts/Makefile
 +++ b/arch/arm/boot/dts/Makefile
 @@ -806,10 +806,11 @@ dtstree		:= $(srctree)/$(src)
@@ -25,6 +23,3 @@ index cbfc8ba..14a491c 100644
  	DTC_FLAGS ?= -@ -H epapr
 +	dts-dirs += overlays
  endif
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0554-BCM270X_DT-Update-UART0-clock-frequency.patch b/target/linux/brcm2708/patches-4.4/0554-BCM270X_DT-Update-UART0-clock-frequency.patch
index 3d3f911..7379963 100644
--- a/target/linux/brcm2708/patches-4.4/0554-BCM270X_DT-Update-UART0-clock-frequency.patch
+++ b/target/linux/brcm2708/patches-4.4/0554-BCM270X_DT-Update-UART0-clock-frequency.patch
@@ -16,8 +16,6 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.org>
  arch/arm/boot/dts/bcm2708_common.dtsi | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/arch/arm/boot/dts/bcm2708_common.dtsi b/arch/arm/boot/dts/bcm2708_common.dtsi
-index c449493..a9fd97e 100644
 --- a/arch/arm/boot/dts/bcm2708_common.dtsi
 +++ b/arch/arm/boot/dts/bcm2708_common.dtsi
 @@ -456,7 +456,7 @@
@@ -29,6 +27,3 @@ index c449493..a9fd97e 100644
  		};
  
  		clk_apb_p: clock at 3 {
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0555-BCM2835-v4l2-Fix-a-conformance-test-failure.patch b/target/linux/brcm2708/patches-4.4/0555-BCM2835-v4l2-Fix-a-conformance-test-failure.patch
index 68dca0c..8397e22 100644
--- a/target/linux/brcm2708/patches-4.4/0555-BCM2835-v4l2-Fix-a-conformance-test-failure.patch
+++ b/target/linux/brcm2708/patches-4.4/0555-BCM2835-v4l2-Fix-a-conformance-test-failure.patch
@@ -13,11 +13,9 @@ Format ioctls:
  drivers/media/platform/bcm2835/bcm2835-camera.c | 1 +
  1 file changed, 1 insertion(+)
 
-diff --git a/drivers/media/platform/bcm2835/bcm2835-camera.c b/drivers/media/platform/bcm2835/bcm2835-camera.c
-index a2cfff9..23ba458 100644
 --- a/drivers/media/platform/bcm2835/bcm2835-camera.c
 +++ b/drivers/media/platform/bcm2835/bcm2835-camera.c
-@@ -1397,6 +1397,7 @@ static int vidioc_s_parm(struct file *file, void *priv,
+@@ -1397,6 +1397,7 @@ static int vidioc_s_parm(struct file *fi
  	dev->capture.timeperframe = tpf;
  	parm->parm.capture.timeperframe = tpf;
  	parm->parm.capture.readbuffers  = 1;
@@ -25,6 +23,3 @@ index a2cfff9..23ba458 100644
  
  	fps_param.num = 0;	/* Select variable fps, and then use
  				 * FPS_RANGE to select the actual limits.
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0556-BCM270X_DT-Add-overlay-for-enc28j60-on-SPI2.patch b/target/linux/brcm2708/patches-4.4/0556-BCM270X_DT-Add-overlay-for-enc28j60-on-SPI2.patch
index 8aea6e4..088eb09 100644
--- a/target/linux/brcm2708/patches-4.4/0556-BCM270X_DT-Add-overlay-for-enc28j60-on-SPI2.patch
+++ b/target/linux/brcm2708/patches-4.4/0556-BCM270X_DT-Add-overlay-for-enc28j60-on-SPI2.patch
@@ -11,8 +11,6 @@ Works on SPI2 for compute module
  3 files changed, 57 insertions(+), 1 deletion(-)
  create mode 100644 arch/arm/boot/dts/overlays/enc28j60-spi2-overlay.dts
 
-diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile
-index 57d60a4..c4186aa 100644
 --- a/arch/arm/boot/dts/overlays/Makefile
 +++ b/arch/arm/boot/dts/overlays/Makefile
 @@ -28,6 +28,7 @@ dtbo-$(RPI_DT_OVERLAYS) += dpi24.dtbo
@@ -23,11 +21,9 @@ index 57d60a4..c4186aa 100644
  dtbo-$(RPI_DT_OVERLAYS) += gpio-ir.dtbo
  dtbo-$(RPI_DT_OVERLAYS) += gpio-poweroff.dtbo
  dtbo-$(RPI_DT_OVERLAYS) += hifiberry-amp.dtbo
-diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README
-index 35c0cec1..4a77ee6 100644
 --- a/arch/arm/boot/dts/overlays/README
 +++ b/arch/arm/boot/dts/overlays/README
-@@ -344,13 +344,21 @@ Params: dr_mode                 Dual role mode: "host", "peripheral" or "otg"
+@@ -344,12 +344,20 @@ Params: dr_mode                 Dual rol
  
  
  Name:   enc28j60
@@ -38,7 +34,7 @@ index 35c0cec1..4a77ee6 100644
  
          speed                   SPI bus speed (default 12000000)
  
- 
++
 +Name:   enc28j60-spi2
 +Info:   Overlay for the Microchip ENC28J60 Ethernet Controller on SPI2
 +Load:   dtoverlay=enc28j60-spi2,<param>=<val>
@@ -46,13 +42,9 @@ index 35c0cec1..4a77ee6 100644
 +
 +        speed                   SPI bus speed (default 12000000)
 +
-+
+ 
  Name:   gpio-ir
  Info:   Use GPIO pin as rc-core style infrared receiver input. The rc-core-
-         based gpio_ir_recv driver maps received keys directly to a
-diff --git a/arch/arm/boot/dts/overlays/enc28j60-spi2-overlay.dts b/arch/arm/boot/dts/overlays/enc28j60-spi2-overlay.dts
-new file mode 100644
-index 0000000..946c9d2
 --- /dev/null
 +++ b/arch/arm/boot/dts/overlays/enc28j60-spi2-overlay.dts
 @@ -0,0 +1,47 @@
@@ -103,6 +95,3 @@ index 0000000..946c9d2
 +		speed   = <&eth1>, "spi-max-frequency:0";
 +	};
 +};
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0557-lirc_rpi-Delete-vestigial-gpio_in_pull-parameter.patch b/target/linux/brcm2708/patches-4.4/0557-lirc_rpi-Delete-vestigial-gpio_in_pull-parameter.patch
index 9ebcc22..5a80200 100644
--- a/target/linux/brcm2708/patches-4.4/0557-lirc_rpi-Delete-vestigial-gpio_in_pull-parameter.patch
+++ b/target/linux/brcm2708/patches-4.4/0557-lirc_rpi-Delete-vestigial-gpio_in_pull-parameter.patch
@@ -14,8 +14,6 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.org>
  drivers/staging/media/lirc/lirc_rpi.c | 6 ------
  1 file changed, 6 deletions(-)
 
-diff --git a/drivers/staging/media/lirc/lirc_rpi.c b/drivers/staging/media/lirc/lirc_rpi.c
-index 6132896..ebbf0d6 100644
 --- a/drivers/staging/media/lirc/lirc_rpi.c
 +++ b/drivers/staging/media/lirc/lirc_rpi.c
 @@ -64,8 +64,6 @@
@@ -38,6 +36,3 @@ index 6132896..ebbf0d6 100644
  module_param(sense, int, S_IRUGO);
  MODULE_PARM_DESC(sense, "Override autodetection of IR receiver circuit"
  		 " (0 = active high, 1 = active low )");
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0558-BCM270X_DT-Add-i2c-sensor-overlay.patch b/target/linux/brcm2708/patches-4.4/0558-BCM270X_DT-Add-i2c-sensor-overlay.patch
index 2248fe8..3a2f3e6 100644
--- a/target/linux/brcm2708/patches-4.4/0558-BCM270X_DT-Add-i2c-sensor-overlay.patch
+++ b/target/linux/brcm2708/patches-4.4/0558-BCM270X_DT-Add-i2c-sensor-overlay.patch
@@ -15,8 +15,6 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.org>
  3 files changed, 45 insertions(+), 2 deletions(-)
  create mode 100644 arch/arm/boot/dts/overlays/i2c-sensor-overlay.dts
 
-diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile
-index c4186aa..bc7f4a9 100644
 --- a/arch/arm/boot/dts/overlays/Makefile
 +++ b/arch/arm/boot/dts/overlays/Makefile
 @@ -42,6 +42,7 @@ dtbo-$(RPI_DT_OVERLAYS) += i2c-gpio.dtbo
@@ -27,11 +25,9 @@ index c4186aa..bc7f4a9 100644
  dtbo-$(RPI_DT_OVERLAYS) += i2c0-bcm2708.dtbo
  dtbo-$(RPI_DT_OVERLAYS) += i2c1-bcm2708.dtbo
  dtbo-$(RPI_DT_OVERLAYS) += i2s-gpio28-31.dtbo
-diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README
-index 4a77ee6..80ea3de 100644
 --- a/arch/arm/boot/dts/overlays/README
 +++ b/arch/arm/boot/dts/overlays/README
-@@ -283,8 +283,7 @@ Params: swap_lr                 Reverse the channel allocation, which will also
+@@ -283,8 +283,7 @@ Params: swap_lr                 Reverse
  
  
  Name:   bmp085_i2c-sensor
@@ -41,7 +37,7 @@ index 4a77ee6..80ea3de 100644
  Load:   dtoverlay=bmp085_i2c-sensor
  Params: <None>
  
-@@ -536,6 +535,15 @@ Params: abx80x                  Select one of the ABx80x family:
+@@ -536,6 +535,15 @@ Params: abx80x                  Select o
                                  source
  
  
@@ -57,9 +53,6 @@ index 4a77ee6..80ea3de 100644
  Name:   i2c0-bcm2708
  Info:   Enable the i2c_bcm2708 driver for the i2c0 bus. Not all pin combinations
          are usable on all platforms.
-diff --git a/arch/arm/boot/dts/overlays/i2c-sensor-overlay.dts b/arch/arm/boot/dts/overlays/i2c-sensor-overlay.dts
-new file mode 100644
-index 0000000..f6d134c
 --- /dev/null
 +++ b/arch/arm/boot/dts/overlays/i2c-sensor-overlay.dts
 @@ -0,0 +1,34 @@
@@ -97,6 +90,3 @@ index 0000000..f6d134c
 +		bmp280 = <&bmp280>,"status";
 +	};
 +};
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0559-BCM270X_DT-overlays-overlay.dtb-overlays-.dtbo-1752.patch b/target/linux/brcm2708/patches-4.4/0559-BCM270X_DT-overlays-overlay.dtb-overlays-.dtbo-1752.patch
index 4b40d64..dfec01b 100644
--- a/target/linux/brcm2708/patches-4.4/0559-BCM270X_DT-overlays-overlay.dtb-overlays-.dtbo-1752.patch
+++ b/target/linux/brcm2708/patches-4.4/0559-BCM270X_DT-overlays-overlay.dtb-overlays-.dtbo-1752.patch
@@ -8,8 +8,6 @@ We now create overlays as .dtbo files.
  arch/arm/boot/dts/overlays/README | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README
-index 80ea3de..7aee1af 100644
 --- a/arch/arm/boot/dts/overlays/README
 +++ b/arch/arm/boot/dts/overlays/README
 @@ -61,7 +61,7 @@ this becomes a line in config.txt:
@@ -21,6 +19,3 @@ index 80ea3de..7aee1af 100644
  default it will use GPIOs 17 (out) and 18 (in), but this can be modified using
  DT parameters:
  
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0560-Revert-HID-dragonrise-fix-HID-Descriptor-for-0x0006-.patch b/target/linux/brcm2708/patches-4.4/0560-Revert-HID-dragonrise-fix-HID-Descriptor-for-0x0006-.patch
index adfb1f6..57e52f2 100644
--- a/target/linux/brcm2708/patches-4.4/0560-Revert-HID-dragonrise-fix-HID-Descriptor-for-0x0006-.patch
+++ b/target/linux/brcm2708/patches-4.4/0560-Revert-HID-dragonrise-fix-HID-Descriptor-for-0x0006-.patch
@@ -23,8 +23,6 @@ Signed-off-by: Jiri Kosina <jkosina at suse.cz>
  drivers/hid/hid-dr.c | 58 ----------------------------------------------------
  1 file changed, 58 deletions(-)
 
-diff --git a/drivers/hid/hid-dr.c b/drivers/hid/hid-dr.c
-index 1d78ba3..ce06444 100644
 --- a/drivers/hid/hid-dr.c
 +++ b/drivers/hid/hid-dr.c
 @@ -234,58 +234,6 @@ static __u8 pid0011_rdesc_fixed[] = {
@@ -86,7 +84,7 @@ index 1d78ba3..ce06444 100644
  static __u8 *dr_report_fixup(struct hid_device *hdev, __u8 *rdesc,
  				unsigned int *rsize)
  {
-@@ -296,12 +244,6 @@ static __u8 *dr_report_fixup(struct hid_device *hdev, __u8 *rdesc,
+@@ -296,12 +244,6 @@ static __u8 *dr_report_fixup(struct hid_
  			*rsize = sizeof(pid0011_rdesc_fixed);
  		}
  		break;
@@ -99,6 +97,3 @@ index 1d78ba3..ce06444 100644
  	}
  	return rdesc;
  }
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0561-bcm2835-rng-Avoid-initialising-if-already-enabled.patch b/target/linux/brcm2708/patches-4.4/0561-bcm2835-rng-Avoid-initialising-if-already-enabled.patch
index 2892aea..934bf6f 100644
--- a/target/linux/brcm2708/patches-4.4/0561-bcm2835-rng-Avoid-initialising-if-already-enabled.patch
+++ b/target/linux/brcm2708/patches-4.4/0561-bcm2835-rng-Avoid-initialising-if-already-enabled.patch
@@ -8,11 +8,9 @@ Avoids the 0x40000 cycles of warmup again if firmware has already used it
  drivers/char/hw_random/bcm2835-rng.c | 7 ++++---
  1 file changed, 4 insertions(+), 3 deletions(-)
 
-diff --git a/drivers/char/hw_random/bcm2835-rng.c b/drivers/char/hw_random/bcm2835-rng.c
-index 7192ec2..2ff49c1 100644
 --- a/drivers/char/hw_random/bcm2835-rng.c
 +++ b/drivers/char/hw_random/bcm2835-rng.c
-@@ -62,9 +62,10 @@ static int bcm2835_rng_probe(struct platform_device *pdev)
+@@ -62,9 +62,10 @@ static int bcm2835_rng_probe(struct plat
  	bcm2835_rng_ops.priv = (unsigned long)rng_base;
  
  	/* set warm-up count & enable */
@@ -26,6 +24,3 @@ index 7192ec2..2ff49c1 100644
  	/* register driver */
  	err = hwrng_register(&bcm2835_rng_ops);
  	if (err) {
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0562-Pisound-dynamic-overlay-1760.patch b/target/linux/brcm2708/patches-4.4/0562-Pisound-dynamic-overlay-1760.patch
index b1aa05f..81950df 100644
--- a/target/linux/brcm2708/patches-4.4/0562-Pisound-dynamic-overlay-1760.patch
+++ b/target/linux/brcm2708/patches-4.4/0562-Pisound-dynamic-overlay-1760.patch
@@ -11,8 +11,6 @@ Print a logline when the kernel module is removed.
  sound/soc/bcm/pisound.c                        |  2 +
  2 files changed, 52 insertions(+), 44 deletions(-)
 
-diff --git a/arch/arm/boot/dts/overlays/pisound-overlay.dts b/arch/arm/boot/dts/overlays/pisound-overlay.dts
-index 7cdfc29..5197e65 100644
 --- a/arch/arm/boot/dts/overlays/pisound-overlay.dts
 +++ b/arch/arm/boot/dts/overlays/pisound-overlay.dts
 @@ -26,6 +26,54 @@
@@ -133,11 +131,9 @@ index 7cdfc29..5197e65 100644
 -		};
 -	};
  };
-diff --git a/sound/soc/bcm/pisound.c b/sound/soc/bcm/pisound.c
-index a3cd089..30903fcf 100644
 --- a/sound/soc/bcm/pisound.c
 +++ b/sound/soc/bcm/pisound.c
-@@ -954,6 +954,8 @@ static int pisnd_probe(struct platform_device *pdev)
+@@ -954,6 +954,8 @@ static int pisnd_probe(struct platform_d
  
  static int pisnd_remove(struct platform_device *pdev)
  {
@@ -146,6 +142,3 @@ index a3cd089..30903fcf 100644
  	if (pisnd_kobj) {
  		kobject_put(pisnd_kobj);
  		pisnd_kobj = NULL;
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0563-Add-support-for-Silicon-Labs-Si7013-20-21-humidity-t.patch b/target/linux/brcm2708/patches-4.4/0563-Add-support-for-Silicon-Labs-Si7013-20-21-humidity-t.patch
index 574702a..a3c86df 100644
--- a/target/linux/brcm2708/patches-4.4/0563-Add-support-for-Silicon-Labs-Si7013-20-21-humidity-t.patch
+++ b/target/linux/brcm2708/patches-4.4/0563-Add-support-for-Silicon-Labs-Si7013-20-21-humidity-t.patch
@@ -9,11 +9,9 @@ Subject: [PATCH] Add support for Silicon Labs Si7013/20/21
  arch/arm/boot/dts/overlays/i2c-sensor-overlay.dts | 49 +++++++++++++----------
  2 files changed, 31 insertions(+), 21 deletions(-)
 
-diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README
-index 7aee1af..44ad21f 100644
 --- a/arch/arm/boot/dts/overlays/README
 +++ b/arch/arm/boot/dts/overlays/README
-@@ -543,6 +543,9 @@ Params: bmp085                  Select the Bosch sensortronic BMP085
+@@ -543,6 +543,9 @@ Params: bmp085                  Select t
  
          bmp280                  Select the Bosch sensortronic BMP280
  
@@ -23,8 +21,6 @@ index 7aee1af..44ad21f 100644
  
  Name:   i2c0-bcm2708
  Info:   Enable the i2c_bcm2708 driver for the i2c0 bus. Not all pin combinations
-diff --git a/arch/arm/boot/dts/overlays/i2c-sensor-overlay.dts b/arch/arm/boot/dts/overlays/i2c-sensor-overlay.dts
-index f6d134c..31bda8d 100644
 --- a/arch/arm/boot/dts/overlays/i2c-sensor-overlay.dts
 +++ b/arch/arm/boot/dts/overlays/i2c-sensor-overlay.dts
 @@ -1,34 +1,41 @@
@@ -43,26 +39,14 @@ index f6d134c..31bda8d 100644
 -                        #address-cells = <1>;
 -                        #size-cells = <0>;
 -                        status = "okay";
-+	fragment at 0 {
-+		target = <&i2c_arm>;
-+		__overlay__ {
-+			#address-cells = <1>;
-+			#size-cells = <0>;
-+			status = "okay";
- 
+-
 -                        bmp085: bmp085 at 77 {
 -                                compatible = "bosch,bmp085";
 -                                reg = <0x77>;
 -                                default-oversampling = <3>;
 -                                status = "disable";
 -                        };
-+			bmp085: bmp085 at 77 {
-+				compatible = "bosch,bmp085";
-+				reg = <0x77>;
-+				default-oversampling = <3>;
-+				status = "disable";
-+			};
- 
+-
 -                        bmp280: bmp280 at 76 {
 -                                compatible = "bosch,bmp280";
 -                                reg = <0x76>;
@@ -70,6 +54,20 @@ index f6d134c..31bda8d 100644
 -                        };
 -                };
 -        };
++	fragment at 0 {
++		target = <&i2c_arm>;
++		__overlay__ {
++			#address-cells = <1>;
++			#size-cells = <0>;
++			status = "okay";
++
++			bmp085: bmp085 at 77 {
++				compatible = "bosch,bmp085";
++				reg = <0x77>;
++				default-oversampling = <3>;
++				status = "disable";
++			};
++
 +			bmp280: bmp280 at 76 {
 +				compatible = "bosch,bmp280";
 +				reg = <0x76>;
@@ -90,6 +88,3 @@ index f6d134c..31bda8d 100644
 +		si7020 = <&si7020>,"status";
  	};
  };
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0564-pisound-improvements-1778.patch b/target/linux/brcm2708/patches-4.4/0564-pisound-improvements-1778.patch
index 4b6c569..8fe127a 100644
--- a/target/linux/brcm2708/patches-4.4/0564-pisound-improvements-1778.patch
+++ b/target/linux/brcm2708/patches-4.4/0564-pisound-improvements-1778.patch
@@ -15,8 +15,6 @@ Signed-off-by: Giedrius Trainavicius <giedrius at blokas.io>
  sound/soc/bcm/pisound.c | 175 ++++++++++++++++++++++++++++++++++++++++++------
  1 file changed, 154 insertions(+), 21 deletions(-)
 
-diff --git a/sound/soc/bcm/pisound.c b/sound/soc/bcm/pisound.c
-index 30903fcf..d317eb9 100644
 --- a/sound/soc/bcm/pisound.c
 +++ b/sound/soc/bcm/pisound.c
 @@ -36,6 +36,7 @@
@@ -37,7 +35,7 @@ index 30903fcf..d317eb9 100644
  DEFINE_KFIFO(spi_fifo_in,  uint8_t, FIFO_SIZE);
  DEFINE_KFIFO(spi_fifo_out, uint8_t, FIFO_SIZE);
  
-@@ -396,8 +400,13 @@ static void pisnd_work_handler(struct work_struct *work)
+@@ -396,8 +400,13 @@ static void pisnd_work_handler(struct wo
  			val = 0;
  			tx = 0;
  
@@ -52,7 +50,7 @@ index 30903fcf..d317eb9 100644
  
  			rx = spi_transfer16(tx);
  
-@@ -410,6 +419,7 @@ static void pisnd_work_handler(struct work_struct *work)
+@@ -410,6 +419,7 @@ static void pisnd_work_handler(struct wo
  		} while (rx != 0
  			|| !kfifo_is_empty(&spi_fifo_out)
  			|| pisnd_spi_has_more()
@@ -60,7 +58,7 @@ index 30903fcf..d317eb9 100644
  			);
  
  		if (!kfifo_is_empty(&spi_fifo_in) && g_recvCallback)
-@@ -569,7 +579,7 @@ static int pisnd_spi_init(struct device *dev)
+@@ -569,7 +579,7 @@ static int pisnd_spi_init(struct device
  	}
  
  	/* Flash the LEDs. */
@@ -84,7 +82,7 @@ index 30903fcf..d317eb9 100644
  static void pisnd_spi_send(uint8_t val)
  {
  	kfifo_put(&spi_fifo_out, val);
-@@ -658,6 +676,83 @@ static const struct of_device_id pisound_of_match[] = {
+@@ -658,6 +676,83 @@ static const struct of_device_id pisound
  	{},
  };
  
@@ -183,7 +181,7 @@ index 30903fcf..d317eb9 100644
  	printd("rate   = %d\n", params_rate(params));
  	printd("ch     = %d\n", params_channels(params));
  	printd("bits   = %u\n",
-@@ -711,16 +814,6 @@ static struct snd_pcm_hw_constraint_list constraints_rates = {
+@@ -711,16 +814,6 @@ static struct snd_pcm_hw_constraint_list
  	.mask = 0,
  };
  
@@ -200,7 +198,7 @@ index 30903fcf..d317eb9 100644
  static int pisnd_startup(struct snd_pcm_substream *substream)
  {
  	int err = snd_pcm_hw_constraint_list(
-@@ -733,11 +826,21 @@ static int pisnd_startup(struct snd_pcm_substream *substream)
+@@ -733,11 +826,21 @@ static int pisnd_startup(struct snd_pcm_
  	if (err < 0)
  		return err;
  
@@ -226,7 +224,7 @@ index 30903fcf..d317eb9 100644
  		);
  
  	if (err < 0)
-@@ -771,14 +874,23 @@ static int pisnd_card_probe(struct snd_soc_card *card)
+@@ -771,14 +874,23 @@ static int pisnd_card_probe(struct snd_s
  {
  	int err = pisnd_midi_init(card->snd_card);
  
@@ -294,6 +292,3 @@ index 30903fcf..d317eb9 100644
  	NULL
  };
  
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0565-Add-driver_name-properties-to-JustBoom-drivers-1787.patch b/target/linux/brcm2708/patches-4.4/0565-Add-driver_name-properties-to-JustBoom-drivers-1787.patch
index cee6180..40f7fe1 100644
--- a/target/linux/brcm2708/patches-4.4/0565-Add-driver_name-properties-to-JustBoom-drivers-1787.patch
+++ b/target/linux/brcm2708/patches-4.4/0565-Add-driver_name-properties-to-JustBoom-drivers-1787.patch
@@ -10,11 +10,9 @@ and other Kodi based OSs
  sound/soc/bcm/justboom-digi.c | 1 +
  2 files changed, 2 insertions(+)
 
-diff --git a/sound/soc/bcm/justboom-dac.c b/sound/soc/bcm/justboom-dac.c
-index 8fd50db..05a224e 100644
 --- a/sound/soc/bcm/justboom-dac.c
 +++ b/sound/soc/bcm/justboom-dac.c
-@@ -98,6 +98,7 @@ static struct snd_soc_dai_link snd_rpi_justboom_dac_dai[] = {
+@@ -98,6 +98,7 @@ static struct snd_soc_dai_link snd_rpi_j
  /* audio machine driver */
  static struct snd_soc_card snd_rpi_justboom_dac = {
  	.name         = "snd_rpi_justboom_dac",
@@ -22,11 +20,9 @@ index 8fd50db..05a224e 100644
  	.owner        = THIS_MODULE,
  	.dai_link     = snd_rpi_justboom_dac_dai,
  	.num_links    = ARRAY_SIZE(snd_rpi_justboom_dac_dai),
-diff --git a/sound/soc/bcm/justboom-digi.c b/sound/soc/bcm/justboom-digi.c
-index 91acb66..abfdc5c 100644
 --- a/sound/soc/bcm/justboom-digi.c
 +++ b/sound/soc/bcm/justboom-digi.c
-@@ -154,6 +154,7 @@ static struct snd_soc_dai_link snd_rpi_justboom_digi_dai[] = {
+@@ -154,6 +154,7 @@ static struct snd_soc_dai_link snd_rpi_j
  /* audio machine driver */
  static struct snd_soc_card snd_rpi_justboom_digi = {
  	.name         = "snd_rpi_justboom_digi",
@@ -34,6 +30,3 @@ index 91acb66..abfdc5c 100644
  	.owner        = THIS_MODULE,
  	.dai_link     = snd_rpi_justboom_digi_dai,
  	.num_links    = ARRAY_SIZE(snd_rpi_justboom_digi_dai),
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0566-bcm2835-i2s-Changes-for-allowing-asymmetric-sample-f.patch b/target/linux/brcm2708/patches-4.4/0566-bcm2835-i2s-Changes-for-allowing-asymmetric-sample-f.patch
index e435718..4605d5d 100644
--- a/target/linux/brcm2708/patches-4.4/0566-bcm2835-i2s-Changes-for-allowing-asymmetric-sample-f.patch
+++ b/target/linux/brcm2708/patches-4.4/0566-bcm2835-i2s-Changes-for-allowing-asymmetric-sample-f.patch
@@ -13,11 +13,9 @@ Signed-off-by: Giedrius Trainavicius <giedrius at blokas.io>
  sound/soc/bcm/bcm2835-i2s.c | 54 +++++++++++++++++++++++++++++++--------------
  1 file changed, 38 insertions(+), 16 deletions(-)
 
-diff --git a/sound/soc/bcm/bcm2835-i2s.c b/sound/soc/bcm/bcm2835-i2s.c
-index aedb01f..d2b0801 100644
 --- a/sound/soc/bcm/bcm2835-i2s.c
 +++ b/sound/soc/bcm/bcm2835-i2s.c
-@@ -310,6 +310,7 @@ static int bcm2835_i2s_hw_params(struct snd_pcm_substream *substream,
+@@ -310,6 +310,7 @@ static int bcm2835_i2s_hw_params(struct
  	unsigned int sampling_rate = params_rate(params);
  	unsigned int data_length, data_delay, bclk_ratio;
  	unsigned int ch1pos, ch2pos, mode, format;
@@ -25,7 +23,7 @@ index aedb01f..d2b0801 100644
  	unsigned int mash = BCM2835_CLK_MASH_1;
  	unsigned int divi, divf, target_frequency;
  	int clk_src = -1;
-@@ -320,6 +321,7 @@ static int bcm2835_i2s_hw_params(struct snd_pcm_substream *substream,
+@@ -320,6 +321,7 @@ static int bcm2835_i2s_hw_params(struct
  	bool frame_master =	(master == SND_SOC_DAIFMT_CBS_CFS
  					|| master == SND_SOC_DAIFMT_CBM_CFS);
  	uint32_t csreg;
@@ -33,7 +31,7 @@ index aedb01f..d2b0801 100644
  
  	/*
  	 * If a stream is already enabled,
-@@ -465,26 +467,46 @@ static int bcm2835_i2s_hw_params(struct snd_pcm_substream *substream,
+@@ -465,26 +467,46 @@ static int bcm2835_i2s_hw_params(struct
  		return -EINVAL;
  	}
  
@@ -96,6 +94,3 @@ index aedb01f..d2b0801 100644
  	}
  
  	mode |= BCM2835_I2S_FLEN(bclk_ratio - 1);
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0567-BCM270X_DT-Add-pi3-disable-wifi-overlay.patch b/target/linux/brcm2708/patches-4.4/0567-BCM270X_DT-Add-pi3-disable-wifi-overlay.patch
index 13aa1bd..25c3eb6 100644
--- a/target/linux/brcm2708/patches-4.4/0567-BCM270X_DT-Add-pi3-disable-wifi-overlay.patch
+++ b/target/linux/brcm2708/patches-4.4/0567-BCM270X_DT-Add-pi3-disable-wifi-overlay.patch
@@ -13,8 +13,6 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.org>
  3 files changed, 20 insertions(+)
  create mode 100644 arch/arm/boot/dts/overlays/pi3-disable-wifi-overlay.dts
 
-diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile
-index bc7f4a9..05eda03 100644
 --- a/arch/arm/boot/dts/overlays/Makefile
 +++ b/arch/arm/boot/dts/overlays/Makefile
 @@ -61,6 +61,7 @@ dtbo-$(RPI_DT_OVERLAYS) += mmc.dtbo
@@ -25,8 +23,6 @@ index bc7f4a9..05eda03 100644
  dtbo-$(RPI_DT_OVERLAYS) += pi3-miniuart-bt.dtbo
  dtbo-$(RPI_DT_OVERLAYS) += piscreen.dtbo
  dtbo-$(RPI_DT_OVERLAYS) += piscreen2r.dtbo
-diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README
-index 44ad21f..adb86bc 100644
 --- a/arch/arm/boot/dts/overlays/README
 +++ b/arch/arm/boot/dts/overlays/README
 @@ -793,6 +793,12 @@ Load:   dtoverlay=pi3-disable-bt
@@ -42,9 +38,6 @@ index 44ad21f..adb86bc 100644
  Name:   pi3-miniuart-bt
  Info:   Switch Pi3 Bluetooth function to use the mini-UART (ttyS0) and restore
          UART0/ttyAMA0 over GPIOs 14 & 15. Note that this may reduce the maximum
-diff --git a/arch/arm/boot/dts/overlays/pi3-disable-wifi-overlay.dts b/arch/arm/boot/dts/overlays/pi3-disable-wifi-overlay.dts
-new file mode 100644
-index 0000000..0171995
 --- /dev/null
 +++ b/arch/arm/boot/dts/overlays/pi3-disable-wifi-overlay.dts
 @@ -0,0 +1,13 @@
@@ -61,6 +54,3 @@ index 0000000..0171995
 +		};
 +	};
 +};
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0568-configfs-Remove-ppos-increment-in-configfs_write_bin.patch b/target/linux/brcm2708/patches-4.4/0568-configfs-Remove-ppos-increment-in-configfs_write_bin.patch
index fcc2d60..8cc40da 100644
--- a/target/linux/brcm2708/patches-4.4/0568-configfs-Remove-ppos-increment-in-configfs_write_bin.patch
+++ b/target/linux/brcm2708/patches-4.4/0568-configfs-Remove-ppos-increment-in-configfs_write_bin.patch
@@ -36,11 +36,9 @@ Cc: Pantelis Antoniou <pantelis.antoniou at konsulko.com>
  fs/configfs/file.c | 2 --
  1 file changed, 2 deletions(-)
 
-diff --git a/fs/configfs/file.c b/fs/configfs/file.c
-index 3687187..6e322f2 100644
 --- a/fs/configfs/file.c
 +++ b/fs/configfs/file.c
-@@ -357,8 +357,6 @@ configfs_write_bin_file(struct file *file, const char __user *buf,
+@@ -357,8 +357,6 @@ configfs_write_bin_file(struct file *fil
  
  	len = simple_write_to_buffer(buffer->bin_buffer,
  			buffer->bin_buffer_size, ppos, buf, count);
@@ -49,6 +47,3 @@ index 3687187..6e322f2 100644
  out:
  	mutex_unlock(&buffer->mutex);
  	return len;
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0569-config-Add-CONFIG_DM_CACHE.patch b/target/linux/brcm2708/patches-4.4/0569-config-Add-CONFIG_DM_CACHE.patch
index 929a12a..fd2ac80 100644
--- a/target/linux/brcm2708/patches-4.4/0569-config-Add-CONFIG_DM_CACHE.patch
+++ b/target/linux/brcm2708/patches-4.4/0569-config-Add-CONFIG_DM_CACHE.patch
@@ -9,8 +9,6 @@ Subject: [PATCH] config: Add CONFIG_DM_CACHE See:
  arch/arm/configs/bcmrpi_defconfig  | 1 +
  2 files changed, 2 insertions(+)
 
-diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig
-index c7606f2..0d07eed 100644
 --- a/arch/arm/configs/bcm2709_defconfig
 +++ b/arch/arm/configs/bcm2709_defconfig
 @@ -438,6 +438,7 @@ CONFIG_BLK_DEV_DM=m
@@ -21,8 +19,6 @@ index c7606f2..0d07eed 100644
  CONFIG_DM_MIRROR=m
  CONFIG_DM_LOG_USERSPACE=m
  CONFIG_DM_RAID=m
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index 8121ad2..51640cb 100644
 --- a/arch/arm/configs/bcmrpi_defconfig
 +++ b/arch/arm/configs/bcmrpi_defconfig
 @@ -431,6 +431,7 @@ CONFIG_BLK_DEV_DM=m
@@ -33,6 +29,3 @@ index 8121ad2..51640cb 100644
  CONFIG_DM_MIRROR=m
  CONFIG_DM_LOG_USERSPACE=m
  CONFIG_DM_RAID=m
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0570-BCM270X_DT-Add-spi0-cs-overlay.patch b/target/linux/brcm2708/patches-4.4/0570-BCM270X_DT-Add-spi0-cs-overlay.patch
index 3128cf2..8dee99d 100644
--- a/target/linux/brcm2708/patches-4.4/0570-BCM270X_DT-Add-spi0-cs-overlay.patch
+++ b/target/linux/brcm2708/patches-4.4/0570-BCM270X_DT-Add-spi0-cs-overlay.patch
@@ -12,8 +12,6 @@ using the cs0_pin and cs1_pin parameters.
  3 files changed, 38 insertions(+), 1 deletion(-)
  create mode 100644 arch/arm/boot/dts/overlays/spi0-cs-overlay.dts
 
-diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile
-index 05eda03..72f2d90a 100644
 --- a/arch/arm/boot/dts/overlays/Makefile
 +++ b/arch/arm/boot/dts/overlays/Makefile
 @@ -93,6 +93,7 @@ dtbo-$(RPI_DT_OVERLAYS) += smi-dev.dtbo
@@ -24,8 +22,6 @@ index 05eda03..72f2d90a 100644
  dtbo-$(RPI_DT_OVERLAYS) += spi0-hw-cs.dtbo
  dtbo-$(RPI_DT_OVERLAYS) += spi1-1cs.dtbo
  dtbo-$(RPI_DT_OVERLAYS) += spi1-2cs.dtbo
-diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README
-index adb86bc..7f4bd29 100644
 --- a/arch/arm/boot/dts/overlays/README
 +++ b/arch/arm/boot/dts/overlays/README
 @@ -1131,7 +1131,7 @@ Params: <None>
@@ -51,9 +47,6 @@ index adb86bc..7f4bd29 100644
  Name:   spi0-hw-cs
  Info:   Re-enables hardware CS/CE (chip selects) for SPI0
  Load:   dtoverlay=spi0-hw-cs
-diff --git a/arch/arm/boot/dts/overlays/spi0-cs-overlay.dts b/arch/arm/boot/dts/overlays/spi0-cs-overlay.dts
-new file mode 100644
-index 0000000..7f79029
 --- /dev/null
 +++ b/arch/arm/boot/dts/overlays/spi0-cs-overlay.dts
 @@ -0,0 +1,29 @@
@@ -86,6 +79,3 @@ index 0000000..7f79029
 +			   <&frag1>,"cs-gpios:16";
 +	};
 +};
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0571-Revert-bcm2835-i2s-Changes-for-allowing-asymmetric-s.patch b/target/linux/brcm2708/patches-4.4/0571-Revert-bcm2835-i2s-Changes-for-allowing-asymmetric-s.patch
index 3904abb..5fc6874 100644
--- a/target/linux/brcm2708/patches-4.4/0571-Revert-bcm2835-i2s-Changes-for-allowing-asymmetric-s.patch
+++ b/target/linux/brcm2708/patches-4.4/0571-Revert-bcm2835-i2s-Changes-for-allowing-asymmetric-s.patch
@@ -13,11 +13,9 @@ See: https://github.com/raspberrypi/linux/issues/1799
  sound/soc/bcm/bcm2835-i2s.c | 54 ++++++++++++++-------------------------------
  1 file changed, 16 insertions(+), 38 deletions(-)
 
-diff --git a/sound/soc/bcm/bcm2835-i2s.c b/sound/soc/bcm/bcm2835-i2s.c
-index d2b0801..aedb01f 100644
 --- a/sound/soc/bcm/bcm2835-i2s.c
 +++ b/sound/soc/bcm/bcm2835-i2s.c
-@@ -310,7 +310,6 @@ static int bcm2835_i2s_hw_params(struct snd_pcm_substream *substream,
+@@ -310,7 +310,6 @@ static int bcm2835_i2s_hw_params(struct
  	unsigned int sampling_rate = params_rate(params);
  	unsigned int data_length, data_delay, bclk_ratio;
  	unsigned int ch1pos, ch2pos, mode, format;
@@ -25,7 +23,7 @@ index d2b0801..aedb01f 100644
  	unsigned int mash = BCM2835_CLK_MASH_1;
  	unsigned int divi, divf, target_frequency;
  	int clk_src = -1;
-@@ -321,7 +320,6 @@ static int bcm2835_i2s_hw_params(struct snd_pcm_substream *substream,
+@@ -321,7 +320,6 @@ static int bcm2835_i2s_hw_params(struct
  	bool frame_master =	(master == SND_SOC_DAIFMT_CBS_CFS
  					|| master == SND_SOC_DAIFMT_CBM_CFS);
  	uint32_t csreg;
@@ -33,7 +31,7 @@ index d2b0801..aedb01f 100644
  
  	/*
  	 * If a stream is already enabled,
-@@ -467,46 +465,26 @@ static int bcm2835_i2s_hw_params(struct snd_pcm_substream *substream,
+@@ -467,46 +465,26 @@ static int bcm2835_i2s_hw_params(struct
  		return -EINVAL;
  	}
  
@@ -96,6 +94,3 @@ index d2b0801..aedb01f 100644
  	}
  
  	mode |= BCM2835_I2S_FLEN(bclk_ratio - 1);
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0572-BCM270X_DT-Enable-UART0-on-CM3.patch b/target/linux/brcm2708/patches-4.4/0572-BCM270X_DT-Enable-UART0-on-CM3.patch
index a28b298..d9d0134 100644
--- a/target/linux/brcm2708/patches-4.4/0572-BCM270X_DT-Enable-UART0-on-CM3.patch
+++ b/target/linux/brcm2708/patches-4.4/0572-BCM270X_DT-Enable-UART0-on-CM3.patch
@@ -8,8 +8,6 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.org>
  arch/arm/boot/dts/bcm2710-rpi-cm3.dts | 4 ++++
  1 file changed, 4 insertions(+)
 
-diff --git a/arch/arm/boot/dts/bcm2710-rpi-cm3.dts b/arch/arm/boot/dts/bcm2710-rpi-cm3.dts
-index 98e6f92..7ceb16b 100644
 --- a/arch/arm/boot/dts/bcm2710-rpi-cm3.dts
 +++ b/arch/arm/boot/dts/bcm2710-rpi-cm3.dts
 @@ -7,6 +7,10 @@
@@ -23,6 +21,3 @@ index 98e6f92..7ceb16b 100644
  &gpio {
  	sdhost_pins: sdhost_pins {
  		brcm,pins = <48 49 50 51 52 53>;
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0573-config-Add-CONFIG_MD_M25P80-and-CONFIG_MD_SPI_NOR.patch b/target/linux/brcm2708/patches-4.4/0573-config-Add-CONFIG_MD_M25P80-and-CONFIG_MD_SPI_NOR.patch
index 8075f6c..b4e34ed 100644
--- a/target/linux/brcm2708/patches-4.4/0573-config-Add-CONFIG_MD_M25P80-and-CONFIG_MD_SPI_NOR.patch
+++ b/target/linux/brcm2708/patches-4.4/0573-config-Add-CONFIG_MD_M25P80-and-CONFIG_MD_SPI_NOR.patch
@@ -11,8 +11,6 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.org>
  arch/arm/configs/bcmrpi_defconfig  | 2 ++
  2 files changed, 4 insertions(+)
 
-diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig
-index 0d07eed..1085058 100644
 --- a/arch/arm/configs/bcm2709_defconfig
 +++ b/arch/arm/configs/bcm2709_defconfig
 @@ -407,7 +407,9 @@ CONFIG_DMA_CMA=y
@@ -25,8 +23,6 @@ index 0d07eed..1085058 100644
  CONFIG_MTD_UBI=m
  CONFIG_OF_CONFIGFS=y
  CONFIG_ZRAM=m
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index 51640cb..ca52c36 100644
 --- a/arch/arm/configs/bcmrpi_defconfig
 +++ b/arch/arm/configs/bcmrpi_defconfig
 @@ -400,7 +400,9 @@ CONFIG_DMA_CMA=y
@@ -39,6 +35,3 @@ index 51640cb..ca52c36 100644
  CONFIG_MTD_UBI=m
  CONFIG_OF_CONFIGFS=y
  CONFIG_ZRAM=m
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0574-config-More-USB-config-options-for-bcm2709_defconfig.patch b/target/linux/brcm2708/patches-4.4/0574-config-More-USB-config-options-for-bcm2709_defconfig.patch
index f9f3d48..81f3ad2 100644
--- a/target/linux/brcm2708/patches-4.4/0574-config-More-USB-config-options-for-bcm2709_defconfig.patch
+++ b/target/linux/brcm2708/patches-4.4/0574-config-More-USB-config-options-for-bcm2709_defconfig.patch
@@ -15,8 +15,6 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.org>
  arch/arm/configs/bcm2709_defconfig | 15 +++++++++++++++
  1 file changed, 15 insertions(+)
 
-diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig
-index 1085058..19daca4 100644
 --- a/arch/arm/configs/bcm2709_defconfig
 +++ b/arch/arm/configs/bcm2709_defconfig
 @@ -969,6 +969,7 @@ CONFIG_USB_MICROTEK=m
@@ -48,6 +46,3 @@ index 1085058..19daca4 100644
  CONFIG_MMC=y
  CONFIG_MMC_BLOCK_MINORS=32
  CONFIG_MMC_BCM2835=y
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0575-BCM270X_DT-Add-reference-to-audio_pins-to-CM-dtb.patch b/target/linux/brcm2708/patches-4.4/0575-BCM270X_DT-Add-reference-to-audio_pins-to-CM-dtb.patch
index b1d8295..bd5f5ed 100644
--- a/target/linux/brcm2708/patches-4.4/0575-BCM270X_DT-Add-reference-to-audio_pins-to-CM-dtb.patch
+++ b/target/linux/brcm2708/patches-4.4/0575-BCM270X_DT-Add-reference-to-audio_pins-to-CM-dtb.patch
@@ -12,8 +12,6 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.org>
  arch/arm/boot/dts/bcm2708-rpi-cm.dtsi | 5 +++++
  1 file changed, 5 insertions(+)
 
-diff --git a/arch/arm/boot/dts/bcm2708-rpi-cm.dtsi b/arch/arm/boot/dts/bcm2708-rpi-cm.dtsi
-index 0a3a962..ba0f316 100644
 --- a/arch/arm/boot/dts/bcm2708-rpi-cm.dtsi
 +++ b/arch/arm/boot/dts/bcm2708-rpi-cm.dtsi
 @@ -36,6 +36,11 @@
@@ -28,6 +26,3 @@ index 0a3a962..ba0f316 100644
  / {
  	__overrides__ {
  		core_freq = <&clk_core>,"clock-frequency:0";
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0576-Add-overlay-for-mcp3008-adc-1818.patch b/target/linux/brcm2708/patches-4.4/0576-Add-overlay-for-mcp3008-adc-1818.patch
index ba30583..5da5e8e 100644
--- a/target/linux/brcm2708/patches-4.4/0576-Add-overlay-for-mcp3008-adc-1818.patch
+++ b/target/linux/brcm2708/patches-4.4/0576-Add-overlay-for-mcp3008-adc-1818.patch
@@ -43,8 +43,6 @@ dtoverlay=mcp3008:spi0-0-present,spi0-0-speed=2000000
  3 files changed, 215 insertions(+)
  create mode 100755 arch/arm/boot/dts/overlays/mcp3008-overlay.dts
 
-diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile
-index 72f2d90a..b13e340 100644
 --- a/arch/arm/boot/dts/overlays/Makefile
 +++ b/arch/arm/boot/dts/overlays/Makefile
 @@ -57,6 +57,7 @@ dtbo-$(RPI_DT_OVERLAYS) += mcp23017.dtbo
@@ -55,11 +53,9 @@ index 72f2d90a..b13e340 100644
  dtbo-$(RPI_DT_OVERLAYS) += mmc.dtbo
  dtbo-$(RPI_DT_OVERLAYS) += mz61581.dtbo
  dtbo-$(RPI_DT_OVERLAYS) += pi3-act-led.dtbo
-diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README
-index 7f4bd29..72601f8 100644
 --- a/arch/arm/boot/dts/overlays/README
 +++ b/arch/arm/boot/dts/overlays/README
-@@ -736,6 +736,15 @@ Params: oscillator              Clock frequency for the CAN controller (Hz)
+@@ -736,6 +736,15 @@ Params: oscillator              Clock fr
          interrupt               GPIO for interrupt signal
  
  
@@ -75,9 +71,6 @@ index 7f4bd29..72601f8 100644
  Name:   mmc
  Info:   Selects the bcm2835-mmc SD/MMC driver, optionally with overclock
  Load:   dtoverlay=mmc,<param>=<val>
-diff --git a/arch/arm/boot/dts/overlays/mcp3008-overlay.dts b/arch/arm/boot/dts/overlays/mcp3008-overlay.dts
-new file mode 100755
-index 0000000..06bf426
 --- /dev/null
 +++ b/arch/arm/boot/dts/overlays/mcp3008-overlay.dts
 @@ -0,0 +1,205 @@
@@ -286,6 +279,3 @@ index 0000000..06bf426
 +		spi2-2-speed = <&mcp3008_22>, "spi-max-frequency:0";
 +	};
 +};
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0577-x86-ioapic-Restore-IO-APIC-irq_chip-retrigger-callba.patch b/target/linux/brcm2708/patches-4.4/0577-x86-ioapic-Restore-IO-APIC-irq_chip-retrigger-callba.patch
index cacfc5d..48aeac9 100644
--- a/target/linux/brcm2708/patches-4.4/0577-x86-ioapic-Restore-IO-APIC-irq_chip-retrigger-callba.patch
+++ b/target/linux/brcm2708/patches-4.4/0577-x86-ioapic-Restore-IO-APIC-irq_chip-retrigger-callba.patch
@@ -26,11 +26,9 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
  arch/x86/kernel/apic/io_apic.c | 2 ++
  1 file changed, 2 insertions(+)
 
-diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
-index 8ca533b..1e5d2f0 100644
 --- a/arch/x86/kernel/apic/io_apic.c
 +++ b/arch/x86/kernel/apic/io_apic.c
-@@ -1875,6 +1875,7 @@ static struct irq_chip ioapic_chip __read_mostly = {
+@@ -1875,6 +1875,7 @@ static struct irq_chip ioapic_chip __rea
  	.irq_ack		= irq_chip_ack_parent,
  	.irq_eoi		= ioapic_ack_level,
  	.irq_set_affinity	= ioapic_set_affinity,
@@ -38,7 +36,7 @@ index 8ca533b..1e5d2f0 100644
  	.flags			= IRQCHIP_SKIP_SET_WAKE,
  };
  
-@@ -1886,6 +1887,7 @@ static struct irq_chip ioapic_ir_chip __read_mostly = {
+@@ -1886,6 +1887,7 @@ static struct irq_chip ioapic_ir_chip __
  	.irq_ack		= irq_chip_ack_parent,
  	.irq_eoi		= ioapic_ir_ack_level,
  	.irq_set_affinity	= ioapic_set_affinity,
@@ -46,6 +44,3 @@ index 8ca533b..1e5d2f0 100644
  	.flags			= IRQCHIP_SKIP_SET_WAKE,
  };
  
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0578-config-add-slcan-kernel-module.patch b/target/linux/brcm2708/patches-4.4/0578-config-add-slcan-kernel-module.patch
index 4330cb4..2a49af1 100644
--- a/target/linux/brcm2708/patches-4.4/0578-config-add-slcan-kernel-module.patch
+++ b/target/linux/brcm2708/patches-4.4/0578-config-add-slcan-kernel-module.patch
@@ -9,8 +9,6 @@ See: https://github.com/raspberrypi/linux/issues/1819
  arch/arm/configs/bcmrpi_defconfig  | 1 +
  2 files changed, 2 insertions(+)
 
-diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig
-index 19daca4..783d2c2 100644
 --- a/arch/arm/configs/bcm2709_defconfig
 +++ b/arch/arm/configs/bcm2709_defconfig
 @@ -358,6 +358,7 @@ CONFIG_BAYCOM_SER_HDX=m
@@ -21,8 +19,6 @@ index 19daca4..783d2c2 100644
  CONFIG_CAN_MCP251X=m
  CONFIG_IRDA=m
  CONFIG_IRLAN=m
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index ca52c36..be7bf41 100644
 --- a/arch/arm/configs/bcmrpi_defconfig
 +++ b/arch/arm/configs/bcmrpi_defconfig
 @@ -351,6 +351,7 @@ CONFIG_BAYCOM_SER_HDX=m
@@ -33,6 +29,3 @@ index ca52c36..be7bf41 100644
  CONFIG_CAN_MCP251X=m
  CONFIG_IRDA=m
  CONFIG_IRLAN=m
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0579-drm-vc4-Fix-sending-of-page-flip-completion-events-i.patch b/target/linux/brcm2708/patches-4.4/0579-drm-vc4-Fix-sending-of-page-flip-completion-events-i.patch
index c798546..0c6007e 100644
--- a/target/linux/brcm2708/patches-4.4/0579-drm-vc4-Fix-sending-of-page-flip-completion-events-i.patch
+++ b/target/linux/brcm2708/patches-4.4/0579-drm-vc4-Fix-sending-of-page-flip-completion-events-i.patch
@@ -16,11 +16,9 @@ Signed-off-by: Eric Anholt <eric at anholt.net>
  drivers/gpu/drm/vc4/vc4_firmware_kms.c | 15 +++++++++++++++
  1 file changed, 15 insertions(+)
 
-diff --git a/drivers/gpu/drm/vc4/vc4_firmware_kms.c b/drivers/gpu/drm/vc4/vc4_firmware_kms.c
-index a1b6511..8f74382 100644
 --- a/drivers/gpu/drm/vc4/vc4_firmware_kms.c
 +++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c
-@@ -312,6 +312,21 @@ static int vc4_crtc_atomic_check(struct drm_crtc *crtc,
+@@ -312,6 +312,21 @@ static int vc4_crtc_atomic_check(struct
  static void vc4_crtc_atomic_flush(struct drm_crtc *crtc,
  				  struct drm_crtc_state *old_state)
  {
@@ -42,6 +40,3 @@ index a1b6511..8f74382 100644
  }
  
  static void vc4_crtc_handle_page_flip(struct vc4_crtc *vc4_crtc)
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0580-clk-bcm2835-Fix-fixed_divider-of-pllh_aux.patch b/target/linux/brcm2708/patches-4.4/0580-clk-bcm2835-Fix-fixed_divider-of-pllh_aux.patch
index c7946e5..dcc1e82 100644
--- a/target/linux/brcm2708/patches-4.4/0580-clk-bcm2835-Fix-fixed_divider-of-pllh_aux.patch
+++ b/target/linux/brcm2708/patches-4.4/0580-clk-bcm2835-Fix-fixed_divider-of-pllh_aux.patch
@@ -14,11 +14,9 @@ Signed-off-by: Stephen Boyd <sboyd at codeaurora.org>
  drivers/clk/bcm/clk-bcm2835.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c
-index e9e8c25..3fbd2e8 100644
 --- a/drivers/clk/bcm/clk-bcm2835.c
 +++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -1657,7 +1657,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = {
+@@ -1657,7 +1657,7 @@ static const struct bcm2835_clk_desc clk
  		.a2w_reg = A2W_PLLH_AUX,
  		.load_mask = CM_PLLH_LOADAUX,
  		.hold_mask = 0,
@@ -27,6 +25,3 @@ index e9e8c25..3fbd2e8 100644
  	[BCM2835_PLLH_PIX]	= REGISTER_PLL_DIV(
  		.name = "pllh_pix",
  		.source_pll = "pllh",
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0581-clk-bcm-Support-rate-change-propagation-on-bcm2835-c.patch b/target/linux/brcm2708/patches-4.4/0581-clk-bcm-Support-rate-change-propagation-on-bcm2835-c.patch
index bd7405e..b973ae1 100644
--- a/target/linux/brcm2708/patches-4.4/0581-clk-bcm-Support-rate-change-propagation-on-bcm2835-c.patch
+++ b/target/linux/brcm2708/patches-4.4/0581-clk-bcm-Support-rate-change-propagation-on-bcm2835-c.patch
@@ -22,8 +22,6 @@ Signed-off-by: Stephen Boyd <sboyd at codeaurora.org>
  drivers/clk/bcm/clk-bcm2835.c | 67 ++++++++++++++++++++++++++++++++++++++++---
  1 file changed, 63 insertions(+), 4 deletions(-)
 
-diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c
-index 3fbd2e8..5f0e2f3 100644
 --- a/drivers/clk/bcm/clk-bcm2835.c
 +++ b/drivers/clk/bcm/clk-bcm2835.c
 @@ -457,6 +457,9 @@ struct bcm2835_clock_data {
@@ -98,7 +96,7 @@ index 3fbd2e8..5f0e2f3 100644
  	struct clk_hw *parent, *best_parent = NULL;
  	bool current_parent_is_pllc;
  	unsigned long rate, best_rate = 0;
-@@ -1086,9 +1139,8 @@ static int bcm2835_clock_determine_rate(struct clk_hw *hw,
+@@ -1086,9 +1139,8 @@ static int bcm2835_clock_determine_rate(
  		if (bcm2835_clk_is_pllc(parent) && !current_parent_is_pllc)
  			continue;
  
@@ -110,7 +108,7 @@ index 3fbd2e8..5f0e2f3 100644
  		if (rate > best_rate && rate <= req->rate) {
  			best_parent = parent;
  			best_prate = prate;
-@@ -1308,6 +1360,13 @@ static struct clk *bcm2835_register_clock(struct bcm2835_cprman *cprman,
+@@ -1308,6 +1360,13 @@ static struct clk *bcm2835_register_cloc
  	if ((cprman_read(cprman, data->ctl_reg) & CM_ENABLE) == 0)
  		init.flags &= ~CLK_IS_CRITICAL;
  
@@ -124,6 +122,3 @@ index 3fbd2e8..5f0e2f3 100644
  	if (data->is_vpu_clock) {
  		init.ops = &bcm2835_vpu_clock_clk_ops;
  	} else {
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0582-clk-bcm-Allow-rate-change-propagation-to-PLLH_AUX-on.patch b/target/linux/brcm2708/patches-4.4/0582-clk-bcm-Allow-rate-change-propagation-to-PLLH_AUX-on.patch
index a66653e..c3ab171 100644
--- a/target/linux/brcm2708/patches-4.4/0582-clk-bcm-Allow-rate-change-propagation-to-PLLH_AUX-on.patch
+++ b/target/linux/brcm2708/patches-4.4/0582-clk-bcm-Allow-rate-change-propagation-to-PLLH_AUX-on.patch
@@ -17,11 +17,9 @@ Signed-off-by: Stephen Boyd <sboyd at codeaurora.org>
  drivers/clk/bcm/clk-bcm2835.c | 7 ++++++-
  1 file changed, 6 insertions(+), 1 deletion(-)
 
-diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c
-index 5f0e2f3..d023e4a 100644
 --- a/drivers/clk/bcm/clk-bcm2835.c
 +++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -1920,7 +1920,12 @@ static const struct bcm2835_clk_desc clk_desc_array[] = {
+@@ -1920,7 +1920,12 @@ static const struct bcm2835_clk_desc clk
  		.ctl_reg = CM_VECCTL,
  		.div_reg = CM_VECDIV,
  		.int_bits = 4,
@@ -35,6 +33,3 @@ index 5f0e2f3..d023e4a 100644
  
  	/* dsi clocks */
  	[BCM2835_CLOCK_DSI0E]	= REGISTER_PER_CLK(
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0583-clk-bcm-Fix-maybe-uninitialized-warning-in-bcm2835_c.patch b/target/linux/brcm2708/patches-4.4/0583-clk-bcm-Fix-maybe-uninitialized-warning-in-bcm2835_c.patch
index 5a004a6..1affce9 100644
--- a/target/linux/brcm2708/patches-4.4/0583-clk-bcm-Fix-maybe-uninitialized-warning-in-bcm2835_c.patch
+++ b/target/linux/brcm2708/patches-4.4/0583-clk-bcm-Fix-maybe-uninitialized-warning-in-bcm2835_c.patch
@@ -16,11 +16,9 @@ Signed-off-by: Stephen Boyd <sboyd at codeaurora.org>
  drivers/clk/bcm/clk-bcm2835.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c
-index d023e4a..89dad97 100644
 --- a/drivers/clk/bcm/clk-bcm2835.c
 +++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -1067,7 +1067,7 @@ static unsigned long bcm2835_clock_choose_div_and_prate(struct clk_hw *hw,
+@@ -1067,7 +1067,7 @@ static unsigned long bcm2835_clock_choos
  	struct bcm2835_clock *clock = bcm2835_clock_from_hw(hw);
  	struct bcm2835_cprman *cprman = clock->cprman;
  	const struct bcm2835_clock_data *data = clock->data;
@@ -29,6 +27,3 @@ index d023e4a..89dad97 100644
  	u32 curdiv, mindiv, maxdiv;
  	struct clk_hw *parent;
  
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0584-clk-bcm2835-Don-t-rate-change-PLLs-on-behalf-of-DSI-.patch b/target/linux/brcm2708/patches-4.4/0584-clk-bcm2835-Don-t-rate-change-PLLs-on-behalf-of-DSI-.patch
index 94f4be6..2a6cfba 100644
--- a/target/linux/brcm2708/patches-4.4/0584-clk-bcm2835-Don-t-rate-change-PLLs-on-behalf-of-DSI-.patch
+++ b/target/linux/brcm2708/patches-4.4/0584-clk-bcm2835-Don-t-rate-change-PLLs-on-behalf-of-DSI-.patch
@@ -21,8 +21,6 @@ Signed-off-by: Stephen Boyd <sboyd at codeaurora.org>
  drivers/clk/bcm/clk-bcm2835.c | 42 ++++++++++++++++++++++++++++--------------
  1 file changed, 28 insertions(+), 14 deletions(-)
 
-diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c
-index 89dad97..54cb4e1 100644
 --- a/drivers/clk/bcm/clk-bcm2835.c
 +++ b/drivers/clk/bcm/clk-bcm2835.c
 @@ -449,6 +449,7 @@ struct bcm2835_pll_divider_data {
@@ -33,7 +31,7 @@ index 89dad97..54cb4e1 100644
  };
  
  struct bcm2835_clock_data {
-@@ -1286,7 +1287,7 @@ bcm2835_register_pll_divider(struct bcm2835_cprman *cprman,
+@@ -1286,7 +1287,7 @@ bcm2835_register_pll_divider(struct bcm2
  	init.num_parents = 1;
  	init.name = divider_name;
  	init.ops = &bcm2835_pll_divider_clk_ops;
@@ -42,7 +40,7 @@ index 89dad97..54cb4e1 100644
  
  	divider = devm_kzalloc(cprman->dev, sizeof(*divider), GFP_KERNEL);
  	if (!divider)
-@@ -1525,7 +1526,8 @@ static const struct bcm2835_clk_desc clk_desc_array[] = {
+@@ -1525,7 +1526,8 @@ static const struct bcm2835_clk_desc clk
  		.a2w_reg = A2W_PLLA_CORE,
  		.load_mask = CM_PLLA_LOADCORE,
  		.hold_mask = CM_PLLA_HOLDCORE,
@@ -52,7 +50,7 @@ index 89dad97..54cb4e1 100644
  	[BCM2835_PLLA_PER]	= REGISTER_PLL_DIV(
  		.name = "plla_per",
  		.source_pll = "plla",
-@@ -1533,7 +1535,8 @@ static const struct bcm2835_clk_desc clk_desc_array[] = {
+@@ -1533,7 +1535,8 @@ static const struct bcm2835_clk_desc clk
  		.a2w_reg = A2W_PLLA_PER,
  		.load_mask = CM_PLLA_LOADPER,
  		.hold_mask = CM_PLLA_HOLDPER,
@@ -62,7 +60,7 @@ index 89dad97..54cb4e1 100644
  	[BCM2835_PLLA_DSI0]	= REGISTER_PLL_DIV(
  		.name = "plla_dsi0",
  		.source_pll = "plla",
-@@ -1549,7 +1552,8 @@ static const struct bcm2835_clk_desc clk_desc_array[] = {
+@@ -1549,7 +1552,8 @@ static const struct bcm2835_clk_desc clk
  		.a2w_reg = A2W_PLLA_CCP2,
  		.load_mask = CM_PLLA_LOADCCP2,
  		.hold_mask = CM_PLLA_HOLDCCP2,
@@ -72,7 +70,7 @@ index 89dad97..54cb4e1 100644
  
  	/* PLLB is used for the ARM's clock. */
  	[BCM2835_PLLB]		= REGISTER_PLL(
-@@ -1573,7 +1577,8 @@ static const struct bcm2835_clk_desc clk_desc_array[] = {
+@@ -1573,7 +1577,8 @@ static const struct bcm2835_clk_desc clk
  		.a2w_reg = A2W_PLLB_ARM,
  		.load_mask = CM_PLLB_LOADARM,
  		.hold_mask = CM_PLLB_HOLDARM,
@@ -82,7 +80,7 @@ index 89dad97..54cb4e1 100644
  
  	/*
  	 * PLLC is the core PLL, used to drive the core VPU clock.
-@@ -1602,7 +1607,8 @@ static const struct bcm2835_clk_desc clk_desc_array[] = {
+@@ -1602,7 +1607,8 @@ static const struct bcm2835_clk_desc clk
  		.a2w_reg = A2W_PLLC_CORE0,
  		.load_mask = CM_PLLC_LOADCORE0,
  		.hold_mask = CM_PLLC_HOLDCORE0,
@@ -92,7 +90,7 @@ index 89dad97..54cb4e1 100644
  	[BCM2835_PLLC_CORE1]	= REGISTER_PLL_DIV(
  		.name = "pllc_core1",
  		.source_pll = "pllc",
-@@ -1610,7 +1616,8 @@ static const struct bcm2835_clk_desc clk_desc_array[] = {
+@@ -1610,7 +1616,8 @@ static const struct bcm2835_clk_desc clk
  		.a2w_reg = A2W_PLLC_CORE1,
  		.load_mask = CM_PLLC_LOADCORE1,
  		.hold_mask = CM_PLLC_HOLDCORE1,
@@ -102,7 +100,7 @@ index 89dad97..54cb4e1 100644
  	[BCM2835_PLLC_CORE2]	= REGISTER_PLL_DIV(
  		.name = "pllc_core2",
  		.source_pll = "pllc",
-@@ -1618,7 +1625,8 @@ static const struct bcm2835_clk_desc clk_desc_array[] = {
+@@ -1618,7 +1625,8 @@ static const struct bcm2835_clk_desc clk
  		.a2w_reg = A2W_PLLC_CORE2,
  		.load_mask = CM_PLLC_LOADCORE2,
  		.hold_mask = CM_PLLC_HOLDCORE2,
@@ -112,7 +110,7 @@ index 89dad97..54cb4e1 100644
  	[BCM2835_PLLC_PER]	= REGISTER_PLL_DIV(
  		.name = "pllc_per",
  		.source_pll = "pllc",
-@@ -1626,7 +1634,8 @@ static const struct bcm2835_clk_desc clk_desc_array[] = {
+@@ -1626,7 +1634,8 @@ static const struct bcm2835_clk_desc clk
  		.a2w_reg = A2W_PLLC_PER,
  		.load_mask = CM_PLLC_LOADPER,
  		.hold_mask = CM_PLLC_HOLDPER,
@@ -122,7 +120,7 @@ index 89dad97..54cb4e1 100644
  
  	/*
  	 * PLLD is the display PLL, used to drive DSI display panels.
-@@ -1655,7 +1664,8 @@ static const struct bcm2835_clk_desc clk_desc_array[] = {
+@@ -1655,7 +1664,8 @@ static const struct bcm2835_clk_desc clk
  		.a2w_reg = A2W_PLLD_CORE,
  		.load_mask = CM_PLLD_LOADCORE,
  		.hold_mask = CM_PLLD_HOLDCORE,
@@ -132,7 +130,7 @@ index 89dad97..54cb4e1 100644
  	[BCM2835_PLLD_PER]	= REGISTER_PLL_DIV(
  		.name = "plld_per",
  		.source_pll = "plld",
-@@ -1663,7 +1673,8 @@ static const struct bcm2835_clk_desc clk_desc_array[] = {
+@@ -1663,7 +1673,8 @@ static const struct bcm2835_clk_desc clk
  		.a2w_reg = A2W_PLLD_PER,
  		.load_mask = CM_PLLD_LOADPER,
  		.hold_mask = CM_PLLD_HOLDPER,
@@ -142,7 +140,7 @@ index 89dad97..54cb4e1 100644
  	[BCM2835_PLLD_DSI0]	= REGISTER_PLL_DIV(
  		.name = "plld_dsi0",
  		.source_pll = "plld",
-@@ -1708,7 +1719,8 @@ static const struct bcm2835_clk_desc clk_desc_array[] = {
+@@ -1708,7 +1719,8 @@ static const struct bcm2835_clk_desc clk
  		.a2w_reg = A2W_PLLH_RCAL,
  		.load_mask = CM_PLLH_LOADRCAL,
  		.hold_mask = 0,
@@ -152,7 +150,7 @@ index 89dad97..54cb4e1 100644
  	[BCM2835_PLLH_AUX]	= REGISTER_PLL_DIV(
  		.name = "pllh_aux",
  		.source_pll = "pllh",
-@@ -1716,7 +1728,8 @@ static const struct bcm2835_clk_desc clk_desc_array[] = {
+@@ -1716,7 +1728,8 @@ static const struct bcm2835_clk_desc clk
  		.a2w_reg = A2W_PLLH_AUX,
  		.load_mask = CM_PLLH_LOADAUX,
  		.hold_mask = 0,
@@ -162,7 +160,7 @@ index 89dad97..54cb4e1 100644
  	[BCM2835_PLLH_PIX]	= REGISTER_PLL_DIV(
  		.name = "pllh_pix",
  		.source_pll = "pllh",
-@@ -1724,7 +1737,8 @@ static const struct bcm2835_clk_desc clk_desc_array[] = {
+@@ -1724,7 +1737,8 @@ static const struct bcm2835_clk_desc clk
  		.a2w_reg = A2W_PLLH_PIX,
  		.load_mask = CM_PLLH_LOADPIX,
  		.hold_mask = 0,
@@ -172,6 +170,3 @@ index 89dad97..54cb4e1 100644
  
  	/* the clocks */
  
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0585-gpio_mem-Remove-unnecessary-dev_info-output-1830.patch b/target/linux/brcm2708/patches-4.4/0585-gpio_mem-Remove-unnecessary-dev_info-output-1830.patch
index e440733..2f1ea2a 100644
--- a/target/linux/brcm2708/patches-4.4/0585-gpio_mem-Remove-unnecessary-dev_info-output-1830.patch
+++ b/target/linux/brcm2708/patches-4.4/0585-gpio_mem-Remove-unnecessary-dev_info-output-1830.patch
@@ -9,11 +9,9 @@ called, so have removed call completely.
  drivers/char/broadcom/bcm2835-gpiomem.c | 2 --
  1 file changed, 2 deletions(-)
 
-diff --git a/drivers/char/broadcom/bcm2835-gpiomem.c b/drivers/char/broadcom/bcm2835-gpiomem.c
-index 911f5b7..f5e7f1b 100644
 --- a/drivers/char/broadcom/bcm2835-gpiomem.c
 +++ b/drivers/char/broadcom/bcm2835-gpiomem.c
-@@ -76,8 +76,6 @@ static int bcm2835_gpiomem_open(struct inode *inode, struct file *file)
+@@ -76,8 +76,6 @@ static int bcm2835_gpiomem_open(struct i
  	int dev = iminor(inode);
  	int ret = 0;
  
@@ -22,6 +20,3 @@ index 911f5b7..f5e7f1b 100644
  	if (dev != DEVICE_MINOR) {
  		dev_err(inst->dev, "Unknown minor device: %d", dev);
  		ret = -ENXIO;
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0586-drm-vc4-Fulfill-user-BO-creation-requests-from-the-k.patch b/target/linux/brcm2708/patches-4.4/0586-drm-vc4-Fulfill-user-BO-creation-requests-from-the-k.patch
index 2dab022..bc97964 100644
--- a/target/linux/brcm2708/patches-4.4/0586-drm-vc4-Fulfill-user-BO-creation-requests-from-the-k.patch
+++ b/target/linux/brcm2708/patches-4.4/0586-drm-vc4-Fulfill-user-BO-creation-requests-from-the-k.patch
@@ -20,11 +20,9 @@ Signed-off-by: Eric Anholt <eric at anholt.net>
  drivers/gpu/drm/vc4/vc4_bo.c | 13 +++++++------
  1 file changed, 7 insertions(+), 6 deletions(-)
 
-diff --git a/drivers/gpu/drm/vc4/vc4_bo.c b/drivers/gpu/drm/vc4/vc4_bo.c
-index 56b779c..ce8a5fd 100644
 --- a/drivers/gpu/drm/vc4/vc4_bo.c
 +++ b/drivers/gpu/drm/vc4/vc4_bo.c
-@@ -208,22 +208,23 @@ struct drm_gem_object *vc4_create_object(struct drm_device *dev, size_t size)
+@@ -208,22 +208,23 @@ struct drm_gem_object *vc4_create_object
  }
  
  struct vc4_bo *vc4_bo_create(struct drm_device *dev, size_t unaligned_size,
@@ -54,6 +52,3 @@ index 56b779c..ce8a5fd 100644
  	}
  
  	/* Otherwise, make a new BO. */
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0587-drm-vc4-Fix-OOPSes-from-trying-to-cache-a-partially-.patch b/target/linux/brcm2708/patches-4.4/0587-drm-vc4-Fix-OOPSes-from-trying-to-cache-a-partially-.patch
index c2381cb..d537016 100644
--- a/target/linux/brcm2708/patches-4.4/0587-drm-vc4-Fix-OOPSes-from-trying-to-cache-a-partially-.patch
+++ b/target/linux/brcm2708/patches-4.4/0587-drm-vc4-Fix-OOPSes-from-trying-to-cache-a-partially-.patch
@@ -15,11 +15,9 @@ Fixes: c826a6e10644 ("drm/vc4: Add a BO cache.")
  drivers/gpu/drm/vc4/vc4_bo.c | 8 ++++++++
  1 file changed, 8 insertions(+)
 
-diff --git a/drivers/gpu/drm/vc4/vc4_bo.c b/drivers/gpu/drm/vc4/vc4_bo.c
-index ce8a5fd..d7474dd 100644
 --- a/drivers/gpu/drm/vc4/vc4_bo.c
 +++ b/drivers/gpu/drm/vc4/vc4_bo.c
-@@ -334,6 +334,14 @@ void vc4_free_object(struct drm_gem_object *gem_bo)
+@@ -334,6 +334,14 @@ void vc4_free_object(struct drm_gem_obje
  		goto out;
  	}
  
@@ -34,6 +32,3 @@ index ce8a5fd..d7474dd 100644
  	cache_list = vc4_get_cache_list_for_size(dev, gem_bo->size);
  	if (!cache_list) {
  		vc4_bo_destroy(bo);
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0588-drm-vc4-Verify-at-boot-that-CMA-doesn-t-cross-a-256M.patch b/target/linux/brcm2708/patches-4.4/0588-drm-vc4-Verify-at-boot-that-CMA-doesn-t-cross-a-256M.patch
index d09e6d3..cce4b11 100644
--- a/target/linux/brcm2708/patches-4.4/0588-drm-vc4-Verify-at-boot-that-CMA-doesn-t-cross-a-256M.patch
+++ b/target/linux/brcm2708/patches-4.4/0588-drm-vc4-Verify-at-boot-that-CMA-doesn-t-cross-a-256M.patch
@@ -14,8 +14,6 @@ Signed-off-by: Eric Anholt <eric at anholt.net>
  mm/cma.c                      |  2 ++
  3 files changed, 21 insertions(+)
 
-diff --git a/drivers/base/dma-contiguous.c b/drivers/base/dma-contiguous.c
-index e167a1e1..60f5c25 100644
 --- a/drivers/base/dma-contiguous.c
 +++ b/drivers/base/dma-contiguous.c
 @@ -35,6 +35,7 @@
@@ -26,8 +24,6 @@ index e167a1e1..60f5c25 100644
  
  /*
   * Default global CMA area size can be defined in kernel's .config.
-diff --git a/drivers/gpu/drm/vc4/vc4_v3d.c b/drivers/gpu/drm/vc4/vc4_v3d.c
-index 7cc346a..1d9e5a6 100644
 --- a/drivers/gpu/drm/vc4/vc4_v3d.c
 +++ b/drivers/gpu/drm/vc4/vc4_v3d.c
 @@ -16,7 +16,10 @@
@@ -41,7 +37,7 @@ index 7cc346a..1d9e5a6 100644
  #include "linux/pm_runtime.h"
  #include "vc4_drv.h"
  #include "vc4_regs.h"
-@@ -185,8 +188,23 @@ static int vc4_v3d_bind(struct device *dev, struct device *master, void *data)
+@@ -185,8 +188,23 @@ static int vc4_v3d_bind(struct device *d
  	struct drm_device *drm = dev_get_drvdata(master);
  	struct vc4_dev *vc4 = to_vc4_dev(drm);
  	struct vc4_v3d *v3d = NULL;
@@ -65,11 +61,9 @@ index 7cc346a..1d9e5a6 100644
  	v3d = devm_kzalloc(&pdev->dev, sizeof(*v3d), GFP_KERNEL);
  	if (!v3d)
  		return -ENOMEM;
-diff --git a/mm/cma.c b/mm/cma.c
-index bd0e141..efac29b 100644
 --- a/mm/cma.c
 +++ b/mm/cma.c
-@@ -47,11 +47,13 @@ phys_addr_t cma_get_base(const struct cma *cma)
+@@ -47,11 +47,13 @@ phys_addr_t cma_get_base(const struct cm
  {
  	return PFN_PHYS(cma->base_pfn);
  }
@@ -83,6 +77,3 @@ index bd0e141..efac29b 100644
  
  static unsigned long cma_bitmap_aligned_mask(const struct cma *cma,
  					     int align_order)
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0589-Update-vfpmodule.c.patch b/target/linux/brcm2708/patches-4.4/0589-Update-vfpmodule.c.patch
index 8bdfe2e..97eb130 100644
--- a/target/linux/brcm2708/patches-4.4/0589-Update-vfpmodule.c.patch
+++ b/target/linux/brcm2708/patches-4.4/0589-Update-vfpmodule.c.patch
@@ -59,11 +59,9 @@ Signed-off-by: Christopher Alexander Tobias Schulze <cat.schulze at alice-dsl.net>
  arch/arm/vfp/vfpmodule.c | 27 ++++++++++++++++++++-------
  1 file changed, 20 insertions(+), 7 deletions(-)
 
-diff --git a/arch/arm/vfp/vfpmodule.c b/arch/arm/vfp/vfpmodule.c
-index 2a61e4b..7675518 100644
 --- a/arch/arm/vfp/vfpmodule.c
 +++ b/arch/arm/vfp/vfpmodule.c
-@@ -183,8 +183,11 @@ static int vfp_notifier(struct notifier_block *self, unsigned long cmd, void *v)
+@@ -183,8 +183,11 @@ static int vfp_notifier(struct notifier_
  		 * case the thread migrates to a different CPU. The
  		 * restoring is done lazily.
  		 */
@@ -95,7 +93,7 @@ index 2a61e4b..7675518 100644
  		vfp_save_state(vfp_current_hw_state[ti->cpu], fpexc);
  		fmxr(FPEXC, fpexc);
  #endif
-@@ -536,7 +542,8 @@ void vfp_sync_hwstate(struct thread_info *thread)
+@@ -536,7 +542,8 @@ void vfp_sync_hwstate(struct thread_info
  		/*
  		 * Save the last VFP state on this CPU.
  		 */
@@ -105,7 +103,7 @@ index 2a61e4b..7675518 100644
  		vfp_save_state(&thread->vfpstate, fpexc | FPEXC_EN);
  		fmxr(FPEXC, fpexc);
  	}
-@@ -608,6 +615,7 @@ int vfp_restore_user_hwstate(struct user_vfp __user *ufp,
+@@ -608,6 +615,7 @@ int vfp_restore_user_hwstate(struct user
  	struct vfp_hard_struct *hwstate = &thread->vfpstate.hard;
  	unsigned long fpexc;
  	int err = 0;
@@ -113,7 +111,7 @@ index 2a61e4b..7675518 100644
  
  	/* Disable VFP to avoid corrupting the new thread state. */
  	vfp_flush_hwstate(thread);
-@@ -631,8 +639,12 @@ int vfp_restore_user_hwstate(struct user_vfp __user *ufp,
+@@ -631,8 +639,12 @@ int vfp_restore_user_hwstate(struct user
  	/* Ensure the VFP is enabled. */
  	fpexc |= FPEXC_EN;
  
@@ -138,6 +136,3 @@ index 2a61e4b..7675518 100644
  
  	/*
  	 * Save the userland NEON/VFP state. Under UP,
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0590-dwc_otg-fix-summarize-urb-actual_length-for-isochron.patch b/target/linux/brcm2708/patches-4.4/0590-dwc_otg-fix-summarize-urb-actual_length-for-isochron.patch
index e799081..9ce0d3f 100644
--- a/target/linux/brcm2708/patches-4.4/0590-dwc_otg-fix-summarize-urb-actual_length-for-isochron.patch
+++ b/target/linux/brcm2708/patches-4.4/0590-dwc_otg-fix-summarize-urb-actual_length-for-isochron.patch
@@ -11,11 +11,9 @@ in urb->actual_length. Fixes raspberrypi/linux#903
  drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c | 2 ++
  1 file changed, 2 insertions(+)
 
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
-index 2ceed42..5011750 100644
 --- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
-@@ -325,10 +325,12 @@ static int _complete(dwc_otg_hcd_t * hcd, void *urb_handle,
+@@ -325,10 +325,12 @@ static int _complete(dwc_otg_hcd_t * hcd
  		int i;
  
  		urb->error_count = dwc_otg_hcd_urb_get_error_count(dwc_otg_urb);
@@ -28,6 +26,3 @@ index 2ceed42..5011750 100644
  			urb->iso_frame_desc[i].status =
  			    dwc_otg_hcd_urb_get_iso_desc_status(dwc_otg_urb, i);
  		}
--- 
-2.1.4
-
diff --git a/target/linux/brcm2708/patches-4.4/0591-BCM270X_DT-Add-bcm2708-rpi-0-w.dts.patch b/target/linux/brcm2708/patches-4.4/0591-BCM270X_DT-Add-bcm2708-rpi-0-w.dts.patch
index b4e1879..deb09b6 100644
--- a/target/linux/brcm2708/patches-4.4/0591-BCM270X_DT-Add-bcm2708-rpi-0-w.dts.patch
+++ b/target/linux/brcm2708/patches-4.4/0591-BCM270X_DT-Add-bcm2708-rpi-0-w.dts.patch
@@ -13,8 +13,6 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.org>
  2 files changed, 201 insertions(+)
  create mode 100644 arch/arm/boot/dts/bcm2708-rpi-0-w.dts
 
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index 14a491c..bd963ef 100644
 --- a/arch/arm/boot/dts/Makefile
 +++ b/arch/arm/boot/dts/Makefile
 @@ -2,6 +2,7 @@ ifeq ($(CONFIG_OF),y)
@@ -25,9 +23,6 @@ index 14a491c..bd963ef 100644
  dtb-$(CONFIG_ARCH_BCM2708) += bcm2708-rpi-cm.dtb
  dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-cm.dtb
  dtb-$(CONFIG_ARCH_BCM2709) += bcm2709-rpi-2-b.dtb
-diff --git a/arch/arm/boot/dts/bcm2708-rpi-0-w.dts b/arch/arm/boot/dts/bcm2708-rpi-0-w.dts
-new file mode 100644
-index 0000000..9f7de60
 --- /dev/null
 +++ b/arch/arm/boot/dts/bcm2708-rpi-0-w.dts
 @@ -0,0 +1,200 @@
@@ -231,6 +226,3 @@ index 0000000..9f7de60
 +		sd_debug     = <&sdhost>,"brcm,debug";
 +	};
 +};
--- 
-2.1.4
-
diff --git a/target/linux/brcm47xx/patches-4.4/030-MIPS-BCM47XX-Add-Luxul-devices-to-the-database.patch b/target/linux/brcm47xx/patches-4.4/030-MIPS-BCM47XX-Add-Luxul-devices-to-the-database.patch
index 402d936..49ba623 100644
--- a/target/linux/brcm47xx/patches-4.4/030-MIPS-BCM47XX-Add-Luxul-devices-to-the-database.patch
+++ b/target/linux/brcm47xx/patches-4.4/030-MIPS-BCM47XX-Add-Luxul-devices-to-the-database.patch
@@ -43,7 +43,7 @@ Signed-off-by: Ralf Baechle <ralf at linux-mips.org>
  	{{BCM47XX_BOARD_NETGEAR_WGR614V9, "Netgear WGR614 V9"}, "U12H094T00_NETGEAR"},
 --- a/arch/mips/bcm47xx/buttons.c
 +++ b/arch/mips/bcm47xx/buttons.c
-@@ -302,6 +302,51 @@ bcm47xx_buttons_linksys_wrtsl54gs[] __in
+@@ -308,6 +308,51 @@ bcm47xx_buttons_linksys_wrtsl54gs[] __in
  /* Luxul */
  
  static const struct gpio_keys_button
@@ -95,7 +95,7 @@ Signed-off-by: Ralf Baechle <ralf at linux-mips.org>
  bcm47xx_buttons_luxul_xwr_1750_v1[] = {
  	BCM47XX_GPIO_KEY(14, BTN_TASK),
  };
-@@ -561,6 +606,33 @@ int __init bcm47xx_buttons_register(void
+@@ -567,6 +612,33 @@ int __init bcm47xx_buttons_register(void
  		err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrtsl54gs);
  		break;
  
diff --git a/target/linux/brcm47xx/patches-4.4/130-MIPS-bcm47xx-Fix-button-inversion-for-Asus-WL-500W.patch b/target/linux/brcm47xx/patches-4.4/130-MIPS-bcm47xx-Fix-button-inversion-for-Asus-WL-500W.patch
deleted file mode 100644
index 7d671cf..0000000
--- a/target/linux/brcm47xx/patches-4.4/130-MIPS-bcm47xx-Fix-button-inversion-for-Asus-WL-500W.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From: Mirko Parthey <mirko.parthey at web.de>
-Subject: [PATCH] MIPS: bcm47xx: Fix button inversion for Asus WL-500W
-
-The Asus WL-500W buttons are active high,
-but the software treats them as active low.
-Fix the inverted logic.
-
-Signed-off-by: Mirko Parthey <mirko.parthey at web.de>
----
- arch/mips/bcm47xx/buttons.c | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
---- a/arch/mips/bcm47xx/buttons.c
-+++ b/arch/mips/bcm47xx/buttons.c
-@@ -17,6 +17,12 @@
- 		.active_low	= 1,					\
- 	}
- 
-+#define BCM47XX_GPIO_KEY_H(_gpio, _code)				\
-+	{								\
-+		.code		= _code,				\
-+		.gpio		= _gpio,				\
-+	}
-+
- /* Asus */
- 
- static const struct gpio_keys_button
-@@ -79,8 +85,8 @@ bcm47xx_buttons_asus_wl500gpv2[] __initc
- 
- static const struct gpio_keys_button
- bcm47xx_buttons_asus_wl500w[] __initconst = {
--	BCM47XX_GPIO_KEY(6, KEY_RESTART),
--	BCM47XX_GPIO_KEY(7, KEY_WPS_BUTTON),
-+	BCM47XX_GPIO_KEY_H(6, KEY_RESTART),
-+	BCM47XX_GPIO_KEY_H(7, KEY_WPS_BUTTON),
- };
- 
- static const struct gpio_keys_button
diff --git a/target/linux/cns3xxx/patches-4.4/130-Extend-PCIE_BUS_PEER2PEER-to-set-MRSS-128-to-fix-CNS3xxx-BM-DMA..patch b/target/linux/cns3xxx/patches-4.4/130-Extend-PCIE_BUS_PEER2PEER-to-set-MRSS-128-to-fix-CNS3xxx-BM-DMA..patch
index db2c29f..c1f565a 100644
--- a/target/linux/cns3xxx/patches-4.4/130-Extend-PCIE_BUS_PEER2PEER-to-set-MRSS-128-to-fix-CNS3xxx-BM-DMA..patch
+++ b/target/linux/cns3xxx/patches-4.4/130-Extend-PCIE_BUS_PEER2PEER-to-set-MRSS-128-to-fix-CNS3xxx-BM-DMA..patch
@@ -1,6 +1,6 @@
 --- a/drivers/pci/probe.c
 +++ b/drivers/pci/probe.c
-@@ -1966,7 +1966,8 @@ static void pcie_write_mrrs(struct pci_d
+@@ -1967,7 +1967,8 @@ static void pcie_write_mrrs(struct pci_d
  	/* In the "safe" case, do not configure the MRRS.  There appear to be
  	 * issues with setting MRRS to 0 on a number of devices.
  	 */
diff --git a/target/linux/generic/patches-4.4/020-bcma-from-4.5.patch b/target/linux/generic/patches-4.4/020-bcma-from-4.5.patch
index 21ebff5..c5d7bc7 100644
--- a/target/linux/generic/patches-4.4/020-bcma-from-4.5.patch
+++ b/target/linux/generic/patches-4.4/020-bcma-from-4.5.patch
@@ -1,6 +1,6 @@
 --- a/drivers/bcma/main.c
 +++ b/drivers/bcma/main.c
-@@ -668,11 +668,36 @@ static int bcma_device_uevent(struct dev
+@@ -672,11 +672,36 @@ static int bcma_device_uevent(struct dev
  			      core->id.rev, core->id.class);
  }
  
@@ -38,7 +38,7 @@
  	if (err)
  		return err;
  
-@@ -691,7 +716,7 @@ static int __init bcma_modinit(void)
+@@ -695,7 +720,7 @@ static int __init bcma_modinit(void)
  
  	return err;
  }
diff --git a/target/linux/generic/patches-4.4/025-bcma-from-4.11.patch b/target/linux/generic/patches-4.4/025-bcma-from-4.11.patch
index d5bdd2d..a3b0321 100644
--- a/target/linux/generic/patches-4.4/025-bcma-from-4.11.patch
+++ b/target/linux/generic/patches-4.4/025-bcma-from-4.11.patch
@@ -83,23 +83,3 @@
  		} else {
  			core->dev.dma_mask = &core->dev.coherent_dma_mask;
  			core->dma_dev = &core->dev;
-@@ -633,8 +634,11 @@ static int bcma_device_probe(struct devi
- 					       drv);
- 	int err = 0;
- 
-+	get_device(dev);
- 	if (adrv->probe)
- 		err = adrv->probe(core);
-+	if (err)
-+		put_device(dev);
- 
- 	return err;
- }
-@@ -647,6 +651,7 @@ static int bcma_device_remove(struct dev
- 
- 	if (adrv->remove)
- 		adrv->remove(core);
-+	put_device(dev);
- 
- 	return 0;
- }
diff --git a/target/linux/generic/patches-4.4/062-02-MIPS-Stack-unwinding-while-on-IRQ-stack.patch b/target/linux/generic/patches-4.4/062-02-MIPS-Stack-unwinding-while-on-IRQ-stack.patch
index 513e904..fc559ee 100644
--- a/target/linux/generic/patches-4.4/062-02-MIPS-Stack-unwinding-while-on-IRQ-stack.patch
+++ b/target/linux/generic/patches-4.4/062-02-MIPS-Stack-unwinding-while-on-IRQ-stack.patch
@@ -19,7 +19,7 @@ Signed-off-by: Matt Redfearn <matt.redfearn at imgtec.com>
  #include <asm/msa.h>
  #include <asm/pgtable.h>
  #include <asm/mipsregs.h>
-@@ -507,7 +508,19 @@ EXPORT_SYMBOL(unwind_stack_by_address);
+@@ -552,7 +553,19 @@ EXPORT_SYMBOL(unwind_stack_by_address);
  unsigned long unwind_stack(struct task_struct *task, unsigned long *sp,
  			   unsigned long pc, unsigned long *ra)
  {
diff --git a/target/linux/generic/patches-4.4/120-bridge_allow_receiption_on_disabled_port.patch b/target/linux/generic/patches-4.4/120-bridge_allow_receiption_on_disabled_port.patch
index 727ab75..bba6074 100644
--- a/target/linux/generic/patches-4.4/120-bridge_allow_receiption_on_disabled_port.patch
+++ b/target/linux/generic/patches-4.4/120-bridge_allow_receiption_on_disabled_port.patch
@@ -15,7 +15,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
 
 --- a/net/bridge/br_input.c
 +++ b/net/bridge/br_input.c
-@@ -217,11 +217,13 @@ EXPORT_SYMBOL_GPL(br_handle_frame_finish
+@@ -218,11 +218,13 @@ EXPORT_SYMBOL_GPL(br_handle_frame_finish
  static int br_handle_local_finish(struct net *net, struct sock *sk, struct sk_buff *skb)
  {
  	struct net_bridge_port *p = br_port_get_rcu(skb->dev);
@@ -33,7 +33,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	return 0;	 /* process further */
  }
  
-@@ -296,6 +298,18 @@ rx_handler_result_t br_handle_frame(stru
+@@ -297,6 +299,18 @@ rx_handler_result_t br_handle_frame(stru
  
  forward:
  	switch (p->state) {
diff --git a/target/linux/generic/patches-4.4/630-packet_socket_type.patch b/target/linux/generic/patches-4.4/630-packet_socket_type.patch
index 0c24863..c334418 100644
--- a/target/linux/generic/patches-4.4/630-packet_socket_type.patch
+++ b/target/linux/generic/patches-4.4/630-packet_socket_type.patch
@@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	if (!net_eq(dev_net(dev), sock_net(sk)))
  		goto drop;
  
-@@ -3111,6 +3113,7 @@ static int packet_create(struct net *net
+@@ -3115,6 +3117,7 @@ static int packet_create(struct net *net
  	mutex_init(&po->pg_vec_lock);
  	po->rollover = NULL;
  	po->prot_hook.func = packet_rcv;
@@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  
  	if (sock->type == SOCK_PACKET)
  		po->prot_hook.func = packet_rcv_spkt;
-@@ -3733,6 +3736,16 @@ packet_setsockopt(struct socket *sock, i
+@@ -3737,6 +3740,16 @@ packet_setsockopt(struct socket *sock, i
  		po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
  		return 0;
  	}
@@ -108,7 +108,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	default:
  		return -ENOPROTOOPT;
  	}
-@@ -3785,6 +3798,13 @@ static int packet_getsockopt(struct sock
+@@ -3789,6 +3802,13 @@ static int packet_getsockopt(struct sock
  	case PACKET_VNET_HDR:
  		val = po->has_vnet_hdr;
  		break;
diff --git a/target/linux/generic/patches-4.4/640-bridge_no_eap_forward.patch b/target/linux/generic/patches-4.4/640-bridge_no_eap_forward.patch
index 24cc2b2..a6dfb4e 100644
--- a/target/linux/generic/patches-4.4/640-bridge_no_eap_forward.patch
+++ b/target/linux/generic/patches-4.4/640-bridge_no_eap_forward.patch
@@ -8,7 +8,7 @@ each other via bridges.
 ---
 --- a/net/bridge/br_input.c
 +++ b/net/bridge/br_input.c
-@@ -168,7 +168,11 @@ int br_handle_frame_finish(struct net *n
+@@ -169,7 +169,11 @@ int br_handle_frame_finish(struct net *n
  	if (IS_ENABLED(CONFIG_INET) && skb->protocol == htons(ETH_P_ARP))
  		br_do_proxy_arp(skb, br, vid, p);
  
diff --git a/target/linux/generic/patches-4.4/641-bridge_always_accept_eap.patch b/target/linux/generic/patches-4.4/641-bridge_always_accept_eap.patch
index 5da6ab6..a4e2c03 100644
--- a/target/linux/generic/patches-4.4/641-bridge_always_accept_eap.patch
+++ b/target/linux/generic/patches-4.4/641-bridge_always_accept_eap.patch
@@ -6,7 +6,7 @@ issues with WDS.
 ---
 --- a/net/bridge/br_input.c
 +++ b/net/bridge/br_input.c
-@@ -152,7 +152,7 @@ int br_handle_frame_finish(struct net *n
+@@ -153,7 +153,7 @@ int br_handle_frame_finish(struct net *n
  	    br_multicast_rcv(br, p, skb, vid))
  		goto drop;
  
diff --git a/target/linux/generic/patches-4.4/642-bridge_port_isolate.patch b/target/linux/generic/patches-4.4/642-bridge_port_isolate.patch
index 3ece047..02dfea4 100644
--- a/target/linux/generic/patches-4.4/642-bridge_port_isolate.patch
+++ b/target/linux/generic/patches-4.4/642-bridge_port_isolate.patch
@@ -48,7 +48,7 @@ Isolating individual bridge ports
  
 --- a/net/bridge/br_input.c
 +++ b/net/bridge/br_input.c
-@@ -191,8 +191,8 @@ int br_handle_frame_finish(struct net *n
+@@ -192,8 +192,8 @@ int br_handle_frame_finish(struct net *n
  
  		unicast = false;
  		br->dev->stats.multicast++;
diff --git a/target/linux/generic/patches-4.4/653-disable_netlink_trim.patch b/target/linux/generic/patches-4.4/653-disable_netlink_trim.patch
index 073550c..cc19b8e 100644
--- a/target/linux/generic/patches-4.4/653-disable_netlink_trim.patch
+++ b/target/linux/generic/patches-4.4/653-disable_netlink_trim.patch
@@ -1,15 +1,12 @@
 --- a/net/netlink/af_netlink.c
 +++ b/net/netlink/af_netlink.c
-@@ -1812,27 +1812,7 @@ void netlink_detachskb(struct sock *sk,
+@@ -1187,24 +1187,7 @@ void netlink_detachskb(struct sock *sk,
  
  static struct sk_buff *netlink_trim(struct sk_buff *skb, gfp_t allocation)
  {
 -	int delta;
 -
  	WARN_ON(skb->sk != NULL);
--	if (netlink_skb_is_mmaped(skb))
--		return skb;
--
 -	delta = skb->end - skb->tail;
 -	if (is_vmalloc_addr(skb->head) || delta * 2 < skb->truesize)
 -		return skb;
diff --git a/target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
index 0794d89..c1a076a 100644
--- a/target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
+++ b/target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
@@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
 
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -4219,6 +4219,9 @@ static enum gro_result dev_gro_receive(s
+@@ -4246,6 +4246,9 @@ static enum gro_result dev_gro_receive(s
  	enum gro_result ret;
  	int grow;
  
@@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	if (!(skb->dev->features & NETIF_F_GRO))
  		goto normal;
  
-@@ -5378,6 +5381,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -5405,6 +5408,48 @@ static void __netdev_adjacent_dev_unlink
  					   &upper_dev->adj_list.lower);
  }
  
@@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  static int __netdev_upper_dev_link(struct net_device *dev,
  				   struct net_device *upper_dev, bool master,
  				   void *private)
-@@ -5449,6 +5494,7 @@ static int __netdev_upper_dev_link(struc
+@@ -5476,6 +5521,7 @@ static int __netdev_upper_dev_link(struc
  			goto rollback_lower_mesh;
  	}
  
@@ -84,7 +84,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
  				      &changeupper_info.info);
  	return 0;
-@@ -5575,6 +5621,7 @@ void netdev_upper_dev_unlink(struct net_
+@@ -5602,6 +5648,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, i->ref_nr);
  
@@ -92,7 +92,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
  				      &changeupper_info.info);
  }
-@@ -6115,6 +6162,7 @@ int dev_set_mac_address(struct net_devic
+@@ -6142,6 +6189,7 @@ int dev_set_mac_address(struct net_devic
  	if (err)
  		return err;
  	dev->addr_assign_type = NET_ADDR_SET;
diff --git a/target/linux/generic/patches-4.4/721-phy_packets.patch b/target/linux/generic/patches-4.4/721-phy_packets.patch
index 8333dcc..d824642 100644
--- a/target/linux/generic/patches-4.4/721-phy_packets.patch
+++ b/target/linux/generic/patches-4.4/721-phy_packets.patch
@@ -86,7 +86,7 @@
  	help
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -2708,10 +2708,20 @@ static int xmit_one(struct sk_buff *skb,
+@@ -2735,10 +2735,20 @@ static int xmit_one(struct sk_buff *skb,
  	if (!list_empty(&ptype_all) || !list_empty(&dev->ptype_all))
  		dev_queue_xmit_nit(skb, dev);
  
diff --git a/target/linux/generic/patches-4.4/811-pci_disable_usb_common_quirks.patch b/target/linux/generic/patches-4.4/811-pci_disable_usb_common_quirks.patch
index a4b93df..f22bf80 100644
--- a/target/linux/generic/patches-4.4/811-pci_disable_usb_common_quirks.patch
+++ b/target/linux/generic/patches-4.4/811-pci_disable_usb_common_quirks.patch
@@ -84,7 +84,7 @@
  #endif  /*  __LINUX_USB_PCI_QUIRKS_H  */
 --- a/include/linux/usb/hcd.h
 +++ b/include/linux/usb/hcd.h
-@@ -459,7 +459,14 @@ extern int usb_hcd_pci_probe(struct pci_
+@@ -460,7 +460,14 @@ extern int usb_hcd_pci_probe(struct pci_
  extern void usb_hcd_pci_remove(struct pci_dev *dev);
  extern void usb_hcd_pci_shutdown(struct pci_dev *dev);
  
diff --git a/target/linux/generic/patches-4.4/901-debloat_sock_diag.patch b/target/linux/generic/patches-4.4/901-debloat_sock_diag.patch
index b70f44e..fa9f37b 100644
--- a/target/linux/generic/patches-4.4/901-debloat_sock_diag.patch
+++ b/target/linux/generic/patches-4.4/901-debloat_sock_diag.patch
@@ -25,7 +25,7 @@
  obj-$(CONFIG_PROC_FS) += net-procfs.o
 --- a/net/core/sock.c
 +++ b/net/core/sock.c
-@@ -1469,9 +1469,11 @@ void sk_destruct(struct sock *sk)
+@@ -1474,9 +1474,11 @@ void sk_destruct(struct sock *sk)
  
  static void __sk_free(struct sock *sk)
  {
@@ -59,7 +59,7 @@
  	  Support for UNIX socket monitoring interface used by the ss tool.
 --- a/net/netlink/Kconfig
 +++ b/net/netlink/Kconfig
-@@ -13,6 +13,7 @@ config NETLINK_MMAP
+@@ -4,6 +4,7 @@
  
  config NETLINK_DIAG
  	tristate "NETLINK: socket monitoring interface"
diff --git a/target/linux/generic/patches-4.4/902-debloat_proc.patch b/target/linux/generic/patches-4.4/902-debloat_proc.patch
index 3123a4b..2f54db5 100644
--- a/target/linux/generic/patches-4.4/902-debloat_proc.patch
+++ b/target/linux/generic/patches-4.4/902-debloat_proc.patch
@@ -173,7 +173,7 @@
  		goto err;
 --- a/net/core/sock.c
 +++ b/net/core/sock.c
-@@ -3036,6 +3036,8 @@ static __net_initdata struct pernet_oper
+@@ -3042,6 +3042,8 @@ static __net_initdata struct pernet_oper
  
  static int __init proto_init(void)
  {
diff --git a/target/linux/imx6/patches-4.4/202-net-igb-add-i210-i211-support-for-phy-read-write.patch b/target/linux/imx6/patches-4.4/202-net-igb-add-i210-i211-support-for-phy-read-write.patch
index 6bc23c5..2649f05 100644
--- a/target/linux/imx6/patches-4.4/202-net-igb-add-i210-i211-support-for-phy-read-write.patch
+++ b/target/linux/imx6/patches-4.4/202-net-igb-add-i210-i211-support-for-phy-read-write.patch
@@ -10,7 +10,7 @@ Date:   Thu May 15 00:12:26 2014 -0700
 
 --- a/drivers/net/ethernet/intel/igb/e1000_phy.c
 +++ b/drivers/net/ethernet/intel/igb/e1000_phy.c
-@@ -129,7 +129,7 @@ out:
+@@ -133,7 +133,7 @@ out:
  s32 igb_read_phy_reg_mdic(struct e1000_hw *hw, u32 offset, u16 *data)
  {
  	struct e1000_phy_info *phy = &hw->phy;
@@ -19,7 +19,7 @@ Date:   Thu May 15 00:12:26 2014 -0700
  	s32 ret_val = 0;
  
  	if (offset > MAX_PHY_REG_ADDRESS) {
-@@ -142,11 +142,25 @@ s32 igb_read_phy_reg_mdic(struct e1000_h
+@@ -146,11 +146,25 @@ s32 igb_read_phy_reg_mdic(struct e1000_h
  	 * Control register.  The MAC will take care of interfacing with the
  	 * PHY to retrieve the desired data.
  	 */
@@ -48,7 +48,7 @@ Date:   Thu May 15 00:12:26 2014 -0700
  
  	/* Poll the ready bit to see if the MDI read completed
  	 * Increasing the time out as testing showed failures with
-@@ -171,6 +185,18 @@ s32 igb_read_phy_reg_mdic(struct e1000_h
+@@ -175,6 +189,18 @@ s32 igb_read_phy_reg_mdic(struct e1000_h
  	*data = (u16) mdic;
  
  out:
@@ -67,7 +67,7 @@ Date:   Thu May 15 00:12:26 2014 -0700
  	return ret_val;
  }
  
-@@ -185,7 +211,7 @@ out:
+@@ -189,7 +215,7 @@ out:
  s32 igb_write_phy_reg_mdic(struct e1000_hw *hw, u32 offset, u16 data)
  {
  	struct e1000_phy_info *phy = &hw->phy;
@@ -76,7 +76,7 @@ Date:   Thu May 15 00:12:26 2014 -0700
  	s32 ret_val = 0;
  
  	if (offset > MAX_PHY_REG_ADDRESS) {
-@@ -198,12 +224,27 @@ s32 igb_write_phy_reg_mdic(struct e1000_
+@@ -202,12 +228,27 @@ s32 igb_write_phy_reg_mdic(struct e1000_
  	 * Control register.  The MAC will take care of interfacing with the
  	 * PHY to retrieve the desired data.
  	 */
@@ -108,7 +108,7 @@ Date:   Thu May 15 00:12:26 2014 -0700
  
  	/* Poll the ready bit to see if the MDI read completed
  	 * Increasing the time out as testing showed failures with
-@@ -227,6 +268,18 @@ s32 igb_write_phy_reg_mdic(struct e1000_
+@@ -231,6 +272,18 @@ s32 igb_write_phy_reg_mdic(struct e1000_
  	}
  
  out:
diff --git a/target/linux/imx6/patches-4.4/203-net-igb-add-phy-read-write-functions-that-accept-phy.patch b/target/linux/imx6/patches-4.4/203-net-igb-add-phy-read-write-functions-that-accept-phy.patch
index 48f6d0d..45a4a8b 100644
--- a/target/linux/imx6/patches-4.4/203-net-igb-add-phy-read-write-functions-that-accept-phy.patch
+++ b/target/linux/imx6/patches-4.4/203-net-igb-add-phy-read-write-functions-that-accept-phy.patch
@@ -36,7 +36,7 @@ Signed-off-by: Tim Harvey <tharvey at gateworks.com>
  
 --- a/drivers/net/ethernet/intel/igb/e1000_phy.c
 +++ b/drivers/net/ethernet/intel/igb/e1000_phy.c
-@@ -126,9 +126,8 @@ out:
+@@ -130,9 +130,8 @@ out:
   *  Reads the MDI control regsiter in the PHY at offset and stores the
   *  information read to data.
   **/
@@ -47,7 +47,7 @@ Signed-off-by: Tim Harvey <tharvey at gateworks.com>
  	u32 i, mdicnfg, mdic = 0;
  	s32 ret_val = 0;
  
-@@ -147,14 +146,14 @@ s32 igb_read_phy_reg_mdic(struct e1000_h
+@@ -151,14 +150,14 @@ s32 igb_read_phy_reg_mdic(struct e1000_h
  	case e1000_i211:
  		mdicnfg = rd32(E1000_MDICNFG);
  		mdicnfg &= ~(E1000_MDICNFG_PHY_MASK);
@@ -64,7 +64,7 @@ Signed-off-by: Tim Harvey <tharvey at gateworks.com>
  			(E1000_MDIC_OP_READ));
  		break;
  	}
-@@ -208,9 +207,8 @@ out:
+@@ -212,9 +211,8 @@ out:
   *
   *  Writes data to MDI control register in the PHY at offset.
   **/
@@ -75,7 +75,7 @@ Signed-off-by: Tim Harvey <tharvey at gateworks.com>
  	u32 i, mdicnfg, mdic = 0;
  	s32 ret_val = 0;
  
-@@ -229,7 +227,7 @@ s32 igb_write_phy_reg_mdic(struct e1000_
+@@ -233,7 +231,7 @@ s32 igb_write_phy_reg_mdic(struct e1000_
  		case e1000_i211:
  			mdicnfg = rd32(E1000_MDICNFG);
  			mdicnfg &= ~(E1000_MDICNFG_PHY_MASK);
@@ -84,7 +84,7 @@ Signed-off-by: Tim Harvey <tharvey at gateworks.com>
  			wr32(E1000_MDICNFG, mdicnfg);
  			mdic = (((u32)data) |
  				(offset << E1000_MDIC_REG_SHIFT) |
-@@ -238,7 +236,7 @@ s32 igb_write_phy_reg_mdic(struct e1000_
+@@ -242,7 +240,7 @@ s32 igb_write_phy_reg_mdic(struct e1000_
  		default:
  			mdic = (((u32)data) |
  				(offset << E1000_MDIC_REG_SHIFT) |
@@ -93,7 +93,7 @@ Signed-off-by: Tim Harvey <tharvey at gateworks.com>
  				(E1000_MDIC_OP_WRITE));
  			break;
  	}
-@@ -458,7 +456,7 @@ s32 igb_read_phy_reg_igp(struct e1000_hw
+@@ -462,7 +460,7 @@ s32 igb_read_phy_reg_igp(struct e1000_hw
  		goto out;
  
  	if (offset > MAX_PHY_MULTI_PAGE_REG) {
@@ -102,7 +102,7 @@ Signed-off-by: Tim Harvey <tharvey at gateworks.com>
  						 IGP01E1000_PHY_PAGE_SELECT,
  						 (u16)offset);
  		if (ret_val) {
-@@ -467,8 +465,8 @@ s32 igb_read_phy_reg_igp(struct e1000_hw
+@@ -471,8 +469,8 @@ s32 igb_read_phy_reg_igp(struct e1000_hw
  		}
  	}
  
@@ -113,7 +113,7 @@ Signed-off-by: Tim Harvey <tharvey at gateworks.com>
  
  	hw->phy.ops.release(hw);
  
-@@ -497,7 +495,7 @@ s32 igb_write_phy_reg_igp(struct e1000_h
+@@ -501,7 +499,7 @@ s32 igb_write_phy_reg_igp(struct e1000_h
  		goto out;
  
  	if (offset > MAX_PHY_MULTI_PAGE_REG) {
@@ -122,7 +122,7 @@ Signed-off-by: Tim Harvey <tharvey at gateworks.com>
  						 IGP01E1000_PHY_PAGE_SELECT,
  						 (u16)offset);
  		if (ret_val) {
-@@ -506,8 +504,8 @@ s32 igb_write_phy_reg_igp(struct e1000_h
+@@ -510,8 +508,8 @@ s32 igb_write_phy_reg_igp(struct e1000_h
  		}
  	}
  
@@ -133,7 +133,7 @@ Signed-off-by: Tim Harvey <tharvey at gateworks.com>
  
  	hw->phy.ops.release(hw);
  
-@@ -2547,8 +2545,9 @@ out:
+@@ -2551,8 +2549,9 @@ out:
  }
  
  /**
@@ -144,7 +144,7 @@ Signed-off-by: Tim Harvey <tharvey at gateworks.com>
   *  @offset: lower half is register offset to write to
   *     upper half is page to use.
   *  @data: data to write at register offset
-@@ -2556,7 +2555,7 @@ out:
+@@ -2560,7 +2559,7 @@ out:
   *  Acquires semaphore, if necessary, then writes the data to PHY register
   *  at the offset.  Release any acquired semaphores before exiting.
   **/
@@ -153,7 +153,7 @@ Signed-off-by: Tim Harvey <tharvey at gateworks.com>
  {
  	s32 ret_val;
  	u16 page = offset >> GS40G_PAGE_SHIFT;
-@@ -2566,10 +2565,10 @@ s32 igb_write_phy_reg_gs40g(struct e1000
+@@ -2570,10 +2569,10 @@ s32 igb_write_phy_reg_gs40g(struct e1000
  	if (ret_val)
  		return ret_val;
  
@@ -166,7 +166,7 @@ Signed-off-by: Tim Harvey <tharvey at gateworks.com>
  
  release:
  	hw->phy.ops.release(hw);
-@@ -2577,8 +2576,24 @@ release:
+@@ -2581,8 +2580,24 @@ release:
  }
  
  /**
@@ -192,7 +192,7 @@ Signed-off-by: Tim Harvey <tharvey at gateworks.com>
   *  @offset: lower half is register offset to read to
   *     upper half is page to use.
   *  @data: data to read at register offset
-@@ -2586,7 +2601,7 @@ release:
+@@ -2590,7 +2605,7 @@ release:
   *  Acquires semaphore, if necessary, then reads the data in the PHY register
   *  at the offset.  Release any acquired semaphores before exiting.
   **/
@@ -201,7 +201,7 @@ Signed-off-by: Tim Harvey <tharvey at gateworks.com>
  {
  	s32 ret_val;
  	u16 page = offset >> GS40G_PAGE_SHIFT;
-@@ -2596,10 +2611,10 @@ s32 igb_read_phy_reg_gs40g(struct e1000_
+@@ -2600,10 +2615,10 @@ s32 igb_read_phy_reg_gs40g(struct e1000_
  	if (ret_val)
  		return ret_val;
  
@@ -214,7 +214,7 @@ Signed-off-by: Tim Harvey <tharvey at gateworks.com>
  
  release:
  	hw->phy.ops.release(hw);
-@@ -2607,6 +2622,21 @@ release:
+@@ -2611,6 +2626,21 @@ release:
  }
  
  /**
diff --git a/target/linux/lantiq/patches-4.4/0070-MIPS-Lantiq-Keep-ethernet-enabled-during-boot.patch b/target/linux/lantiq/patches-4.4/0070-MIPS-Lantiq-Keep-ethernet-enabled-during-boot.patch
deleted file mode 100644
index 67cf7d3..0000000
--- a/target/linux/lantiq/patches-4.4/0070-MIPS-Lantiq-Keep-ethernet-enabled-during-boot.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From: Felix Fietkau <nbd at nbd.name>
-Date: Thu, 19 Jan 2017 14:14:36 +0100
-Subject: [PATCH] MIPS: Lantiq: Keep ethernet enabled during boot
-
-Disabling ethernet during reboot (only to enable it again when the
-ethernet driver attaches) can put the chip into a faulty state where it
-corrupts the header of all incoming packets.
-
-This happens if packets arrive during the time window where the core is
-disabled, and it can be easily reproduced by rebooting while sending a
-flood ping to the broadcast address.
-
-Cc: john at phrozen.org
-Cc: hauke.mehrtens at lantiq.com
-Cc: stable at vger.kernel.org
-Fixes: 95135bfa7ead ("MIPS: Lantiq: Deactivate most of the devices by default")
-Signed-off-by: Felix Fietkau <nbd at nbd.name>
----
-
---- a/arch/mips/lantiq/xway/sysctrl.c
-+++ b/arch/mips/lantiq/xway/sysctrl.c
-@@ -564,7 +564,7 @@ void __init ltq_soc_init(void)
- 		clkdev_add_pmu("1a800000.pcie", "msi", 1, 1, PMU1_PCIE2_MSI);
- 		clkdev_add_pmu("1a800000.pcie", "pdi", 1, 1, PMU1_PCIE2_PDI);
- 		clkdev_add_pmu("1a800000.pcie", "ctl", 1, 1, PMU1_PCIE2_CTL);
--		clkdev_add_pmu("1e108000.eth", NULL, 1, 0, PMU_SWITCH | PMU_PPE_DP);
-+		clkdev_add_pmu("1e108000.eth", NULL, 0, 0, PMU_SWITCH | PMU_PPE_DP);
- 		clkdev_add_pmu("1da00000.usif", "NULL", 1, 0, PMU_USIF);
- 		clkdev_add_pmu("1e103100.deu", NULL, 1, 0, PMU_DEU);
- 	} else if (of_machine_is_compatible("lantiq,ar10")) {
-@@ -572,7 +572,7 @@ void __init ltq_soc_init(void)
- 				  ltq_ar10_fpi_hz(), ltq_ar10_pp32_hz());
- 		clkdev_add_pmu("1e101000.usb", "ctl", 1, 0, PMU_USB0);
- 		clkdev_add_pmu("1e106000.usb", "ctl", 1, 0, PMU_USB1);
--		clkdev_add_pmu("1e108000.eth", NULL, 1, 0, PMU_SWITCH |
-+		clkdev_add_pmu("1e108000.eth", NULL, 0, 0, PMU_SWITCH |
- 			       PMU_PPE_DP | PMU_PPE_TC);
- 		clkdev_add_pmu("1da00000.usif", "NULL", 1, 0, PMU_USIF);
- 		clkdev_add_pmu("1f203000.rcu", "gphy", 1, 0, PMU_GPHY);
-@@ -594,11 +594,11 @@ void __init ltq_soc_init(void)
- 		clkdev_add_pmu(NULL, "ahb", 1, 0, PMU_AHBM | PMU_AHBS);
- 
- 		clkdev_add_pmu("1da00000.usif", "NULL", 1, 0, PMU_USIF);
--		clkdev_add_pmu("1e108000.eth", NULL, 1, 0,
-+		clkdev_add_pmu("1e108000.eth", NULL, 0, 0,
- 				PMU_SWITCH | PMU_PPE_DPLUS | PMU_PPE_DPLUM |
- 				PMU_PPE_EMA | PMU_PPE_TC | PMU_PPE_SLL01 |
- 				PMU_PPE_QSB | PMU_PPE_TOP);
--		clkdev_add_pmu("1f203000.rcu", "gphy", 1, 0, PMU_GPHY);
-+		clkdev_add_pmu("1f203000.rcu", "gphy", 0, 0, PMU_GPHY);
- 		clkdev_add_pmu("1e103000.sdio", NULL, 1, 0, PMU_SDIO);
- 		clkdev_add_pmu("1e103100.deu", NULL, 1, 0, PMU_DEU);
- 		clkdev_add_pmu("1e116000.mei", "dfe", 1, 0, PMU_DFE);
diff --git a/target/linux/ramips/patches-4.4/0010-MIPS-ralink-Add-a-few-missing-clocks.patch b/target/linux/ramips/patches-4.4/0010-MIPS-ralink-Add-a-few-missing-clocks.patch
index 56bca78..a3f2677 100644
--- a/target/linux/ramips/patches-4.4/0010-MIPS-ralink-Add-a-few-missing-clocks.patch
+++ b/target/linux/ramips/patches-4.4/0010-MIPS-ralink-Add-a-few-missing-clocks.patch
@@ -28,7 +28,7 @@ Signed-off-by: Ralf Baechle <ralf at linux-mips.org>
  	if (IS_ENABLED(CONFIG_USB) && is_mt76x8()) {
 --- a/arch/mips/ralink/rt305x.c
 +++ b/arch/mips/ralink/rt305x.c
-@@ -201,6 +201,7 @@ void __init ralink_clk_init(void)
+@@ -190,6 +190,7 @@ void __init ralink_clk_init(void)
  	ralink_clk_add("cpu", cpu_rate);
  	ralink_clk_add("sys", sys_rate);
  	ralink_clk_add("10000b00.spi", sys_rate);
@@ -38,7 +38,7 @@ Signed-off-by: Ralf Baechle <ralf at linux-mips.org>
  	ralink_clk_add("10000500.uart", uart_rate);
 --- a/arch/mips/ralink/rt3883.c
 +++ b/arch/mips/ralink/rt3883.c
-@@ -109,6 +109,7 @@ void __init ralink_clk_init(void)
+@@ -99,6 +99,7 @@ void __init ralink_clk_init(void)
  	ralink_clk_add("10000120.watchdog", sys_rate);
  	ralink_clk_add("10000500.uart", 40000000);
  	ralink_clk_add("10000b00.spi", sys_rate);
diff --git a/target/linux/ramips/patches-4.4/0031-uvc-add-iPassion-iP2970-support.patch b/target/linux/ramips/patches-4.4/0031-uvc-add-iPassion-iP2970-support.patch
index c6a837d..cecca5b 100644
--- a/target/linux/ramips/patches-4.4/0031-uvc-add-iPassion-iP2970-support.patch
+++ b/target/linux/ramips/patches-4.4/0031-uvc-add-iPassion-iP2970-support.patch
@@ -13,7 +13,7 @@ Signed-off-by: John Crispin <blogic at openwrt.org>
 
 --- a/drivers/media/usb/uvc/uvc_driver.c
 +++ b/drivers/media/usb/uvc/uvc_driver.c
-@@ -2559,6 +2559,18 @@ static struct usb_device_id uvc_ids[] =
+@@ -2665,6 +2665,18 @@ static struct usb_device_id uvc_ids[] =
  	  .bInterfaceSubClass	= 1,
  	  .bInterfaceProtocol	= 0,
  	  .driver_info		= UVC_QUIRK_FORCE_Y8 },
diff --git a/target/linux/ramips/patches-4.4/0068-fix-ralink-prom.c b/target/linux/ramips/patches-4.4/0068-fix-ralink-prom.c
deleted file mode 100644
index 728ce6f..0000000
--- a/target/linux/ramips/patches-4.4/0068-fix-ralink-prom.c
+++ /dev/null
@@ -1,30 +0,0 @@
---- a/arch/mips/ralink/prom.c
-+++ b/arch/mips/ralink/prom.c
-@@ -30,8 +30,10 @@ const char *get_system_type(void)
- 	return soc_info.sys_type;
- }
- 
--static __init void prom_init_cmdline(int argc, char **argv)
-+static __init void prom_init_cmdline(void)
- {
-+	int argc;
-+	char **argv;
- 	int i;
- 
- 	pr_debug("prom: fw_arg0=%08x fw_arg1=%08x fw_arg2=%08x fw_arg3=%08x\n",
-@@ -60,14 +62,11 @@ static __init void prom_init_cmdline(int
- 
- void __init prom_init(void)
- {
--	int argc;
--	char **argv;
--
- 	prom_soc_init(&soc_info);
- 
- 	pr_info("SoC Type: %s\n", get_system_type());
- 
--	prom_init_cmdline(argc, argv);
-+	prom_init_cmdline();
- }
- 
- void __init prom_free_prom_memory(void)
diff --git a/target/linux/ramips/patches-4.4/0081-MIPS-ralink-Fix-invalid-assignment-of-SoC-type.patch b/target/linux/ramips/patches-4.4/0081-MIPS-ralink-Fix-invalid-assignment-of-SoC-type.patch
index 2c149cc..35065f5 100644
--- a/target/linux/ramips/patches-4.4/0081-MIPS-ralink-Fix-invalid-assignment-of-SoC-type.patch
+++ b/target/linux/ramips/patches-4.4/0081-MIPS-ralink-Fix-invalid-assignment-of-SoC-type.patch
@@ -16,7 +16,7 @@ Signed-off-by: Ralf Baechle <ralf at linux-mips.org>
 
 --- a/arch/mips/ralink/rt288x.c
 +++ b/arch/mips/ralink/rt288x.c
-@@ -119,5 +119,5 @@ void prom_soc_init(struct ralink_soc_inf
+@@ -109,5 +109,5 @@ void prom_soc_init(struct ralink_soc_inf
  	soc_info->mem_size_max = RT2880_MEM_SIZE_MAX;
  
  	rt2880_pinmux_data = rt2880_pinmux_data_act;
diff --git a/target/linux/ramips/patches-4.4/0720-arch-mips-ralink-add-i2c-clocks.patch b/target/linux/ramips/patches-4.4/0720-arch-mips-ralink-add-i2c-clocks.patch
index e9e72ad..d711f57 100644
--- a/target/linux/ramips/patches-4.4/0720-arch-mips-ralink-add-i2c-clocks.patch
+++ b/target/linux/ramips/patches-4.4/0720-arch-mips-ralink-add-i2c-clocks.patch
@@ -35,7 +35,7 @@
  	ralink_clk_add("10000c00.uartlite", periph_rate);
 --- a/arch/mips/ralink/rt288x.c
 +++ b/arch/mips/ralink/rt288x.c
-@@ -75,6 +75,7 @@ void __init ralink_clk_init(void)
+@@ -65,6 +65,7 @@ void __init ralink_clk_init(void)
  	ralink_clk_add("300100.timer", cpu_rate / 2);
  	ralink_clk_add("300120.watchdog", cpu_rate / 2);
  	ralink_clk_add("300500.uart", cpu_rate / 2);
@@ -45,7 +45,7 @@
  	ralink_clk_add("480000.wmac", wmac_rate);
 --- a/arch/mips/ralink/rt305x.c
 +++ b/arch/mips/ralink/rt305x.c
-@@ -200,6 +200,8 @@ void __init ralink_clk_init(void)
+@@ -189,6 +189,8 @@ void __init ralink_clk_init(void)
  
  	ralink_clk_add("cpu", cpu_rate);
  	ralink_clk_add("sys", sys_rate);
@@ -56,7 +56,7 @@
  	ralink_clk_add("10000100.timer", wdt_rate);
 --- a/arch/mips/ralink/rt3883.c
 +++ b/arch/mips/ralink/rt3883.c
-@@ -108,6 +108,8 @@ void __init ralink_clk_init(void)
+@@ -98,6 +98,8 @@ void __init ralink_clk_init(void)
  	ralink_clk_add("10000100.timer", sys_rate);
  	ralink_clk_add("10000120.watchdog", sys_rate);
  	ralink_clk_add("10000500.uart", 40000000);



More information about the lede-commits mailing list