[source] kernel: update kernel 4.9 to 4.9.17

LEDE Commits lede-commits at lists.infradead.org
Sun Mar 26 06:03:29 PDT 2017


hauke pushed a commit to source.git, branch master:
https://git.lede-project.org/fb7ea71c15d2bccb8cc6383d3a08921b79713712

commit fb7ea71c15d2bccb8cc6383d3a08921b79713712
Author: Hauke Mehrtens <hauke at hauke-m.de>
AuthorDate: Sun Mar 26 12:22:27 2017 +0200

    kernel: update kernel 4.9 to 4.9.17
    
    Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
 include/kernel-version.mk                          |   4 +-
 ...-a-mode-for-using-the-closed-firmware-for.patch |   8 +-
 ...clk-bcm2835-Fix-fixed_divider-of-pllh_aux.patch |  27 -----
 ...vc4-Add-fragment-shader-threading-support.patch |   2 +-
 ...-race-between-page-flip-completion-event-.patch |  93 -----------------
 ...-clock_select-setting-for-the-VEC-encoder.patch | 113 ---------------------
 ...ER-to-set-MRSS-128-to-fix-CNS3xxx-BM-DMA..patch |   2 +-
 .../021-bridge-multicast-to-unicast.patch          |   2 +-
 ...-bridge_allow_receiption_on_disabled_port.patch |   4 +-
 .../patches-4.9/630-packet_socket_type.patch       |   6 +-
 .../640-bridge-only-accept-EAP-locally.patch       |   2 +-
 .../patches-4.9/641-bridge_port_isolate.patch      |   2 +-
 ...80-NET-skip-GRO-for-foreign-MAC-addresses.patch |   8 +-
 .../generic/patches-4.9/721-phy_packets.patch      |   2 +-
 .../810-pci_disable_common_quirks.patch            |   6 +-
 ...0046-cpufreq-qcom-independent-core-clocks.patch |   1 -
 ...ufreq-dt-Handle-OPP-voltage-adjust-events.patch |   4 +-
 ...ufreq-dt-Add-L2-frequency-scaling-support.patch |   2 +-
 .../patches-4.9/0026-NET-multi-phy-support.patch   |   6 +-
 .../patches-4.9/0001-NET-multi-phy-support.patch   |   6 +-
 ...ovide-a-hook-for-link-up-link-down-events.patch |  18 ++--
 ...-phy-move-phy-MMD-accessors-to-phy-core.c.patch |   2 +-
 ...oid-setting-unsupported-EEE-advertisments.patch |   2 +-
 ...tart-phy-autonegotiation-after-EEE-advert.patch |   2 +-
 ...-phy-allow-EEE-with-SGMII-interface-modes.patch |   2 +-
 ...hook-up-clause-45-autonegotiation-restart.patch |   2 +-
 ...TS-Add-base-device-tree-for-Pistachio-SoC.patch |   8 --
 ...-DTS-img-add-device-tree-for-Marduk-board.patch |  12 ---
 ...03-MIPS-DTS-add-img-directory-to-Makefile.patch |   5 -
 ...maengine-img-mdc-Handle-early-status-read.patch |   7 +-
 ...spi-img-spfi-Implement-dual-and-quad-mode.patch |  13 +--
 ...i-set-device-select-bits-for-SPFI-port-st.patch |   7 +-
 ...i-use-device-0-configuration-for-all-devi.patch |   9 +-
 ...g-spfi-RX-maximum-burst-size-for-DMA-is-8.patch |   9 +-
 ...pi-img-spfi-finish-every-transfer-cleanly.patch |  15 +--
 ...-Retry-programming-min-delta-up-to-10-tim.patch |   7 +-
 ...clk-pistachio-Fix-wrong-SDHost-card-speed.patch |  11 +-
 ...S-DTS-img-marduk-switch-mmc-to-1-bit-mode.patch |   5 -
 ...mtd-nor-support-mtd-name-from-device-tree.patch |   9 +-
 ...eck-length-of-ID-before-reading-bits-per-.patch |   7 +-
 ...-Add-JEDEC-manufacturer-ID-for-Gigadevice.patch |  11 +-
 .../413-mtd-Introduce-SPI-NAND-framework.patch     |  23 +----
 .../414-mtd-spi-nand-Support-Gigadevice-GD5F.patch |  10 --
 .../patches-4.9/701-net-micrel-Disable-PME.patch   |   9 +-
 ...IPS-DTS-img-marduk-add-nor-partition-name.patch |   5 -
 ...PS-DTS-img-marduk-add-nand-device-support.patch |   5 -
 .../0031-uvc-add-iPassion-iP2970-support.patch     |   2 +-
 .../patches-4.9/0034-NET-multi-phy-support.patch   |   6 +-
 .../ramips/patches-4.9/0068-fix-ralink-prom.patch  |  30 ------
 .../linux/ramips/patches-4.9/0098-disable_cm.patch |   6 +-
 .../0720-arch-mips-ralink-add-i2c-clocks.patch     |   6 +-
 .../linux/ramips/patches-4.9/301-fix-rt3883.patch  |  19 +---
 52 files changed, 84 insertions(+), 500 deletions(-)

diff --git a/include/kernel-version.mk b/include/kernel-version.mk
index e015b94..587c25e 100644
--- a/include/kernel-version.mk
+++ b/include/kernel-version.mk
@@ -4,11 +4,11 @@ LINUX_RELEASE?=1
 
 LINUX_VERSION-3.18 = .43
 LINUX_VERSION-4.4 = .56
-LINUX_VERSION-4.9 = .14
+LINUX_VERSION-4.9 = .17
 
 LINUX_KERNEL_HASH-3.18.43 = 1236e8123a6ce537d5029232560966feed054ae31776fe8481dd7d18cdd5492c
 LINUX_KERNEL_HASH-4.4.56 = 55181e24869e4b550ef756eecd1ab4f6774228c457f4830e9e779c6db4c2a2b6
-LINUX_KERNEL_HASH-4.9.14 = 534d343f4ca5c55d7214694a2a378897e8ee2adf576563f069da010093b3b640
+LINUX_KERNEL_HASH-4.9.17 = 9095c16550ebae9cbe0979a706116d95fbd8d270c1068857c4a8788de0f9ac7f
 
 ifdef KERNEL_PATCHVER
   LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))
diff --git a/target/linux/brcm2708/patches-4.9/950-0105-drm-vc4-Add-a-mode-for-using-the-closed-firmware-for.patch b/target/linux/brcm2708/patches-4.9/950-0105-drm-vc4-Add-a-mode-for-using-the-closed-firmware-for.patch
index 88952dc..789f001 100644
--- a/target/linux/brcm2708/patches-4.9/950-0105-drm-vc4-Add-a-mode-for-using-the-closed-firmware-for.patch
+++ b/target/linux/brcm2708/patches-4.9/950-0105-drm-vc4-Add-a-mode-for-using-the-closed-firmware-for.patch
@@ -26,7 +26,7 @@ Signed-off-by: Eric Anholt <eric at anholt.net>
  	vc4_hdmi.o \
 --- a/drivers/gpu/drm/vc4/vc4_crtc.c
 +++ b/drivers/gpu/drm/vc4/vc4_crtc.c
-@@ -163,6 +163,9 @@ int vc4_crtc_get_scanoutpos(struct drm_d
+@@ -162,6 +162,9 @@ int vc4_crtc_get_scanoutpos(struct drm_d
  	int vblank_lines;
  	int ret = 0;
  
@@ -36,7 +36,7 @@ Signed-off-by: Eric Anholt <eric at anholt.net>
  	/* preempt_disable_rt() should go right here in PREEMPT_RT patchset. */
  
  	/* Get optional system timestamp before query. */
-@@ -656,6 +659,11 @@ int vc4_enable_vblank(struct drm_device
+@@ -655,6 +658,11 @@ int vc4_enable_vblank(struct drm_device
  	struct vc4_dev *vc4 = to_vc4_dev(dev);
  	struct vc4_crtc *vc4_crtc = vc4->crtc[crtc_id];
  
@@ -48,7 +48,7 @@ Signed-off-by: Eric Anholt <eric at anholt.net>
  	CRTC_WRITE(PV_INTEN, PV_INT_VFP_START);
  
  	return 0;
-@@ -666,6 +674,11 @@ void vc4_disable_vblank(struct drm_devic
+@@ -665,6 +673,11 @@ void vc4_disable_vblank(struct drm_devic
  	struct vc4_dev *vc4 = to_vc4_dev(dev);
  	struct vc4_crtc *vc4_crtc = vc4->crtc[crtc_id];
  
@@ -82,7 +82,7 @@ Signed-off-by: Eric Anholt <eric at anholt.net>
  	struct vc4_hdmi *hdmi;
  	struct vc4_hvs *hvs;
  	struct vc4_crtc *crtc[3];
-@@ -460,6 +463,10 @@ void __iomem *vc4_ioremap_regs(struct pl
+@@ -462,6 +465,10 @@ void __iomem *vc4_ioremap_regs(struct pl
  extern struct platform_driver vc4_dpi_driver;
  int vc4_dpi_debugfs_regs(struct seq_file *m, void *unused);
  
diff --git a/target/linux/brcm2708/patches-4.9/950-0151-clk-bcm2835-Fix-fixed_divider-of-pllh_aux.patch b/target/linux/brcm2708/patches-4.9/950-0151-clk-bcm2835-Fix-fixed_divider-of-pllh_aux.patch
deleted file mode 100644
index 82f4628..0000000
--- a/target/linux/brcm2708/patches-4.9/950-0151-clk-bcm2835-Fix-fixed_divider-of-pllh_aux.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From b8ded4dca34feafd33f22eff47d19b17b7dd83f4 Mon Sep 17 00:00:00 2001
-From: Boris Brezillon <boris.brezillon at free-electrons.com>
-Date: Tue, 22 Nov 2016 12:45:28 -0800
-Subject: [PATCH] clk: bcm2835: Fix ->fixed_divider of pllh_aux
-
-There is no fixed divider on pllh_aux.
-
-Signed-off-by: Boris Brezillon <boris.brezillon at free-electrons.com>
-Signed-off-by: Eric Anholt <eric at anholt.net>
-Reviewed-by: Eric Anholt <eric at anholt.net>
-Signed-off-by: Stephen Boyd <sboyd at codeaurora.org>
-(cherry picked from commit f2a46926aba1f0c33944901d2420a6a887455ddc)
----
- drivers/clk/bcm/clk-bcm2835.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/drivers/clk/bcm/clk-bcm2835.c
-+++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -1607,7 +1607,7 @@ static const struct bcm2835_clk_desc clk
- 		.a2w_reg = A2W_PLLH_AUX,
- 		.load_mask = CM_PLLH_LOADAUX,
- 		.hold_mask = 0,
--		.fixed_divider = 10),
-+		.fixed_divider = 1),
- 	[BCM2835_PLLH_PIX]	= REGISTER_PLL_DIV(
- 		.name = "pllh_pix",
- 		.source_pll = "pllh",
diff --git a/target/linux/brcm2708/patches-4.9/950-0165-drm-vc4-Add-fragment-shader-threading-support.patch b/target/linux/brcm2708/patches-4.9/950-0165-drm-vc4-Add-fragment-shader-threading-support.patch
index ea0f4f1..dd192b9 100644
--- a/target/linux/brcm2708/patches-4.9/950-0165-drm-vc4-Add-fragment-shader-threading-support.patch
+++ b/target/linux/brcm2708/patches-4.9/950-0165-drm-vc4-Add-fragment-shader-threading-support.patch
@@ -39,7 +39,7 @@ Signed-off-by: Eric Anholt <eric at anholt.net>
  	default:
 --- a/drivers/gpu/drm/vc4/vc4_drv.h
 +++ b/drivers/gpu/drm/vc4/vc4_drv.h
-@@ -384,6 +384,8 @@ struct vc4_validated_shader_info {
+@@ -385,6 +385,8 @@ struct vc4_validated_shader_info {
  
  	uint32_t num_uniform_addr_offsets;
  	uint32_t *uniform_addr_offsets;
diff --git a/target/linux/brcm2708/patches-4.9/950-0166-drm-vc4-Fix-race-between-page-flip-completion-event-.patch b/target/linux/brcm2708/patches-4.9/950-0166-drm-vc4-Fix-race-between-page-flip-completion-event-.patch
deleted file mode 100644
index 3c66fef..0000000
--- a/target/linux/brcm2708/patches-4.9/950-0166-drm-vc4-Fix-race-between-page-flip-completion-event-.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From d7f32f81cf7579ac7d13127db88e789ea864824c Mon Sep 17 00:00:00 2001
-From: Derek Foreman <derekf at osg.samsung.com>
-Date: Thu, 24 Nov 2016 12:11:55 -0600
-Subject: [PATCH] drm/vc4: Fix race between page flip completion event and
- clean-up
-
-There was a small window where a userspace program could submit
-a pageflip after receiving a pageflip completion event yet still
-receive EBUSY.
-
-Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
-Signed-off-by: Eric Anholt <eric at anholt.net>
-Reviewed-by: Eric Anholt <eric at anholt.net>
-Reviewed-by: Daniel Stone <daniels at collabora.com>
-(cherry picked from commit 26fc78f6fef39b9d7a15def5e7e9826ff68303f4)
----
- drivers/gpu/drm/vc4/vc4_crtc.c |  8 ++++++++
- drivers/gpu/drm/vc4/vc4_drv.h  |  1 +
- drivers/gpu/drm/vc4/vc4_kms.c  | 33 +++++++++++++++++++++++++--------
- 3 files changed, 34 insertions(+), 8 deletions(-)
-
---- a/drivers/gpu/drm/vc4/vc4_crtc.c
-+++ b/drivers/gpu/drm/vc4/vc4_crtc.c
-@@ -682,6 +682,14 @@ void vc4_disable_vblank(struct drm_devic
- 	CRTC_WRITE(PV_INTEN, 0);
- }
- 
-+/* Must be called with the event lock held */
-+bool vc4_event_pending(struct drm_crtc *crtc)
-+{
-+	struct vc4_crtc *vc4_crtc = to_vc4_crtc(crtc);
-+
-+	return !!vc4_crtc->event;
-+}
-+
- static void vc4_crtc_handle_page_flip(struct vc4_crtc *vc4_crtc)
- {
- 	struct drm_crtc *crtc = &vc4_crtc->base;
---- a/drivers/gpu/drm/vc4/vc4_drv.h
-+++ b/drivers/gpu/drm/vc4/vc4_drv.h
-@@ -445,6 +445,7 @@ int vc4_bo_stats_debugfs(struct seq_file
- extern struct platform_driver vc4_crtc_driver;
- int vc4_enable_vblank(struct drm_device *dev, unsigned int crtc_id);
- void vc4_disable_vblank(struct drm_device *dev, unsigned int crtc_id);
-+bool vc4_event_pending(struct drm_crtc *crtc);
- int vc4_crtc_debugfs_regs(struct seq_file *m, void *arg);
- int vc4_crtc_get_scanoutpos(struct drm_device *dev, unsigned int crtc_id,
- 			    unsigned int flags, int *vpos, int *hpos,
---- a/drivers/gpu/drm/vc4/vc4_kms.c
-+++ b/drivers/gpu/drm/vc4/vc4_kms.c
-@@ -119,17 +119,34 @@ static int vc4_atomic_commit(struct drm_
- 
- 	/* Make sure that any outstanding modesets have finished. */
- 	if (nonblock) {
--		ret = down_trylock(&vc4->async_modeset);
--		if (ret) {
-+		struct drm_crtc *crtc;
-+		struct drm_crtc_state *crtc_state;
-+		unsigned long flags;
-+		bool busy = false;
-+
-+		/*
-+		 * If there's an undispatched event to send then we're
-+		 * obviously still busy.  If there isn't, then we can
-+		 * unconditionally wait for the semaphore because it
-+		 * shouldn't be contended (for long).
-+		 *
-+		 * This is to prevent a race where queuing a new flip
-+		 * from userspace immediately on receipt of an event
-+		 * beats our clean-up and returns EBUSY.
-+		 */
-+		spin_lock_irqsave(&dev->event_lock, flags);
-+		for_each_crtc_in_state(state, crtc, crtc_state, i)
-+			busy |= vc4_event_pending(crtc);
-+		spin_unlock_irqrestore(&dev->event_lock, flags);
-+		if (busy) {
- 			kfree(c);
- 			return -EBUSY;
- 		}
--	} else {
--		ret = down_interruptible(&vc4->async_modeset);
--		if (ret) {
--			kfree(c);
--			return ret;
--		}
-+	}
-+	ret = down_interruptible(&vc4->async_modeset);
-+	if (ret) {
-+		kfree(c);
-+		return ret;
- 	}
- 
- 	ret = drm_atomic_helper_prepare_planes(dev, state);
diff --git a/target/linux/brcm2708/patches-4.9/950-0167-drm-vc4-Fix-clock_select-setting-for-the-VEC-encoder.patch b/target/linux/brcm2708/patches-4.9/950-0167-drm-vc4-Fix-clock_select-setting-for-the-VEC-encoder.patch
deleted file mode 100644
index c2499c1..0000000
--- a/target/linux/brcm2708/patches-4.9/950-0167-drm-vc4-Fix-clock_select-setting-for-the-VEC-encoder.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-From 3b162fdf85d89829d58bbee2d7d79987aceaa595 Mon Sep 17 00:00:00 2001
-From: Boris Brezillon <boris.brezillon at free-electrons.com>
-Date: Fri, 2 Dec 2016 14:48:07 +0100
-Subject: [PATCH] drm/vc4: Fix ->clock_select setting for the VEC encoder
-
-PV_CONTROL_CLK_SELECT_VEC is actually 2 and not 0. Fix the definition and
-rework the vc4_set_crtc_possible_masks() to cover the full range of the
-PV_CONTROL_CLK_SELECT field.
-
-Signed-off-by: Boris Brezillon <boris.brezillon at free-electrons.com>
-Signed-off-by: Eric Anholt <eric at anholt.net>
-(cherry picked from commit ab8df60e3a3b68420d0d4477c5f07c00fbfb078b)
----
- drivers/gpu/drm/vc4/vc4_crtc.c | 38 +++++++++++++++++++++++---------------
- drivers/gpu/drm/vc4/vc4_drv.h  |  1 +
- drivers/gpu/drm/vc4/vc4_regs.h |  3 ++-
- 3 files changed, 26 insertions(+), 16 deletions(-)
-
---- a/drivers/gpu/drm/vc4/vc4_crtc.c
-+++ b/drivers/gpu/drm/vc4/vc4_crtc.c
-@@ -83,8 +83,7 @@ struct vc4_crtc_data {
- 	/* Which channel of the HVS this pixelvalve sources from. */
- 	int hvs_channel;
- 
--	enum vc4_encoder_type encoder0_type;
--	enum vc4_encoder_type encoder1_type;
-+	enum vc4_encoder_type encoder_types[4];
- };
- 
- #define CRTC_WRITE(offset, val) writel(val, vc4_crtc->regs + (offset))
-@@ -880,20 +879,26 @@ static const struct drm_crtc_helper_func
- 
- static const struct vc4_crtc_data pv0_data = {
- 	.hvs_channel = 0,
--	.encoder0_type = VC4_ENCODER_TYPE_DSI0,
--	.encoder1_type = VC4_ENCODER_TYPE_DPI,
-+	.encoder_types = {
-+		[PV_CONTROL_CLK_SELECT_DSI] = VC4_ENCODER_TYPE_DSI0,
-+		[PV_CONTROL_CLK_SELECT_DPI_SMI_HDMI] = VC4_ENCODER_TYPE_DPI,
-+	},
- };
- 
- static const struct vc4_crtc_data pv1_data = {
- 	.hvs_channel = 2,
--	.encoder0_type = VC4_ENCODER_TYPE_DSI1,
--	.encoder1_type = VC4_ENCODER_TYPE_SMI,
-+	.encoder_types = {
-+		[PV_CONTROL_CLK_SELECT_DSI] = VC4_ENCODER_TYPE_DSI1,
-+		[PV_CONTROL_CLK_SELECT_DPI_SMI_HDMI] = VC4_ENCODER_TYPE_SMI,
-+	},
- };
- 
- static const struct vc4_crtc_data pv2_data = {
- 	.hvs_channel = 1,
--	.encoder0_type = VC4_ENCODER_TYPE_VEC,
--	.encoder1_type = VC4_ENCODER_TYPE_HDMI,
-+	.encoder_types = {
-+		[PV_CONTROL_CLK_SELECT_DPI_SMI_HDMI] = VC4_ENCODER_TYPE_HDMI,
-+		[PV_CONTROL_CLK_SELECT_VEC] = VC4_ENCODER_TYPE_VEC,
-+	},
- };
- 
- static const struct of_device_id vc4_crtc_dt_match[] = {
-@@ -907,17 +912,20 @@ static void vc4_set_crtc_possible_masks(
- 					struct drm_crtc *crtc)
- {
- 	struct vc4_crtc *vc4_crtc = to_vc4_crtc(crtc);
-+	const struct vc4_crtc_data *crtc_data = vc4_crtc->data;
-+	const enum vc4_encoder_type *encoder_types = crtc_data->encoder_types;
- 	struct drm_encoder *encoder;
- 
- 	drm_for_each_encoder(encoder, drm) {
- 		struct vc4_encoder *vc4_encoder = to_vc4_encoder(encoder);
-+		int i;
- 
--		if (vc4_encoder->type == vc4_crtc->data->encoder0_type) {
--			vc4_encoder->clock_select = 0;
--			encoder->possible_crtcs |= drm_crtc_mask(crtc);
--		} else if (vc4_encoder->type == vc4_crtc->data->encoder1_type) {
--			vc4_encoder->clock_select = 1;
--			encoder->possible_crtcs |= drm_crtc_mask(crtc);
-+		for (i = 0; i < ARRAY_SIZE(crtc_data->encoder_types); i++) {
-+			if (vc4_encoder->type == encoder_types[i]) {
-+				vc4_encoder->clock_select = i;
-+				encoder->possible_crtcs |= drm_crtc_mask(crtc);
-+				break;
-+			}
- 		}
- 	}
- }
---- a/drivers/gpu/drm/vc4/vc4_drv.h
-+++ b/drivers/gpu/drm/vc4/vc4_drv.h
-@@ -197,6 +197,7 @@ to_vc4_plane(struct drm_plane *plane)
- }
- 
- enum vc4_encoder_type {
-+	VC4_ENCODER_TYPE_NONE,
- 	VC4_ENCODER_TYPE_HDMI,
- 	VC4_ENCODER_TYPE_VEC,
- 	VC4_ENCODER_TYPE_DSI0,
---- a/drivers/gpu/drm/vc4/vc4_regs.h
-+++ b/drivers/gpu/drm/vc4/vc4_regs.h
-@@ -177,8 +177,9 @@
- # define PV_CONTROL_WAIT_HSTART			BIT(12)
- # define PV_CONTROL_PIXEL_REP_MASK		VC4_MASK(5, 4)
- # define PV_CONTROL_PIXEL_REP_SHIFT		4
--# define PV_CONTROL_CLK_SELECT_DSI_VEC		0
-+# define PV_CONTROL_CLK_SELECT_DSI		0
- # define PV_CONTROL_CLK_SELECT_DPI_SMI_HDMI	1
-+# define PV_CONTROL_CLK_SELECT_VEC		2
- # define PV_CONTROL_CLK_SELECT_MASK		VC4_MASK(3, 2)
- # define PV_CONTROL_CLK_SELECT_SHIFT		2
- # define PV_CONTROL_FIFO_CLR			BIT(1)
diff --git a/target/linux/cns3xxx/patches-4.9/130-Extend-PCIE_BUS_PEER2PEER-to-set-MRSS-128-to-fix-CNS3xxx-BM-DMA..patch b/target/linux/cns3xxx/patches-4.9/130-Extend-PCIE_BUS_PEER2PEER-to-set-MRSS-128-to-fix-CNS3xxx-BM-DMA..patch
index cc78cb4..aae4488 100644
--- a/target/linux/cns3xxx/patches-4.9/130-Extend-PCIE_BUS_PEER2PEER-to-set-MRSS-128-to-fix-CNS3xxx-BM-DMA..patch
+++ b/target/linux/cns3xxx/patches-4.9/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
-@@ -2002,7 +2002,8 @@ static void pcie_write_mrrs(struct pci_d
+@@ -2003,7 +2003,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.9/021-bridge-multicast-to-unicast.patch b/target/linux/generic/patches-4.9/021-bridge-multicast-to-unicast.patch
index 79a9342..d3b4a62 100644
--- a/target/linux/generic/patches-4.9/021-bridge-multicast-to-unicast.patch
+++ b/target/linux/generic/patches-4.9/021-bridge-multicast-to-unicast.patch
@@ -81,7 +81,7 @@ Signed-off-by: Linus Lüssing <linus.luessing at c0d3.blue>
  /* called under rcu_read_lock */
  void br_flood(struct net_bridge *br, struct sk_buff *skb,
  	      enum br_pkt_type pkt_type, bool local_rcv, bool local_orig)
-@@ -241,10 +264,20 @@ void br_multicast_flood(struct net_bridg
+@@ -242,10 +265,20 @@ void br_multicast_flood(struct net_bridg
  		rport = rp ? hlist_entry(rp, struct net_bridge_port, rlist) :
  			     NULL;
  
diff --git a/target/linux/generic/patches-4.9/150-bridge_allow_receiption_on_disabled_port.patch b/target/linux/generic/patches-4.9/150-bridge_allow_receiption_on_disabled_port.patch
index 062cc87..a164f6e 100644
--- a/target/linux/generic/patches-4.9/150-bridge_allow_receiption_on_disabled_port.patch
+++ b/target/linux/generic/patches-4.9/150-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
-@@ -232,7 +232,8 @@ static int br_handle_local_finish(struct
+@@ -233,7 +233,8 @@ static int br_handle_local_finish(struct
  {
  	struct net_bridge_port *p = br_port_get_rcu(skb->dev);
  
@@ -25,7 +25,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  
  	BR_INPUT_SKB_CB(skb)->brdev = p->br->dev;
  	br_pass_frame_up(skb);
-@@ -315,6 +316,15 @@ rx_handler_result_t br_handle_frame(stru
+@@ -316,6 +317,15 @@ rx_handler_result_t br_handle_frame(stru
  
  forward:
  	switch (p->state) {
diff --git a/target/linux/generic/patches-4.9/630-packet_socket_type.patch b/target/linux/generic/patches-4.9/630-packet_socket_type.patch
index ebfcb2b..4f093e4 100644
--- a/target/linux/generic/patches-4.9/630-packet_socket_type.patch
+++ b/target/linux/generic/patches-4.9/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;
  
-@@ -3230,6 +3232,7 @@ static int packet_create(struct net *net
+@@ -3234,6 +3236,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;
-@@ -3809,6 +3812,16 @@ packet_setsockopt(struct socket *sock, i
+@@ -3813,6 +3816,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;
  	}
-@@ -3861,6 +3874,13 @@ static int packet_getsockopt(struct sock
+@@ -3865,6 +3878,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.9/640-bridge-only-accept-EAP-locally.patch b/target/linux/generic/patches-4.9/640-bridge-only-accept-EAP-locally.patch
index 3202499..5fd0e56 100644
--- a/target/linux/generic/patches-4.9/640-bridge-only-accept-EAP-locally.patch
+++ b/target/linux/generic/patches-4.9/640-bridge-only-accept-EAP-locally.patch
@@ -8,7 +8,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
 ---
 --- a/net/bridge/br_input.c
 +++ b/net/bridge/br_input.c
-@@ -163,11 +163,14 @@ int br_handle_frame_finish(struct net *n
+@@ -164,11 +164,14 @@ int br_handle_frame_finish(struct net *n
  		}
  	}
  
diff --git a/target/linux/generic/patches-4.9/641-bridge_port_isolate.patch b/target/linux/generic/patches-4.9/641-bridge_port_isolate.patch
index b55fd5d..db9527d 100644
--- a/target/linux/generic/patches-4.9/641-bridge_port_isolate.patch
+++ b/target/linux/generic/patches-4.9/641-bridge_port_isolate.patch
@@ -54,7 +54,7 @@ Isolating individual bridge ports
  			continue;
 --- a/net/bridge/br_input.c
 +++ b/net/bridge/br_input.c
-@@ -174,6 +174,9 @@ int br_handle_frame_finish(struct net *n
+@@ -175,6 +175,9 @@ 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.9/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/patches-4.9/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
index 90bca02..99d029c 100644
--- a/target/linux/generic/patches-4.9/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
+++ b/target/linux/generic/patches-4.9/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
-@@ -4485,6 +4485,9 @@ static enum gro_result dev_gro_receive(s
+@@ -4512,6 +4512,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;
  
-@@ -5762,6 +5765,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -5789,6 +5792,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 *upper_priv, void *upper_info)
-@@ -5960,6 +6005,8 @@ void netdev_upper_dev_unlink(struct net_
+@@ -5987,6 +6032,8 @@ 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);
  
@@ -85,7 +85,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
  				      &changeupper_info.info);
  }
-@@ -6560,6 +6607,7 @@ int dev_set_mac_address(struct net_devic
+@@ -6587,6 +6634,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.9/721-phy_packets.patch b/target/linux/generic/patches-4.9/721-phy_packets.patch
index 46e8574..5b4ff07 100644
--- a/target/linux/generic/patches-4.9/721-phy_packets.patch
+++ b/target/linux/generic/patches-4.9/721-phy_packets.patch
@@ -86,7 +86,7 @@
  	help
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -2904,10 +2904,20 @@ static int xmit_one(struct sk_buff *skb,
+@@ -2931,10 +2931,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.9/810-pci_disable_common_quirks.patch b/target/linux/generic/patches-4.9/810-pci_disable_common_quirks.patch
index 617bb24..99ffb5e 100644
--- a/target/linux/generic/patches-4.9/810-pci_disable_common_quirks.patch
+++ b/target/linux/generic/patches-4.9/810-pci_disable_common_quirks.patch
@@ -23,7 +23,7 @@
  /* The Mellanox Tavor device gives false positive parity errors
   * Mark this device with a broken_parity_status, to allow
   * PCI scanning code to "skip" this now blacklisted device.
-@@ -3015,6 +3016,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
+@@ -3016,6 +3017,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata);
  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata);
  
@@ -31,7 +31,7 @@
  
  /*
   * Ivytown NTB BAR sizes are misreported by the hardware due to an erratum.  To
-@@ -3071,6 +3073,8 @@ static void fixup_debug_report(struct pc
+@@ -3072,6 +3074,8 @@ static void fixup_debug_report(struct pc
  	}
  }
  
@@ -40,7 +40,7 @@
  /*
   * Some BIOS implementations leave the Intel GPU interrupts enabled,
   * even though no one is handling them (f.e. i915 driver is never loaded).
-@@ -3105,6 +3109,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
+@@ -3106,6 +3110,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);
  
diff --git a/target/linux/ipq806x/patches-4.9/0046-cpufreq-qcom-independent-core-clocks.patch b/target/linux/ipq806x/patches-4.9/0046-cpufreq-qcom-independent-core-clocks.patch
index 1ee8ef5..8d2861c 100644
--- a/target/linux/ipq806x/patches-4.9/0046-cpufreq-qcom-independent-core-clocks.patch
+++ b/target/linux/ipq806x/patches-4.9/0046-cpufreq-qcom-independent-core-clocks.patch
@@ -54,4 +54,3 @@ Signed-off-by: Hannu Nyman <hannu.nyman at iki.fi>
  
  static void __init get_krait_bin_format_a(int *speed, int *pvs, int *pvs_ver)
  {
-
diff --git a/target/linux/ipq806x/patches-4.9/0054-cpufreq-dt-Handle-OPP-voltage-adjust-events.patch b/target/linux/ipq806x/patches-4.9/0054-cpufreq-dt-Handle-OPP-voltage-adjust-events.patch
index 8c1b75a..7cd6c6b 100644
--- a/target/linux/ipq806x/patches-4.9/0054-cpufreq-dt-Handle-OPP-voltage-adjust-events.patch
+++ b/target/linux/ipq806x/patches-4.9/0054-cpufreq-dt-Handle-OPP-voltage-adjust-events.patch
@@ -102,7 +102,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov at linaro.org>
  
  	cpu_dev = get_cpu_device(policy->cpu);
  	if (!cpu_dev) {
-@@ -239,13 +283,29 @@ static int cpufreq_init(struct cpufreq_p
+@@ -242,13 +286,29 @@ static int cpufreq_init(struct cpufreq_p
  		goto out_free_opp;
  	}
  
@@ -133,7 +133,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov at linaro.org>
  	}
  
  	priv->cpu_dev = cpu_dev;
-@@ -284,6 +344,8 @@ static int cpufreq_init(struct cpufreq_p
+@@ -287,6 +347,8 @@ static int cpufreq_init(struct cpufreq_p
  
  out_free_cpufreq_table:
  	dev_pm_opp_free_cpufreq_table(cpu_dev, &freq_table);
diff --git a/target/linux/ipq806x/patches-4.9/0055-cpufreq-dt-Add-L2-frequency-scaling-support.patch b/target/linux/ipq806x/patches-4.9/0055-cpufreq-dt-Add-L2-frequency-scaling-support.patch
index e2d6233..e0ae1f0 100644
--- a/target/linux/ipq806x/patches-4.9/0055-cpufreq-dt-Add-L2-frequency-scaling-support.patch
+++ b/target/linux/ipq806x/patches-4.9/0055-cpufreq-dt-Add-L2-frequency-scaling-support.patch
@@ -63,7 +63,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov at linaro.org>
  
  	cpu_dev = get_cpu_device(policy->cpu);
  	if (!cpu_dev) {
-@@ -318,6 +350,13 @@ static int cpufreq_init(struct cpufreq_p
+@@ -321,6 +353,13 @@ static int cpufreq_init(struct cpufreq_p
  		policy->suspend_freq = dev_pm_opp_get_freq(suspend_opp) / 1000;
  	rcu_read_unlock();
  
diff --git a/target/linux/lantiq/patches-4.9/0026-NET-multi-phy-support.patch b/target/linux/lantiq/patches-4.9/0026-NET-multi-phy-support.patch
index b99670f..a25e87a 100644
--- a/target/linux/lantiq/patches-4.9/0026-NET-multi-phy-support.patch
+++ b/target/linux/lantiq/patches-4.9/0026-NET-multi-phy-support.patch
@@ -11,7 +11,7 @@ Signed-off-by: John Crispin <blogic at openwrt.org>
 
 --- a/drivers/net/phy/phy.c
 +++ b/drivers/net/phy/phy.c
-@@ -996,7 +996,8 @@ void phy_state_machine(struct work_struc
+@@ -1000,7 +1000,8 @@ void phy_state_machine(struct work_struc
  		/* If the link is down, give up on negotiation for now */
  		if (!phydev->link) {
  			phydev->state = PHY_NOLINK;
@@ -21,7 +21,7 @@ Signed-off-by: John Crispin <blogic at openwrt.org>
  			phydev->adjust_link(phydev->attached_dev);
  			break;
  		}
-@@ -1079,7 +1080,8 @@ void phy_state_machine(struct work_struc
+@@ -1083,7 +1084,8 @@ void phy_state_machine(struct work_struc
  			netif_carrier_on(phydev->attached_dev);
  		} else {
  			phydev->state = PHY_NOLINK;
@@ -31,7 +31,7 @@ Signed-off-by: John Crispin <blogic at openwrt.org>
  		}
  
  		phydev->adjust_link(phydev->attached_dev);
-@@ -1091,7 +1093,8 @@ void phy_state_machine(struct work_struc
+@@ -1095,7 +1097,8 @@ void phy_state_machine(struct work_struc
  	case PHY_HALTED:
  		if (phydev->link) {
  			phydev->link = 0;
diff --git a/target/linux/mediatek/patches-4.9/0001-NET-multi-phy-support.patch b/target/linux/mediatek/patches-4.9/0001-NET-multi-phy-support.patch
index 91d8792..92ff5eb 100644
--- a/target/linux/mediatek/patches-4.9/0001-NET-multi-phy-support.patch
+++ b/target/linux/mediatek/patches-4.9/0001-NET-multi-phy-support.patch
@@ -11,7 +11,7 @@ Signed-off-by: John Crispin <blogic at openwrt.org>
 
 --- a/drivers/net/phy/phy.c
 +++ b/drivers/net/phy/phy.c
-@@ -996,7 +996,8 @@ void phy_state_machine(struct work_struc
+@@ -1000,7 +1000,8 @@ void phy_state_machine(struct work_struc
  		/* If the link is down, give up on negotiation for now */
  		if (!phydev->link) {
  			phydev->state = PHY_NOLINK;
@@ -21,7 +21,7 @@ Signed-off-by: John Crispin <blogic at openwrt.org>
  			phydev->adjust_link(phydev->attached_dev);
  			break;
  		}
-@@ -1079,7 +1080,8 @@ void phy_state_machine(struct work_struc
+@@ -1083,7 +1084,8 @@ void phy_state_machine(struct work_struc
  			netif_carrier_on(phydev->attached_dev);
  		} else {
  			phydev->state = PHY_NOLINK;
@@ -31,7 +31,7 @@ Signed-off-by: John Crispin <blogic at openwrt.org>
  		}
  
  		phydev->adjust_link(phydev->attached_dev);
-@@ -1091,7 +1093,8 @@ void phy_state_machine(struct work_struc
+@@ -1095,7 +1097,8 @@ void phy_state_machine(struct work_struc
  	case PHY_HALTED:
  		if (phydev->link) {
  			phydev->link = 0;
diff --git a/target/linux/mvebu/patches-4.9/400-phy-provide-a-hook-for-link-up-link-down-events.patch b/target/linux/mvebu/patches-4.9/400-phy-provide-a-hook-for-link-up-link-down-events.patch
index 3e30d49..1f57cde 100644
--- a/target/linux/mvebu/patches-4.9/400-phy-provide-a-hook-for-link-up-link-down-events.patch
+++ b/target/linux/mvebu/patches-4.9/400-phy-provide-a-hook-for-link-up-link-down-events.patch
@@ -16,7 +16,7 @@ Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>
 
 --- a/drivers/net/phy/phy.c
 +++ b/drivers/net/phy/phy.c
-@@ -955,6 +955,16 @@ void phy_start(struct phy_device *phydev
+@@ -959,6 +959,16 @@ void phy_start(struct phy_device *phydev
  }
  EXPORT_SYMBOL(phy_start);
  
@@ -33,7 +33,7 @@ Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>
  /**
   * phy_state_machine - Handle the state machine
   * @work: work_struct that describes the work to be done
-@@ -996,8 +1006,7 @@ void phy_state_machine(struct work_struc
+@@ -1000,8 +1010,7 @@ void phy_state_machine(struct work_struc
  		/* If the link is down, give up on negotiation for now */
  		if (!phydev->link) {
  			phydev->state = PHY_NOLINK;
@@ -43,7 +43,7 @@ Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>
  			break;
  		}
  
-@@ -1009,9 +1018,7 @@ void phy_state_machine(struct work_struc
+@@ -1013,9 +1022,7 @@ void phy_state_machine(struct work_struc
  		/* If AN is done, we're running */
  		if (err > 0) {
  			phydev->state = PHY_RUNNING;
@@ -54,7 +54,7 @@ Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>
  		} else if (0 == phydev->link_timeout--)
  			needs_aneg = true;
  		break;
-@@ -1036,8 +1043,7 @@ void phy_state_machine(struct work_struc
+@@ -1040,8 +1047,7 @@ void phy_state_machine(struct work_struc
  				}
  			}
  			phydev->state = PHY_RUNNING;
@@ -64,7 +64,7 @@ Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>
  		}
  		break;
  	case PHY_FORCING:
-@@ -1047,13 +1053,12 @@ void phy_state_machine(struct work_struc
+@@ -1051,13 +1057,12 @@ void phy_state_machine(struct work_struc
  
  		if (phydev->link) {
  			phydev->state = PHY_RUNNING;
@@ -80,7 +80,7 @@ Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>
  		break;
  	case PHY_RUNNING:
  		/* Only register a CHANGE if we are polling and link changed
-@@ -1076,14 +1081,12 @@ void phy_state_machine(struct work_struc
+@@ -1080,14 +1085,12 @@ void phy_state_machine(struct work_struc
  
  		if (phydev->link) {
  			phydev->state = PHY_RUNNING;
@@ -97,7 +97,7 @@ Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>
  		if (phy_interrupt_is_valid(phydev))
  			err = phy_config_interrupt(phydev,
  						   PHY_INTERRUPT_ENABLED);
-@@ -1091,8 +1094,7 @@ void phy_state_machine(struct work_struc
+@@ -1095,8 +1098,7 @@ void phy_state_machine(struct work_struc
  	case PHY_HALTED:
  		if (phydev->link) {
  			phydev->link = 0;
@@ -107,7 +107,7 @@ Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>
  			do_suspend = true;
  		}
  		break;
-@@ -1112,11 +1114,11 @@ void phy_state_machine(struct work_struc
+@@ -1116,11 +1118,11 @@ void phy_state_machine(struct work_struc
  
  				if (phydev->link) {
  					phydev->state = PHY_RUNNING;
@@ -121,7 +121,7 @@ Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>
  			} else {
  				phydev->state = PHY_AN;
  				phydev->link_timeout = PHY_AN_TIMEOUT;
-@@ -1128,11 +1130,11 @@ void phy_state_machine(struct work_struc
+@@ -1132,11 +1134,11 @@ void phy_state_machine(struct work_struc
  
  			if (phydev->link) {
  				phydev->state = PHY_RUNNING;
diff --git a/target/linux/mvebu/patches-4.9/401-net-phy-move-phy-MMD-accessors-to-phy-core.c.patch b/target/linux/mvebu/patches-4.9/401-net-phy-move-phy-MMD-accessors-to-phy-core.c.patch
index 970aec1..40d0afd 100644
--- a/target/linux/mvebu/patches-4.9/401-net-phy-move-phy-MMD-accessors-to-phy-core.c.patch
+++ b/target/linux/mvebu/patches-4.9/401-net-phy-move-phy-MMD-accessors-to-phy-core.c.patch
@@ -24,7 +24,7 @@ Signed-off-by: Russell King <rmk+kernel at armlinux.org.uk>
  obj-$(CONFIG_MDIO_BOARDINFO)	+= mdio-boardinfo.o
 --- a/drivers/net/phy/phy.c
 +++ b/drivers/net/phy/phy.c
-@@ -1171,91 +1171,6 @@ void phy_mac_interrupt(struct phy_device
+@@ -1175,91 +1175,6 @@ void phy_mac_interrupt(struct phy_device
  }
  EXPORT_SYMBOL(phy_mac_interrupt);
  
diff --git a/target/linux/mvebu/patches-4.9/403-net-phy-avoid-setting-unsupported-EEE-advertisments.patch b/target/linux/mvebu/patches-4.9/403-net-phy-avoid-setting-unsupported-EEE-advertisments.patch
index 3547900..421a308 100644
--- a/target/linux/mvebu/patches-4.9/403-net-phy-avoid-setting-unsupported-EEE-advertisments.patch
+++ b/target/linux/mvebu/patches-4.9/403-net-phy-avoid-setting-unsupported-EEE-advertisments.patch
@@ -30,7 +30,7 @@ Signed-off-by: Russell King <rmk+kernel at armlinux.org.uk>
 
 --- a/drivers/net/phy/phy.c
 +++ b/drivers/net/phy/phy.c
-@@ -1307,11 +1307,16 @@ EXPORT_SYMBOL(phy_ethtool_get_eee);
+@@ -1311,11 +1311,16 @@ EXPORT_SYMBOL(phy_ethtool_get_eee);
   */
  int phy_ethtool_set_eee(struct phy_device *phydev, struct ethtool_eee *data)
  {
diff --git a/target/linux/mvebu/patches-4.9/404-net-phy-restart-phy-autonegotiation-after-EEE-advert.patch b/target/linux/mvebu/patches-4.9/404-net-phy-restart-phy-autonegotiation-after-EEE-advert.patch
index 5290e71..7c25c24 100644
--- a/target/linux/mvebu/patches-4.9/404-net-phy-restart-phy-autonegotiation-after-EEE-advert.patch
+++ b/target/linux/mvebu/patches-4.9/404-net-phy-restart-phy-autonegotiation-after-EEE-advert.patch
@@ -12,7 +12,7 @@ Signed-off-by: Russell King <rmk+kernel at armlinux.org.uk>
 
 --- a/drivers/net/phy/phy.c
 +++ b/drivers/net/phy/phy.c
-@@ -1307,16 +1307,33 @@ EXPORT_SYMBOL(phy_ethtool_get_eee);
+@@ -1311,16 +1311,33 @@ EXPORT_SYMBOL(phy_ethtool_get_eee);
   */
  int phy_ethtool_set_eee(struct phy_device *phydev, struct ethtool_eee *data)
  {
diff --git a/target/linux/mvebu/patches-4.9/405-net-phy-allow-EEE-with-SGMII-interface-modes.patch b/target/linux/mvebu/patches-4.9/405-net-phy-allow-EEE-with-SGMII-interface-modes.patch
index db7b004..51d6259 100644
--- a/target/linux/mvebu/patches-4.9/405-net-phy-allow-EEE-with-SGMII-interface-modes.patch
+++ b/target/linux/mvebu/patches-4.9/405-net-phy-allow-EEE-with-SGMII-interface-modes.patch
@@ -11,7 +11,7 @@ Signed-off-by: Russell King <rmk+kernel at armlinux.org.uk>
 
 --- a/drivers/net/phy/phy.c
 +++ b/drivers/net/phy/phy.c
-@@ -1191,6 +1191,7 @@ int phy_init_eee(struct phy_device *phyd
+@@ -1195,6 +1195,7 @@ int phy_init_eee(struct phy_device *phyd
  	if ((phydev->duplex == DUPLEX_FULL) &&
  	    ((phydev->interface == PHY_INTERFACE_MODE_MII) ||
  	    (phydev->interface == PHY_INTERFACE_MODE_GMII) ||
diff --git a/target/linux/mvebu/patches-4.9/408-net-phy-hook-up-clause-45-autonegotiation-restart.patch b/target/linux/mvebu/patches-4.9/408-net-phy-hook-up-clause-45-autonegotiation-restart.patch
index 7a16bd5..d3ee118 100644
--- a/target/linux/mvebu/patches-4.9/408-net-phy-hook-up-clause-45-autonegotiation-restart.patch
+++ b/target/linux/mvebu/patches-4.9/408-net-phy-hook-up-clause-45-autonegotiation-restart.patch
@@ -37,7 +37,7 @@ Signed-off-by: Russell King <rmk+kernel at armlinux.org.uk>
  
  /**
   * phy_aneg_done - return auto-negotiation status
-@@ -1403,3 +1421,14 @@ int phy_ethtool_set_link_ksettings(struc
+@@ -1407,3 +1425,14 @@ int phy_ethtool_set_link_ksettings(struc
  	return phy_ethtool_ksettings_set(phydev, cmd);
  }
  EXPORT_SYMBOL(phy_ethtool_set_link_ksettings);
diff --git a/target/linux/pistachio/patches-4.9/001-MIPS-DTS-Add-base-device-tree-for-Pistachio-SoC.patch b/target/linux/pistachio/patches-4.9/001-MIPS-DTS-Add-base-device-tree-for-Pistachio-SoC.patch
index 54d7f86..35aa553 100644
--- a/target/linux/pistachio/patches-4.9/001-MIPS-DTS-Add-base-device-tree-for-Pistachio-SoC.patch
+++ b/target/linux/pistachio/patches-4.9/001-MIPS-DTS-Add-base-device-tree-for-Pistachio-SoC.patch
@@ -43,8 +43,6 @@ Signed-off-by: Ralf Baechle <ralf at linux-mips.org>
  2 files changed, 925 insertions(+), 1 deletion(-)
  create mode 100644 arch/mips/boot/dts/img/pistachio.dtsi
 
-diff --git a/MAINTAINERS b/MAINTAINERS
-index 63cefa6..f0037c7 100644
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
 @@ -9569,7 +9569,7 @@ L:      linux-mips at linux-mips.org
@@ -56,9 +54,6 @@ index 63cefa6..f0037c7 100644
  F:      arch/mips/configs/pistachio*_defconfig
  
  PKTCDVD DRIVER
-diff --git a/arch/mips/boot/dts/img/pistachio.dtsi b/arch/mips/boot/dts/img/pistachio.dtsi
-new file mode 100644
-index 0000000..57809f6
 --- /dev/null
 +++ b/arch/mips/boot/dts/img/pistachio.dtsi
 @@ -0,0 +1,924 @@
@@ -986,6 +981,3 @@ index 0000000..57809f6
 +		clock-output-names = "xtal";
 +	};
 +};
--- 
-2.7.4
-
diff --git a/target/linux/pistachio/patches-4.9/002-MIPS-DTS-img-add-device-tree-for-Marduk-board.patch b/target/linux/pistachio/patches-4.9/002-MIPS-DTS-img-add-device-tree-for-Marduk-board.patch
index 2682ac2..a922ad6 100644
--- a/target/linux/pistachio/patches-4.9/002-MIPS-DTS-img-add-device-tree-for-Marduk-board.patch
+++ b/target/linux/pistachio/patches-4.9/002-MIPS-DTS-img-add-device-tree-for-Marduk-board.patch
@@ -37,9 +37,6 @@ Acked-by: James Hartley <james.hartley at imgtec.com>
  create mode 100644 arch/mips/boot/dts/img/Makefile
  create mode 100644 arch/mips/boot/dts/img/pistachio_marduk.dts
 
-diff --git a/Documentation/devicetree/bindings/mips/img/pistachio-marduk.txt b/Documentation/devicetree/bindings/mips/img/pistachio-marduk.txt
-new file mode 100644
-index 0000000..2d5126d
 --- /dev/null
 +++ b/Documentation/devicetree/bindings/mips/img/pistachio-marduk.txt
 @@ -0,0 +1,10 @@
@@ -53,9 +50,6 @@ index 0000000..2d5126d
 +
 +It is also known as Creator Ci40. Marduk is legacy name and will
 +be there for decades.
-diff --git a/arch/mips/boot/dts/img/Makefile b/arch/mips/boot/dts/img/Makefile
-new file mode 100644
-index 0000000..69a65f0
 --- /dev/null
 +++ b/arch/mips/boot/dts/img/Makefile
 @@ -0,0 +1,9 @@
@@ -68,9 +62,6 @@ index 0000000..69a65f0
 +
 +always				:= $(dtb-y)
 +clean-files			:= *.dtb *.dtb.S
-diff --git a/arch/mips/boot/dts/img/pistachio_marduk.dts b/arch/mips/boot/dts/img/pistachio_marduk.dts
-new file mode 100644
-index 0000000..cf9cebd
 --- /dev/null
 +++ b/arch/mips/boot/dts/img/pistachio_marduk.dts
 @@ -0,0 +1,163 @@
@@ -237,6 +228,3 @@ index 0000000..cf9cebd
 +	status = "okay";
 +	clock-frequency = <400000>;
 +};
--- 
-2.7.4
-
diff --git a/target/linux/pistachio/patches-4.9/003-MIPS-DTS-add-img-directory-to-Makefile.patch b/target/linux/pistachio/patches-4.9/003-MIPS-DTS-add-img-directory-to-Makefile.patch
index 7d06f6f..aaeccab 100644
--- a/target/linux/pistachio/patches-4.9/003-MIPS-DTS-add-img-directory-to-Makefile.patch
+++ b/target/linux/pistachio/patches-4.9/003-MIPS-DTS-add-img-directory-to-Makefile.patch
@@ -11,8 +11,6 @@ Signed-off-by: Ian Pozella <Ian.Pozella at imgtec.com>
  arch/mips/boot/dts/Makefile | 1 +
  1 file changed, 1 insertion(+)
 
-diff --git a/arch/mips/boot/dts/Makefile b/arch/mips/boot/dts/Makefile
-index fc7a0a9..b9db492 100644
 --- a/arch/mips/boot/dts/Makefile
 +++ b/arch/mips/boot/dts/Makefile
 @@ -1,5 +1,6 @@
@@ -22,6 +20,3 @@ index fc7a0a9..b9db492 100644
  dts-dirs	+= ingenic
  dts-dirs	+= lantiq
  dts-dirs	+= mti
--- 
-2.7.4
-
diff --git a/target/linux/pistachio/patches-4.9/101-dmaengine-img-mdc-Handle-early-status-read.patch b/target/linux/pistachio/patches-4.9/101-dmaengine-img-mdc-Handle-early-status-read.patch
index 8d62699..3389182 100644
--- a/target/linux/pistachio/patches-4.9/101-dmaengine-img-mdc-Handle-early-status-read.patch
+++ b/target/linux/pistachio/patches-4.9/101-dmaengine-img-mdc-Handle-early-status-read.patch
@@ -14,11 +14,9 @@ Signed-off-by: Damien Horsley <damien.horsley at imgtec.com>
  drivers/dma/img-mdc-dma.c | 40 ++++++++++++++++++++++++----------------
  1 file changed, 24 insertions(+), 16 deletions(-)
 
-diff --git a/drivers/dma/img-mdc-dma.c b/drivers/dma/img-mdc-dma.c
-index 624f1e1..0216e2c 100644
 --- a/drivers/dma/img-mdc-dma.c
 +++ b/drivers/dma/img-mdc-dma.c
-@@ -623,25 +623,33 @@ static enum dma_status mdc_tx_status(struct dma_chan *chan,
+@@ -623,25 +623,33 @@ static enum dma_status mdc_tx_status(str
  			(MDC_CMDS_PROCESSED_CMDS_DONE_MASK + 1);
  
  		/*
@@ -68,6 +66,3 @@ index 624f1e1..0216e2c 100644
  		}
  	}
  	spin_unlock_irqrestore(&mchan->vc.lock, flags);
--- 
-2.7.4
-
diff --git a/target/linux/pistachio/patches-4.9/102-spi-img-spfi-Implement-dual-and-quad-mode.patch b/target/linux/pistachio/patches-4.9/102-spi-img-spfi-Implement-dual-and-quad-mode.patch
index ee768c4..15a5d3c 100644
--- a/target/linux/pistachio/patches-4.9/102-spi-img-spfi-Implement-dual-and-quad-mode.patch
+++ b/target/linux/pistachio/patches-4.9/102-spi-img-spfi-Implement-dual-and-quad-mode.patch
@@ -26,8 +26,6 @@ Signed-off-by: Ezequiel Garcia <ezequiel.garcia at imgtec.com>
  drivers/spi/spi-img-spfi.c | 96 ++++++++++++++++++++++++++++++++++++++++------
  1 file changed, 85 insertions(+), 11 deletions(-)
 
-diff --git a/drivers/spi/spi-img-spfi.c b/drivers/spi/spi-img-spfi.c
-index 7a37090..c845a50 100644
 --- a/drivers/spi/spi-img-spfi.c
 +++ b/drivers/spi/spi-img-spfi.c
 @@ -40,7 +40,8 @@
@@ -68,7 +66,7 @@ index 7a37090..c845a50 100644
  };
  
  struct img_spfi_device_data {
-@@ -123,9 +131,11 @@ static inline void spfi_start(struct img_spfi *spfi)
+@@ -123,9 +131,11 @@ static inline void spfi_start(struct img
  {
  	u32 val;
  
@@ -83,7 +81,7 @@ index 7a37090..c845a50 100644
  }
  
  static inline void spfi_reset(struct img_spfi *spfi)
-@@ -138,12 +148,21 @@ static int spfi_wait_all_done(struct img_spfi *spfi)
+@@ -138,12 +148,21 @@ static int spfi_wait_all_done(struct img
  {
  	unsigned long timeout = jiffies + msecs_to_jiffies(50);
  
@@ -105,7 +103,7 @@ index 7a37090..c845a50 100644
  			return 0;
  		}
  		cpu_relax();
-@@ -494,9 +513,32 @@ static void img_spfi_config(struct spi_master *master, struct spi_device *spi,
+@@ -494,9 +513,32 @@ static void img_spfi_config(struct spi_m
  			    struct spi_transfer *xfer)
  {
  	struct img_spfi *spfi = spi_master_get_devdata(spi->master);
@@ -139,7 +137,7 @@ index 7a37090..c845a50 100644
  	 * output = spfi_clk * (BITCLK / 512), where BITCLK must be a
  	 * power of 2 up to 128
  	 */
-@@ -509,20 +551,52 @@ static void img_spfi_config(struct spi_master *master, struct spi_device *spi,
+@@ -509,20 +551,52 @@ static void img_spfi_config(struct spi_m
  	val |= div << SPFI_DEVICE_PARAMETER_BITCLK_SHIFT;
  	spfi_writel(spfi, val, SPFI_DEVICE_PARAMETER(spi->chip_select));
  
@@ -198,6 +196,3 @@ index 7a37090..c845a50 100644
  		 xfer->rx_nbits == SPI_NBITS_QUAD)
  		val |= SPFI_CONTROL_TMODE_QUAD << SPFI_CONTROL_TMODE_SHIFT;
  	val |= SPFI_CONTROL_SE;
--- 
-2.7.4
-
diff --git a/target/linux/pistachio/patches-4.9/103-spi-img-spfi-set-device-select-bits-for-SPFI-port-st.patch b/target/linux/pistachio/patches-4.9/103-spi-img-spfi-set-device-select-bits-for-SPFI-port-st.patch
index d5bf309..ba70348 100644
--- a/target/linux/pistachio/patches-4.9/103-spi-img-spfi-set-device-select-bits-for-SPFI-port-st.patch
+++ b/target/linux/pistachio/patches-4.9/103-spi-img-spfi-set-device-select-bits-for-SPFI-port-st.patch
@@ -13,11 +13,9 @@ Signed-off-by: Ionela Voinescu <ionela.voinescu at imgtec.com>
  drivers/spi/spi-img-spfi.c | 3 +++
  1 file changed, 3 insertions(+)
 
-diff --git a/drivers/spi/spi-img-spfi.c b/drivers/spi/spi-img-spfi.c
-index c845a50..0d73d31 100644
 --- a/drivers/spi/spi-img-spfi.c
 +++ b/drivers/spi/spi-img-spfi.c
-@@ -438,6 +438,9 @@ static int img_spfi_prepare(struct spi_master *master, struct spi_message *msg)
+@@ -438,6 +438,9 @@ static int img_spfi_prepare(struct spi_m
  	u32 val;
  
  	val = spfi_readl(spfi, SPFI_PORT_STATE);
@@ -27,6 +25,3 @@ index c845a50..0d73d31 100644
  	if (msg->spi->mode & SPI_CPHA)
  		val |= SPFI_PORT_STATE_CK_PHASE(msg->spi->chip_select);
  	else
--- 
-2.7.4
-
diff --git a/target/linux/pistachio/patches-4.9/104-spi-img-spfi-use-device-0-configuration-for-all-devi.patch b/target/linux/pistachio/patches-4.9/104-spi-img-spfi-use-device-0-configuration-for-all-devi.patch
index 01143e2..6c9e6b5 100644
--- a/target/linux/pistachio/patches-4.9/104-spi-img-spfi-use-device-0-configuration-for-all-devi.patch
+++ b/target/linux/pistachio/patches-4.9/104-spi-img-spfi-use-device-0-configuration-for-all-devi.patch
@@ -13,11 +13,9 @@ Signed-off-by: Ionela Voinescu <ionela.voinescu at imgtec.com>
  drivers/spi/spi-img-spfi.c | 23 ++++++++++++++++-------
  1 file changed, 16 insertions(+), 7 deletions(-)
 
-diff --git a/drivers/spi/spi-img-spfi.c b/drivers/spi/spi-img-spfi.c
-index 0d73d31..231b59c 100644
 --- a/drivers/spi/spi-img-spfi.c
 +++ b/drivers/spi/spi-img-spfi.c
-@@ -437,18 +437,23 @@ static int img_spfi_prepare(struct spi_master *master, struct spi_message *msg)
+@@ -437,18 +437,23 @@ static int img_spfi_prepare(struct spi_m
  	struct img_spfi *spfi = spi_master_get_devdata(master);
  	u32 val;
  
@@ -46,7 +44,7 @@ index 0d73d31..231b59c 100644
  	spfi_writel(spfi, val, SPFI_PORT_STATE);
  
  	return 0;
-@@ -548,11 +553,15 @@ static void img_spfi_config(struct spi_master *master, struct spi_device *spi,
+@@ -548,11 +553,15 @@ static void img_spfi_config(struct spi_m
  	div = DIV_ROUND_UP(clk_get_rate(spfi->spfi_clk), xfer->speed_hz);
  	div = clamp(512 / (1 << get_count_order(div)), 1, 128);
  
@@ -64,6 +62,3 @@ index 0d73d31..231b59c 100644
  
  	if (!list_is_last(&xfer->transfer_list, &master->cur_msg->transfers) &&
  		/*
--- 
-2.7.4
-
diff --git a/target/linux/pistachio/patches-4.9/105-spi-img-spfi-RX-maximum-burst-size-for-DMA-is-8.patch b/target/linux/pistachio/patches-4.9/105-spi-img-spfi-RX-maximum-burst-size-for-DMA-is-8.patch
index 47fcf3c..0067b0e 100644
--- a/target/linux/pistachio/patches-4.9/105-spi-img-spfi-RX-maximum-burst-size-for-DMA-is-8.patch
+++ b/target/linux/pistachio/patches-4.9/105-spi-img-spfi-RX-maximum-burst-size-for-DMA-is-8.patch
@@ -27,11 +27,9 @@ Signed-off-by: Ionela Voinescu <ionela.voinescu at imgtec.com>
  drivers/spi/spi-img-spfi.c | 6 ++----
  1 file changed, 2 insertions(+), 4 deletions(-)
 
-diff --git a/drivers/spi/spi-img-spfi.c b/drivers/spi/spi-img-spfi.c
-index 231b59c..8ad6c75 100644
 --- a/drivers/spi/spi-img-spfi.c
 +++ b/drivers/spi/spi-img-spfi.c
-@@ -346,12 +346,11 @@ static int img_spfi_start_dma(struct spi_master *master,
+@@ -346,12 +346,11 @@ static int img_spfi_start_dma(struct spi
  		if (xfer->len % 4 == 0) {
  			rxconf.src_addr = spfi->phys + SPFI_RX_32BIT_VALID_DATA;
  			rxconf.src_addr_width = 4;
@@ -45,7 +43,7 @@ index 231b59c..8ad6c75 100644
  		dmaengine_slave_config(spfi->rx_ch, &rxconf);
  
  		rxdesc = dmaengine_prep_slave_sg(spfi->rx_ch, xfer->rx_sg.sgl,
-@@ -370,12 +369,11 @@ static int img_spfi_start_dma(struct spi_master *master,
+@@ -370,12 +369,11 @@ static int img_spfi_start_dma(struct spi
  		if (xfer->len % 4 == 0) {
  			txconf.dst_addr = spfi->phys + SPFI_TX_32BIT_VALID_DATA;
  			txconf.dst_addr_width = 4;
@@ -59,6 +57,3 @@ index 231b59c..8ad6c75 100644
  		dmaengine_slave_config(spfi->tx_ch, &txconf);
  
  		txdesc = dmaengine_prep_slave_sg(spfi->tx_ch, xfer->tx_sg.sgl,
--- 
-2.7.4
-
diff --git a/target/linux/pistachio/patches-4.9/106-spi-img-spfi-finish-every-transfer-cleanly.patch b/target/linux/pistachio/patches-4.9/106-spi-img-spfi-finish-every-transfer-cleanly.patch
index f75f0fb..0f95831 100644
--- a/target/linux/pistachio/patches-4.9/106-spi-img-spfi-finish-every-transfer-cleanly.patch
+++ b/target/linux/pistachio/patches-4.9/106-spi-img-spfi-finish-every-transfer-cleanly.patch
@@ -22,8 +22,6 @@ Signed-off-by: Ionela Voinescu <ionela.voinescu at imgtec.com>
  drivers/spi/spi-img-spfi.c | 49 +++++++++++++++++++++++++++++++++-------------
  1 file changed, 35 insertions(+), 14 deletions(-)
 
-diff --git a/drivers/spi/spi-img-spfi.c b/drivers/spi/spi-img-spfi.c
-index 8ad6c75..a124423 100644
 --- a/drivers/spi/spi-img-spfi.c
 +++ b/drivers/spi/spi-img-spfi.c
 @@ -83,6 +83,14 @@
@@ -41,7 +39,7 @@ index 8ad6c75..a124423 100644
  /*
   * There are four parallel FIFOs of 16 bytes each.  The word buffer
   * (*_32BIT_VALID_DATA) accesses all four FIFOs at once, resulting in an
-@@ -144,6 +152,23 @@ static inline void spfi_reset(struct img_spfi *spfi)
+@@ -144,6 +152,23 @@ static inline void spfi_reset(struct img
  	spfi_writel(spfi, 0, SPFI_CONTROL);
  }
  
@@ -65,7 +63,7 @@ index 8ad6c75..a124423 100644
  static int spfi_wait_all_done(struct img_spfi *spfi)
  {
  	unsigned long timeout = jiffies + msecs_to_jiffies(50);
-@@ -152,19 +177,9 @@ static int spfi_wait_all_done(struct img_spfi *spfi)
+@@ -152,19 +177,9 @@ static int spfi_wait_all_done(struct img
  		return 0;
  
  	while (time_before(jiffies, timeout)) {
@@ -87,7 +85,7 @@ index 8ad6c75..a124423 100644
  		cpu_relax();
  	}
  
-@@ -296,6 +311,8 @@ static int img_spfi_start_pio(struct spi_master *master,
+@@ -296,6 +311,8 @@ static int img_spfi_start_pio(struct spi
  	}
  
  	ret = spfi_wait_all_done(spfi);
@@ -96,7 +94,7 @@ index 8ad6c75..a124423 100644
  	if (ret < 0)
  		return ret;
  
-@@ -311,8 +328,10 @@ static void img_spfi_dma_rx_cb(void *data)
+@@ -311,8 +328,10 @@ static void img_spfi_dma_rx_cb(void *dat
  
  	spin_lock_irqsave(&spfi->lock, flags);
  	spfi->rx_dma_busy = false;
@@ -108,7 +106,7 @@ index 8ad6c75..a124423 100644
  	spin_unlock_irqrestore(&spfi->lock, flags);
  }
  
-@@ -325,8 +344,10 @@ static void img_spfi_dma_tx_cb(void *data)
+@@ -325,8 +344,10 @@ static void img_spfi_dma_tx_cb(void *dat
  
  	spin_lock_irqsave(&spfi->lock, flags);
  	spfi->tx_dma_busy = false;
@@ -120,6 +118,3 @@ index 8ad6c75..a124423 100644
  	spin_unlock_irqrestore(&spfi->lock, flags);
  }
  
--- 
-2.7.4
-
diff --git a/target/linux/pistachio/patches-4.9/107-clockevents-Retry-programming-min-delta-up-to-10-tim.patch b/target/linux/pistachio/patches-4.9/107-clockevents-Retry-programming-min-delta-up-to-10-tim.patch
index 613584e..857823b 100644
--- a/target/linux/pistachio/patches-4.9/107-clockevents-Retry-programming-min-delta-up-to-10-tim.patch
+++ b/target/linux/pistachio/patches-4.9/107-clockevents-Retry-programming-min-delta-up-to-10-tim.patch
@@ -26,11 +26,9 @@ Signed-off-by: James Hogan <james.hogan at imgtec.com>
  kernel/time/clockevents.c | 26 +++++++++++++++++++-------
  1 file changed, 19 insertions(+), 7 deletions(-)
 
-diff --git a/kernel/time/clockevents.c b/kernel/time/clockevents.c
-index 2c5bc77..ddd7e82 100644
 --- a/kernel/time/clockevents.c
 +++ b/kernel/time/clockevents.c
-@@ -281,16 +281,28 @@ static int clockevents_program_min_delta(struct clock_event_device *dev)
+@@ -281,16 +281,28 @@ static int clockevents_program_min_delta
  {
  	unsigned long long clc;
  	int64_t delta;
@@ -66,6 +64,3 @@ index 2c5bc77..ddd7e82 100644
  }
  
  #endif /* CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST */
--- 
-2.7.4
-
diff --git a/target/linux/pistachio/patches-4.9/108-clk-pistachio-Fix-wrong-SDHost-card-speed.patch b/target/linux/pistachio/patches-4.9/108-clk-pistachio-Fix-wrong-SDHost-card-speed.patch
index da2a873..5329ad6 100644
--- a/target/linux/pistachio/patches-4.9/108-clk-pistachio-Fix-wrong-SDHost-card-speed.patch
+++ b/target/linux/pistachio/patches-4.9/108-clk-pistachio-Fix-wrong-SDHost-card-speed.patch
@@ -18,11 +18,9 @@ Signed-off-by: Govindraj Raja <Govindraj.Raja at imgtec.com>
  include/dt-bindings/clock/pistachio-clk.h | 1 +
  2 files changed, 3 insertions(+), 1 deletion(-)
 
-diff --git a/drivers/clk/pistachio/clk-pistachio.c b/drivers/clk/pistachio/clk-pistachio.c
-index c4ceb5e..1c968d9 100644
 --- a/drivers/clk/pistachio/clk-pistachio.c
 +++ b/drivers/clk/pistachio/clk-pistachio.c
-@@ -44,7 +44,7 @@ static struct pistachio_gate pistachio_gates[] __initdata = {
+@@ -44,7 +44,7 @@ static struct pistachio_gate pistachio_g
  	GATE(CLK_AUX_ADC_INTERNAL, "aux_adc_internal", "sys_internal_div",
  	     0x104, 22),
  	GATE(CLK_AUX_ADC, "aux_adc", "aux_adc_div", 0x104, 23),
@@ -31,7 +29,7 @@ index c4ceb5e..1c968d9 100644
  	GATE(CLK_BT, "bt", "bt_div", 0x104, 25),
  	GATE(CLK_BT_DIV4, "bt_div4", "bt_div4_div", 0x104, 26),
  	GATE(CLK_BT_DIV8, "bt_div8", "bt_div8_div", 0x104, 27),
-@@ -54,6 +54,7 @@ static struct pistachio_gate pistachio_gates[] __initdata = {
+@@ -54,6 +54,7 @@ static struct pistachio_gate pistachio_g
  static struct pistachio_fixed_factor pistachio_ffs[] __initdata = {
  	FIXED_FACTOR(CLK_WIFI_DIV4, "wifi_div4", "wifi_pll", 4),
  	FIXED_FACTOR(CLK_WIFI_DIV8, "wifi_div8", "wifi_pll", 8),
@@ -39,8 +37,6 @@ index c4ceb5e..1c968d9 100644
  };
  
  static struct pistachio_div pistachio_divs[] __initdata = {
-diff --git a/include/dt-bindings/clock/pistachio-clk.h b/include/dt-bindings/clock/pistachio-clk.h
-index 039f83f..77b92ae 100644
 --- a/include/dt-bindings/clock/pistachio-clk.h
 +++ b/include/dt-bindings/clock/pistachio-clk.h
 @@ -21,6 +21,7 @@
@@ -51,6 +47,3 @@ index 039f83f..77b92ae 100644
  
  /* Gate clocks */
  #define CLK_MIPS			32
--- 
-2.7.4
-
diff --git a/target/linux/pistachio/patches-4.9/109-MIPS-DTS-img-marduk-switch-mmc-to-1-bit-mode.patch b/target/linux/pistachio/patches-4.9/109-MIPS-DTS-img-marduk-switch-mmc-to-1-bit-mode.patch
index 141e401..22fc42b 100644
--- a/target/linux/pistachio/patches-4.9/109-MIPS-DTS-img-marduk-switch-mmc-to-1-bit-mode.patch
+++ b/target/linux/pistachio/patches-4.9/109-MIPS-DTS-img-marduk-switch-mmc-to-1-bit-mode.patch
@@ -26,8 +26,6 @@ Signed-off-by: Ian Pozella <Ian.Pozella at imgtec.com>
  arch/mips/boot/dts/img/pistachio_marduk.dts | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)
 
-diff --git a/arch/mips/boot/dts/img/pistachio_marduk.dts b/arch/mips/boot/dts/img/pistachio_marduk.dts
-index cf9cebd..7708815 100644
 --- a/arch/mips/boot/dts/img/pistachio_marduk.dts
 +++ b/arch/mips/boot/dts/img/pistachio_marduk.dts
 @@ -120,7 +120,7 @@
@@ -47,6 +45,3 @@ index cf9cebd..7708815 100644
  };
  
  &pwm {
--- 
-2.7.4
-
diff --git a/target/linux/pistachio/patches-4.9/401-mtd-nor-support-mtd-name-from-device-tree.patch b/target/linux/pistachio/patches-4.9/401-mtd-nor-support-mtd-name-from-device-tree.patch
index 0ae92f3..6e3c711 100644
--- a/target/linux/pistachio/patches-4.9/401-mtd-nor-support-mtd-name-from-device-tree.patch
+++ b/target/linux/pistachio/patches-4.9/401-mtd-nor-support-mtd-name-from-device-tree.patch
@@ -8,11 +8,9 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma at imgtec.com>
  drivers/mtd/spi-nor/spi-nor.c | 8 +++++++-
  1 file changed, 7 insertions(+), 1 deletion(-)
 
-diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
-index d0fc165..fcee697 100644
 --- a/drivers/mtd/spi-nor/spi-nor.c
 +++ b/drivers/mtd/spi-nor/spi-nor.c
-@@ -1306,6 +1306,7 @@ int spi_nor_scan(struct spi_nor *nor, const char *name, enum read_mode mode)
+@@ -1534,6 +1534,7 @@ int spi_nor_scan(struct spi_nor *nor, co
  	struct device *dev = nor->dev;
  	struct mtd_info *mtd = &nor->mtd;
  	struct device_node *np = spi_nor_get_flash_node(nor);
@@ -20,7 +18,7 @@ index d0fc165..fcee697 100644
  	int ret;
  	int i;
  
-@@ -1361,7 +1362,12 @@ int spi_nor_scan(struct spi_nor *nor, const char *name, enum read_mode mode)
+@@ -1598,7 +1599,12 @@ int spi_nor_scan(struct spi_nor *nor, co
  		spi_nor_wait_till_ready(nor);
  	}
  
@@ -34,6 +32,3 @@ index d0fc165..fcee697 100644
  		mtd->name = dev_name(dev);
  	mtd->priv = nor;
  	mtd->type = MTD_NORFLASH;
--- 
-2.7.4
-
diff --git a/target/linux/pistachio/patches-4.9/411-mtd-nand-Check-length-of-ID-before-reading-bits-per-.patch b/target/linux/pistachio/patches-4.9/411-mtd-nand-Check-length-of-ID-before-reading-bits-per-.patch
index cd2f8bb..ac5c16b 100644
--- a/target/linux/pistachio/patches-4.9/411-mtd-nand-Check-length-of-ID-before-reading-bits-per-.patch
+++ b/target/linux/pistachio/patches-4.9/411-mtd-nand-Check-length-of-ID-before-reading-bits-per-.patch
@@ -19,11 +19,9 @@ Signed-off-by: Ezequiel Garcia <ezequiel.garcia at imgtec.com>
  drivers/mtd/nand/nand_base.c | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)
 
-diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
-index 3bde96a..69b5cac 100644
 --- a/drivers/mtd/nand/nand_base.c
 +++ b/drivers/mtd/nand/nand_base.c
-@@ -3964,7 +3964,8 @@ static bool find_full_id_nand(struct mtd_info *mtd, struct nand_chip *chip,
+@@ -3964,7 +3964,8 @@ static bool find_full_id_nand(struct mtd
  		mtd->erasesize = type->erasesize;
  		mtd->oobsize = type->oobsize;
  
@@ -33,6 +31,3 @@ index 3bde96a..69b5cac 100644
  		chip->chipsize = (uint64_t)type->chipsize << 20;
  		chip->options |= type->options;
  		chip->ecc_strength_ds = NAND_ECC_STRENGTH(type);
--- 
-2.7.4
-
diff --git a/target/linux/pistachio/patches-4.9/412-mtd-nand-Add-JEDEC-manufacturer-ID-for-Gigadevice.patch b/target/linux/pistachio/patches-4.9/412-mtd-nand-Add-JEDEC-manufacturer-ID-for-Gigadevice.patch
index f8ebac5..eceb304 100644
--- a/target/linux/pistachio/patches-4.9/412-mtd-nand-Add-JEDEC-manufacturer-ID-for-Gigadevice.patch
+++ b/target/linux/pistachio/patches-4.9/412-mtd-nand-Add-JEDEC-manufacturer-ID-for-Gigadevice.patch
@@ -13,11 +13,9 @@ Signed-off-by: Ezequiel Garcia <ezequiel.garcia at imgtec.com>
  include/linux/mtd/nand.h    | 1 +
  2 files changed, 2 insertions(+)
 
-diff --git a/drivers/mtd/nand/nand_ids.c b/drivers/mtd/nand/nand_ids.c
-index 2af9869..dc80fcd 100644
 --- a/drivers/mtd/nand/nand_ids.c
 +++ b/drivers/mtd/nand/nand_ids.c
-@@ -182,6 +182,7 @@ struct nand_manufacturers nand_manuf_ids[] = {
+@@ -182,6 +182,7 @@ struct nand_manufacturers nand_manuf_ids
  	{NAND_MFR_SANDISK, "SanDisk"},
  	{NAND_MFR_INTEL, "Intel"},
  	{NAND_MFR_ATO, "ATO"},
@@ -25,11 +23,9 @@ index 2af9869..dc80fcd 100644
  	{0x0, "Unknown"}
  };
  
-diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h
-index d8905a2..3a00df7 100644
 --- a/include/linux/mtd/nand.h
 +++ b/include/linux/mtd/nand.h
-@@ -928,6 +928,7 @@ static inline void nand_set_controller_data(struct nand_chip *chip, void *priv)
+@@ -928,6 +928,7 @@ static inline void nand_set_controller_d
  #define NAND_MFR_SANDISK	0x45
  #define NAND_MFR_INTEL		0x89
  #define NAND_MFR_ATO		0x9b
@@ -37,6 +33,3 @@ index d8905a2..3a00df7 100644
  
  /* The maximum expected count of bytes in the NAND ID sequence */
  #define NAND_MAX_ID_LEN 8
--- 
-2.7.4
-
diff --git a/target/linux/pistachio/patches-4.9/413-mtd-Introduce-SPI-NAND-framework.patch b/target/linux/pistachio/patches-4.9/413-mtd-Introduce-SPI-NAND-framework.patch
index d8b2681..ab5d74a 100644
--- a/target/linux/pistachio/patches-4.9/413-mtd-Introduce-SPI-NAND-framework.patch
+++ b/target/linux/pistachio/patches-4.9/413-mtd-Introduce-SPI-NAND-framework.patch
@@ -44,11 +44,9 @@ Signed-off-by: Ian Pozella <Ian.Pozella at imgtec.com>
  create mode 100644 drivers/mtd/spi-nand/spi-nand-base.c
  create mode 100644 include/linux/mtd/spi-nand.h
 
-diff --git a/drivers/mtd/Kconfig b/drivers/mtd/Kconfig
-index e83a279..9163d7f 100644
 --- a/drivers/mtd/Kconfig
 +++ b/drivers/mtd/Kconfig
-@@ -334,6 +334,8 @@ source "drivers/mtd/onenand/Kconfig"
+@@ -369,6 +369,8 @@ source "drivers/mtd/onenand/Kconfig"
  
  source "drivers/mtd/lpddr/Kconfig"
  
@@ -57,20 +55,15 @@ index e83a279..9163d7f 100644
  source "drivers/mtd/spi-nor/Kconfig"
  
  source "drivers/mtd/ubi/Kconfig"
-diff --git a/drivers/mtd/Makefile b/drivers/mtd/Makefile
-index 99bb9a1..38a4756 100644
 --- a/drivers/mtd/Makefile
 +++ b/drivers/mtd/Makefile
-@@ -32,5 +32,6 @@ inftl-objs		:= inftlcore.o inftlmount.o
+@@ -35,5 +35,6 @@ inftl-objs		:= inftlcore.o inftlmount.o
  
  obj-y		+= chips/ lpddr/ maps/ devices/ nand/ onenand/ tests/
  
 +obj-$(CONFIG_MTD_SPI_NAND)	+= spi-nand/
  obj-$(CONFIG_MTD_SPI_NOR)	+= spi-nor/
  obj-$(CONFIG_MTD_UBI)		+= ubi/
-diff --git a/drivers/mtd/spi-nand/Kconfig b/drivers/mtd/spi-nand/Kconfig
-new file mode 100644
-index 0000000..17b31e1
 --- /dev/null
 +++ b/drivers/mtd/spi-nand/Kconfig
 @@ -0,0 +1,7 @@
@@ -81,16 +74,10 @@ index 0000000..17b31e1
 +	help
 +	  This is the framework for the SPI NAND.
 +
-diff --git a/drivers/mtd/spi-nand/Makefile b/drivers/mtd/spi-nand/Makefile
-new file mode 100644
-index 0000000..d454c52
 --- /dev/null
 +++ b/drivers/mtd/spi-nand/Makefile
 @@ -0,0 +1 @@
 +obj-$(CONFIG_MTD_SPI_NAND)		+= spi-nand-base.o
-diff --git a/drivers/mtd/spi-nand/spi-nand-base.c b/drivers/mtd/spi-nand/spi-nand-base.c
-new file mode 100644
-index 0000000..5d79f85
 --- /dev/null
 +++ b/drivers/mtd/spi-nand/spi-nand-base.c
 @@ -0,0 +1,566 @@
@@ -660,9 +647,6 @@ index 0000000..5d79f85
 +MODULE_AUTHOR("Ezequiel Garcia <ezequiel.garcia at imgtec.com>");
 +MODULE_DESCRIPTION("Framework for SPI NAND");
 +MODULE_LICENSE("GPL v2");
-diff --git a/include/linux/mtd/spi-nand.h b/include/linux/mtd/spi-nand.h
-new file mode 100644
-index 0000000..b5cc99f
 --- /dev/null
 +++ b/include/linux/mtd/spi-nand.h
 @@ -0,0 +1,54 @@
@@ -720,6 +704,3 @@ index 0000000..b5cc99f
 +void spi_nand_unregister(struct spi_nand *snand);
 +
 +#endif
--- 
-2.7.4
-
diff --git a/target/linux/pistachio/patches-4.9/414-mtd-spi-nand-Support-Gigadevice-GD5F.patch b/target/linux/pistachio/patches-4.9/414-mtd-spi-nand-Support-Gigadevice-GD5F.patch
index 34d2aab..1f14610 100644
--- a/target/linux/pistachio/patches-4.9/414-mtd-spi-nand-Support-Gigadevice-GD5F.patch
+++ b/target/linux/pistachio/patches-4.9/414-mtd-spi-nand-Support-Gigadevice-GD5F.patch
@@ -26,8 +26,6 @@ Signed-off-by: Ian Pozella <Ian.Pozella at imgtec.com>
  3 files changed, 483 insertions(+)
  create mode 100644 drivers/mtd/spi-nand/spi-nand-device.c
 
-diff --git a/drivers/mtd/spi-nand/Kconfig b/drivers/mtd/spi-nand/Kconfig
-index 17b31e1..ab6bb6c 100644
 --- a/drivers/mtd/spi-nand/Kconfig
 +++ b/drivers/mtd/spi-nand/Kconfig
 @@ -5,3 +5,13 @@ menuconfig MTD_SPI_NAND
@@ -44,16 +42,11 @@ index 17b31e1..ab6bb6c 100644
 +	  Select this option if you require support for SPI NAND devices.
 +
 +endif # MTD_SPI_NAND
-diff --git a/drivers/mtd/spi-nand/Makefile b/drivers/mtd/spi-nand/Makefile
-index d454c52..6e460d1 100644
 --- a/drivers/mtd/spi-nand/Makefile
 +++ b/drivers/mtd/spi-nand/Makefile
 @@ -1 +1,2 @@
  obj-$(CONFIG_MTD_SPI_NAND)		+= spi-nand-base.o
 +obj-$(CONFIG_MTD_SPI_NAND_DEVICES)     += spi-nand-device.o
-diff --git a/drivers/mtd/spi-nand/spi-nand-device.c b/drivers/mtd/spi-nand/spi-nand-device.c
-new file mode 100644
-index 0000000..95db20b
 --- /dev/null
 +++ b/drivers/mtd/spi-nand/spi-nand-device.c
 @@ -0,0 +1,472 @@
@@ -529,6 +522,3 @@ index 0000000..95db20b
 +MODULE_AUTHOR("Ezequiel Garcia <ezequiel.garcia at imgtec.com>");
 +MODULE_DESCRIPTION("SPI NAND device support");
 +MODULE_LICENSE("GPL v2");
--- 
-2.7.4
-
diff --git a/target/linux/pistachio/patches-4.9/701-net-micrel-Disable-PME.patch b/target/linux/pistachio/patches-4.9/701-net-micrel-Disable-PME.patch
index 4274a35..046f00c 100644
--- a/target/linux/pistachio/patches-4.9/701-net-micrel-Disable-PME.patch
+++ b/target/linux/pistachio/patches-4.9/701-net-micrel-Disable-PME.patch
@@ -11,11 +11,9 @@ Signed-off-by: Xue Liu <liuxuenetmail at gmail.com>
  drivers/net/phy/micrel.c | 6 ++++++
  1 file changed, 6 insertions(+)
 
-diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c
-index ea92d52..73401fb 100644
 --- a/drivers/net/phy/micrel.c
 +++ b/drivers/net/phy/micrel.c
-@@ -273,6 +273,7 @@ static int kszphy_config_init(struct phy_device *phydev)
+@@ -273,6 +273,7 @@ static int kszphy_config_init(struct phy
  	struct kszphy_priv *priv = phydev->priv;
  	const struct kszphy_type *type;
  	int ret;
@@ -23,7 +21,7 @@ index ea92d52..73401fb 100644
  
  	if (!priv)
  		return 0;
-@@ -308,6 +309,11 @@ static int kszphy_config_init(struct phy_device *phydev)
+@@ -308,6 +309,11 @@ static int kszphy_config_init(struct phy
  			return ret;
  	}
  
@@ -35,6 +33,3 @@ index ea92d52..73401fb 100644
  	return 0;
  }
  
--- 
-2.7.4
-
diff --git a/target/linux/pistachio/patches-4.9/901-MIPS-DTS-img-marduk-add-nor-partition-name.patch b/target/linux/pistachio/patches-4.9/901-MIPS-DTS-img-marduk-add-nor-partition-name.patch
index e2ccd7a..6af11ea 100644
--- a/target/linux/pistachio/patches-4.9/901-MIPS-DTS-img-marduk-add-nor-partition-name.patch
+++ b/target/linux/pistachio/patches-4.9/901-MIPS-DTS-img-marduk-add-nor-partition-name.patch
@@ -8,8 +8,6 @@ Signed-off-by: Ian Pozella <Ian.Pozella at imgtec.com>
  arch/mips/boot/dts/img/pistachio_marduk.dts | 1 +
  1 file changed, 1 insertion(+)
 
-diff --git a/arch/mips/boot/dts/img/pistachio_marduk.dts b/arch/mips/boot/dts/img/pistachio_marduk.dts
-index 7708815..b18aa26 100644
 --- a/arch/mips/boot/dts/img/pistachio_marduk.dts
 +++ b/arch/mips/boot/dts/img/pistachio_marduk.dts
 @@ -90,6 +90,7 @@
@@ -20,6 +18,3 @@ index 7708815..b18aa26 100644
  	};
  };
  
--- 
-2.7.4
-
diff --git a/target/linux/pistachio/patches-4.9/902-MIPS-DTS-img-marduk-add-nand-device-support.patch b/target/linux/pistachio/patches-4.9/902-MIPS-DTS-img-marduk-add-nand-device-support.patch
index cb96753..bd03f08 100644
--- a/target/linux/pistachio/patches-4.9/902-MIPS-DTS-img-marduk-add-nand-device-support.patch
+++ b/target/linux/pistachio/patches-4.9/902-MIPS-DTS-img-marduk-add-nand-device-support.patch
@@ -8,8 +8,6 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma at imgtec.com>
  arch/mips/boot/dts/img/pistachio_marduk.dts | 11 +++++++++++
  1 file changed, 11 insertions(+)
 
-diff --git a/arch/mips/boot/dts/img/pistachio_marduk.dts b/arch/mips/boot/dts/img/pistachio_marduk.dts
-index b18aa26..ed92462 100644
 --- a/arch/mips/boot/dts/img/pistachio_marduk.dts
 +++ b/arch/mips/boot/dts/img/pistachio_marduk.dts
 @@ -92,6 +92,17 @@
@@ -30,6 +28,3 @@ index b18aa26..ed92462 100644
  };
  
  &uart0 {
--- 
-2.7.4
-
diff --git a/target/linux/ramips/patches-4.9/0031-uvc-add-iPassion-iP2970-support.patch b/target/linux/ramips/patches-4.9/0031-uvc-add-iPassion-iP2970-support.patch
index 6cfb07d..2a0d575 100644
--- a/target/linux/ramips/patches-4.9/0031-uvc-add-iPassion-iP2970-support.patch
+++ b/target/linux/ramips/patches-4.9/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
-@@ -2564,6 +2564,18 @@ static struct usb_device_id uvc_ids[] =
+@@ -2670,6 +2670,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.9/0034-NET-multi-phy-support.patch b/target/linux/ramips/patches-4.9/0034-NET-multi-phy-support.patch
index f18a789..5c901f9 100644
--- a/target/linux/ramips/patches-4.9/0034-NET-multi-phy-support.patch
+++ b/target/linux/ramips/patches-4.9/0034-NET-multi-phy-support.patch
@@ -11,7 +11,7 @@ Signed-off-by: John Crispin <blogic at openwrt.org>
 
 --- a/drivers/net/phy/phy.c
 +++ b/drivers/net/phy/phy.c
-@@ -996,7 +996,8 @@ void phy_state_machine(struct work_struc
+@@ -1000,7 +1000,8 @@ void phy_state_machine(struct work_struc
  		/* If the link is down, give up on negotiation for now */
  		if (!phydev->link) {
  			phydev->state = PHY_NOLINK;
@@ -21,7 +21,7 @@ Signed-off-by: John Crispin <blogic at openwrt.org>
  			phydev->adjust_link(phydev->attached_dev);
  			break;
  		}
-@@ -1079,7 +1080,8 @@ void phy_state_machine(struct work_struc
+@@ -1083,7 +1084,8 @@ void phy_state_machine(struct work_struc
  			netif_carrier_on(phydev->attached_dev);
  		} else {
  			phydev->state = PHY_NOLINK;
@@ -31,7 +31,7 @@ Signed-off-by: John Crispin <blogic at openwrt.org>
  		}
  
  		phydev->adjust_link(phydev->attached_dev);
-@@ -1091,7 +1093,8 @@ void phy_state_machine(struct work_struc
+@@ -1095,7 +1097,8 @@ void phy_state_machine(struct work_struc
  	case PHY_HALTED:
  		if (phydev->link) {
  			phydev->link = 0;
diff --git a/target/linux/ramips/patches-4.9/0068-fix-ralink-prom.patch b/target/linux/ramips/patches-4.9/0068-fix-ralink-prom.patch
deleted file mode 100644
index 728ce6f..0000000
--- a/target/linux/ramips/patches-4.9/0068-fix-ralink-prom.patch
+++ /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.9/0098-disable_cm.patch b/target/linux/ramips/patches-4.9/0098-disable_cm.patch
index 6ea4909..9695e04 100644
--- a/target/linux/ramips/patches-4.9/0098-disable_cm.patch
+++ b/target/linux/ramips/patches-4.9/0098-disable_cm.patch
@@ -1,7 +1,5 @@
-Index: linux-4.9.14/arch/mips/kernel/mips-cm.c
-===================================================================
---- linux-4.9.14.orig/arch/mips/kernel/mips-cm.c
-+++ linux-4.9.14/arch/mips/kernel/mips-cm.c
+--- a/arch/mips/kernel/mips-cm.c
++++ b/arch/mips/kernel/mips-cm.c
 @@ -239,6 +239,7 @@ int mips_cm_probe(void)
  
  	/* disable CM regions */
diff --git a/target/linux/ramips/patches-4.9/0720-arch-mips-ralink-add-i2c-clocks.patch b/target/linux/ramips/patches-4.9/0720-arch-mips-ralink-add-i2c-clocks.patch
index e9e72ad..d711f57 100644
--- a/target/linux/ramips/patches-4.9/0720-arch-mips-ralink-add-i2c-clocks.patch
+++ b/target/linux/ramips/patches-4.9/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);
diff --git a/target/linux/ramips/patches-4.9/301-fix-rt3883.patch b/target/linux/ramips/patches-4.9/301-fix-rt3883.patch
index 49a17cf..5b79526 100644
--- a/target/linux/ramips/patches-4.9/301-fix-rt3883.patch
+++ b/target/linux/ramips/patches-4.9/301-fix-rt3883.patch
@@ -1,23 +1,6 @@
 --- a/arch/mips/ralink/rt3883.c
 +++ b/arch/mips/ralink/rt3883.c
-@@ -63,16 +63,6 @@ static struct rt2880_pmx_group rt3883_pi
- 	{ 0 }
- };
- 
--static void rt3883_wdt_reset(void)
--{
--	u32 t;
--
--	/* enable WDT reset output on GPIO 2 */
--	t = rt_sysc_r32(RT3883_SYSC_REG_SYSCFG1);
--	t |= RT3883_SYSCFG1_GPIO2_AS_WDT_OUT;
--	rt_sysc_w32(t, RT3883_SYSC_REG_SYSCFG1);
--}
--
- void __init ralink_clk_init(void)
- {
- 	unsigned long cpu_rate, sys_rate;
-@@ -157,5 +147,5 @@ void prom_soc_init(struct ralink_soc_inf
+@@ -147,5 +147,5 @@ void prom_soc_init(struct ralink_soc_inf
  
  	rt2880_pinmux_data = rt3883_pinmux_data;
  



More information about the lede-commits mailing list