[source] kernel: update 4.4 kernel to 4.4.42

LEDE Commits lede-commits at lists.infradead.org
Fri Jan 13 14:09:02 PST 2017


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

commit 5b089e45a649b936d5ce71930adef4fdea8a7875
Author: Hauke Mehrtens <hauke at hauke-m.de>
AuthorDate: Fri Jan 13 22:35:45 2017 +0100

    kernel: update 4.4 kernel to 4.4.42
    
    Refresh patches on all 4.4 supported platforms.
    Compile & run tested: lantiq/xrx200
    
    Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
 include/kernel-version.mk                                 |  4 ++--
 package/kernel/mac80211/patches/090-remove-cred.patch     | 15 +++++++++++++++
 ...xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch |  6 +++---
 .../patches-4.4/802-usb-xhci-force-msi-renesas-xhci.patch |  4 ++--
 ...n-add-driver-for-Microchip-TC654-TC655-PWM-fan-c.patch |  2 +-
 ...sb-xhci-add-support-for-performing-fake-doorbell.patch |  6 +++---
 .../brcm2708/patches-4.4/0029-Add-dwc_otg-driver.patch    |  2 +-
 ...bcm2835-add-a-round-up-ability-to-the-clock-divi.patch |  6 +++---
 ...3-clk-bcm2835-Support-for-clock-parent-selection.patch |  8 ++++----
 .../0254-clk-bcm2835-Add-PWM-clock-support.patch          |  2 +-
 ...bcm2835-correctly-enable-fractional-clock-suppor.patch |  6 +++---
 .../0257-clk-bcm2835-clean-up-coding-style-issues.patch   |  4 ++--
 ...k-bcm2835-expose-raw-clock-registers-via-debugfs.patch | 10 +++++-----
 ...bcm2835-remove-use-of-BCM2835_CLOCK_COUNT-in-dri.patch |  4 ++--
 ...bcm2835-reorganize-bcm2835_clock_array-assignmen.patch |  4 ++--
 .../0261-clk-bcm2835-enable-management-of-PCM-clock.patch |  2 +-
 .../0262-clk-bcm2835-add-missing-PLL-clock-dividers.patch |  4 ++--
 .../0263-clk-bcm2835-add-missing-osc-and-per-clocks.patch | 12 ++++++------
 .../0345-clk-bcm2835-Mark-the-VPU-clock-as-critical.patch |  4 ++--
 ...bcm2835-Mark-GPIO-clocks-enabled-at-boot-as-crit.patch |  4 ++--
 ...bcm2835-Skip-PLLC-clocks-when-deciding-on-a-new-.patch |  4 ++--
 ...bcm2835-Mark-the-CM-SDRAM-clock-s-parent-as-crit.patch |  6 +++---
 ...bcm2835-Don-t-rate-change-PLLs-on-behalf-of-divi.patch |  2 +-
 ...bcm2835-Do-appropriate-name-lookups-for-DSI1-s-p.patch |  6 +++---
 ...clk-bcm2835-Add-an-enum-for-the-DSI1-pixel-clock.patch |  8 ++++----
 .../patches-4.4/400-mtd-bcm47xxpart-get-nvram.patch       |  6 +++---
 .../096-04-usb-dwc3-DWC_usb31-controller-check.patch      |  2 +-
 ...b-dwc3-Update-register-fields-for-SuperSpeedPlus.patch |  6 +++---
 .../096-07-usb-dwc3-drop-FIFO-resizing-logic.patch        | 10 +++++-----
 .../096-08-usb-dwc3-remove-num_event_buffers.patch        |  4 ++--
 .../patches-4.4/096-09-usb-dwc3-drop-ev_buffs-array.patch |  2 +-
 ...111-PCI-qcom-Add-Qualcomm-PCIe-controller-driver.patch |  2 +-
 .../patches-4.4/0302-xrx200-add-sensors-driver.patch      |  2 +-
 ...9-xhci-mediatek-support-MTK-xHCI-host-controller.patch |  8 ++++----
 ...51-net-next-mediatek-add-an-entry-to-MAINTAINERS.patch |  2 +-
 .../0099-MAINTAINERS-change-my-email-address.patch        |  2 +-
 ...TAINERS-add-Sean-as-mediatek-ethernet-maintainer.patch |  2 +-
 ...3-xhci-mediatek-support-MTK-xHCI-host-controller.patch |  8 ++++----
 .../0046-mmc-MIPS-ralink-add-sdhci-for-mt7620a-SoC.patch  |  2 +-
 target/linux/ramips/patches-4.4/0519-gsw_mt7621.patch     |  6 +++---
 .../ramips/patches-4.4/200-rt3883-fix-pinctrl-typo.patch  |  7 +------
 41 files changed, 108 insertions(+), 98 deletions(-)

diff --git a/include/kernel-version.mk b/include/kernel-version.mk
index 857f53a..efd58e1 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 = .40
+LINUX_VERSION-4.4 = .42
 
 LINUX_KERNEL_HASH-3.18.43 = 1236e8123a6ce537d5029232560966feed054ae31776fe8481dd7d18cdd5492c
-LINUX_KERNEL_HASH-4.4.40 = c4bc5ed6e73ed7393cc1b3714b822664224ab866db114eed663de1315718a4e1
+LINUX_KERNEL_HASH-4.4.42 = 324747568e92f203e3ee5ec8b291a868f58b870f1ad214fa64aa3507ed42e878
 
 ifdef KERNEL_PATCHVER
   LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))
diff --git a/package/kernel/mac80211/patches/090-remove-cred.patch b/package/kernel/mac80211/patches/090-remove-cred.patch
new file mode 100644
index 0000000..3adb2af
--- /dev/null
+++ b/package/kernel/mac80211/patches/090-remove-cred.patch
@@ -0,0 +1,15 @@
+This is only needed for kernel < 2.6.29 and conflicts with kernel 4.4.42
+
+--- a/backport-include/linux/cred.h
++++ /dev/null
+@@ -1,10 +0,0 @@
+-#ifndef __BACKPORT_LINUX_CRED_H
+-#define __BACKPORT_LINUX_CRED_H
+-#include_next <linux/cred.h>
+-#include <linux/version.h>
+-
+-#ifndef current_user_ns
+-#define current_user_ns()	(current->nsproxy->user_ns)
+-#endif
+-
+-#endif /* __BACKPORT_LINUX_CRED_H */
diff --git a/target/linux/apm821xx/patches-4.4/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch b/target/linux/apm821xx/patches-4.4/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch
index 72e275a..5d63ddd 100644
--- a/target/linux/apm821xx/patches-4.4/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch
+++ b/target/linux/apm821xx/patches-4.4/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch
@@ -44,7 +44,7 @@ Signed-off-by: Christian Lamparter <chunkeey at googlemail.com>
  
  #include "xhci.h"
  #include "xhci-trace.h"
-@@ -211,6 +213,458 @@ static void xhci_pme_acpi_rtd3_enable(st
+@@ -218,6 +220,458 @@ static void xhci_pme_acpi_rtd3_enable(st
  static void xhci_pme_acpi_rtd3_enable(struct pci_dev *dev) { }
  #endif /* CONFIG_ACPI */
  
@@ -503,7 +503,7 @@ Signed-off-by: Christian Lamparter <chunkeey at googlemail.com>
  /* called during probe() after chip reset completes */
  static int xhci_pci_setup(struct usb_hcd *hcd)
  {
-@@ -250,6 +704,22 @@ static int xhci_pci_probe(struct pci_dev
+@@ -257,6 +711,22 @@ static int xhci_pci_probe(struct pci_dev
  	struct hc_driver *driver;
  	struct usb_hcd *hcd;
  
@@ -526,7 +526,7 @@ Signed-off-by: Christian Lamparter <chunkeey at googlemail.com>
  	driver = (struct hc_driver *)id->driver_data;
  
  	/* Prevent runtime suspending between USB-2 and USB-3 initialization */
-@@ -307,6 +777,16 @@ static void xhci_pci_remove(struct pci_d
+@@ -314,6 +784,16 @@ static void xhci_pci_remove(struct pci_d
  {
  	struct xhci_hcd *xhci;
  
diff --git a/target/linux/apm821xx/patches-4.4/802-usb-xhci-force-msi-renesas-xhci.patch b/target/linux/apm821xx/patches-4.4/802-usb-xhci-force-msi-renesas-xhci.patch
index 0bdb722..5395cab 100644
--- a/target/linux/apm821xx/patches-4.4/802-usb-xhci-force-msi-renesas-xhci.patch
+++ b/target/linux/apm821xx/patches-4.4/802-usb-xhci-force-msi-renesas-xhci.patch
@@ -13,7 +13,7 @@ produce a noisy warning.
 
 --- a/drivers/usb/host/xhci-pci.c
 +++ b/drivers/usb/host/xhci-pci.c
-@@ -178,7 +178,7 @@ static void xhci_pci_quirks(struct devic
+@@ -185,7 +185,7 @@ static void xhci_pci_quirks(struct devic
  	}
  	if (pdev->vendor == PCI_VENDOR_ID_RENESAS &&
  			pdev->device == 0x0015)
@@ -44,7 +44,7 @@ produce a noisy warning.
  		/* hcd->irq is 0, we have MSI */
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1648,6 +1648,7 @@ struct xhci_hcd {
+@@ -1652,6 +1652,7 @@ struct xhci_hcd {
  	/* support xHCI 0.96 spec USB2 software LPM */
  	unsigned		sw_lpm_support:1;
  	/* support xHCI 1.0 spec USB2 hardware LPM */
diff --git a/target/linux/apm821xx/patches-4.4/901-hwmon-add-driver-for-Microchip-TC654-TC655-PWM-fan-c.patch b/target/linux/apm821xx/patches-4.4/901-hwmon-add-driver-for-Microchip-TC654-TC655-PWM-fan-c.patch
index 8c27dd1..41f3370 100644
--- a/target/linux/apm821xx/patches-4.4/901-hwmon-add-driver-for-Microchip-TC654-TC655-PWM-fan-c.patch
+++ b/target/linux/apm821xx/patches-4.4/901-hwmon-add-driver-for-Microchip-TC654-TC655-PWM-fan-c.patch
@@ -26,7 +26,7 @@ Signed-off-by: Christian Lamparter <chunkeey at gmail.com>
 
 --- a/drivers/hwmon/Kconfig
 +++ b/drivers/hwmon/Kconfig
-@@ -1493,6 +1493,16 @@ config SENSORS_INA2XX
+@@ -1484,6 +1484,16 @@ config SENSORS_INA2XX
  	  This driver can also be built as a module.  If so, the module
  	  will be called ina2xx.
  
diff --git a/target/linux/bcm53xx/patches-4.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch b/target/linux/bcm53xx/patches-4.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
index 9d8b7e8..f5a7f37 100644
--- a/target/linux/bcm53xx/patches-4.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
+++ b/target/linux/bcm53xx/patches-4.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
@@ -127,11 +127,11 @@ it on BCM4708 family.
  /*
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1631,6 +1631,7 @@ struct xhci_hcd {
- /* For controllers with a broken beyond repair streams implementation */
+@@ -1635,6 +1635,7 @@ struct xhci_hcd {
  #define XHCI_BROKEN_STREAMS	(1 << 19)
  #define XHCI_PME_STUCK_QUIRK	(1 << 20)
-+#define XHCI_FAKE_DOORBELL	(1 << 24)
+ #define XHCI_MISSING_CAS	(1 << 24)
++#define XHCI_FAKE_DOORBELL	(1 << 25)
  	unsigned int		num_active_eps;
  	unsigned int		limit_active_eps;
  	/* There are two roothubs to keep track of bus suspend info for */
diff --git a/target/linux/brcm2708/patches-4.4/0029-Add-dwc_otg-driver.patch b/target/linux/brcm2708/patches-4.4/0029-Add-dwc_otg-driver.patch
index 54586c1..69711f6 100644
--- a/target/linux/brcm2708/patches-4.4/0029-Add-dwc_otg-driver.patch
+++ b/target/linux/brcm2708/patches-4.4/0029-Add-dwc_otg-driver.patch
@@ -659,7 +659,7 @@ dwc_otg: Remove duplicate gadget probe/unregister function
  }
 --- a/drivers/usb/core/hub.c
 +++ b/drivers/usb/core/hub.c
-@@ -4943,7 +4943,7 @@ static void port_event(struct usb_hub *h
+@@ -4942,7 +4942,7 @@ static void port_event(struct usb_hub *h
  	if (portchange & USB_PORT_STAT_C_OVERCURRENT) {
  		u16 status = 0, unused;
  
diff --git a/target/linux/brcm2708/patches-4.4/0252-clk-bcm2835-add-a-round-up-ability-to-the-clock-divi.patch b/target/linux/brcm2708/patches-4.4/0252-clk-bcm2835-add-a-round-up-ability-to-the-clock-divi.patch
index b0f6777..b9b139c 100644
--- a/target/linux/brcm2708/patches-4.4/0252-clk-bcm2835-add-a-round-up-ability-to-the-clock-divi.patch
+++ b/target/linux/brcm2708/patches-4.4/0252-clk-bcm2835-add-a-round-up-ability-to-the-clock-divi.patch
@@ -16,7 +16,7 @@ Signed-off-by: Michael Turquette <mturquette at baylibre.com>
 
 --- a/drivers/clk/bcm/clk-bcm2835.c
 +++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -1164,22 +1164,24 @@ static int bcm2835_clock_is_on(struct cl
+@@ -1166,22 +1166,24 @@ static int bcm2835_clock_is_on(struct cl
  
  static u32 bcm2835_clock_choose_div(struct clk_hw *hw,
  				    unsigned long rate,
@@ -49,7 +49,7 @@ Signed-off-by: Michael Turquette <mturquette at baylibre.com>
  
  	/* clamp to min divider of 1 */
  	div = max_t(u32, div, 1 << CM_DIV_FRAC_BITS);
-@@ -1219,7 +1221,7 @@ static long bcm2835_clock_round_rate(str
+@@ -1221,7 +1223,7 @@ static long bcm2835_clock_round_rate(str
  				     unsigned long *parent_rate)
  {
  	struct bcm2835_clock *clock = bcm2835_clock_from_hw(hw);
@@ -58,7 +58,7 @@ Signed-off-by: Michael Turquette <mturquette at baylibre.com>
  
  	return bcm2835_clock_rate_from_divisor(clock, *parent_rate, div);
  }
-@@ -1288,7 +1290,7 @@ static int bcm2835_clock_set_rate(struct
+@@ -1290,7 +1292,7 @@ static int bcm2835_clock_set_rate(struct
  	struct bcm2835_clock *clock = bcm2835_clock_from_hw(hw);
  	struct bcm2835_cprman *cprman = clock->cprman;
  	const struct bcm2835_clock_data *data = clock->data;
diff --git a/target/linux/brcm2708/patches-4.4/0253-clk-bcm2835-Support-for-clock-parent-selection.patch b/target/linux/brcm2708/patches-4.4/0253-clk-bcm2835-Support-for-clock-parent-selection.patch
index f0907c1..0332be6 100644
--- a/target/linux/brcm2708/patches-4.4/0253-clk-bcm2835-Support-for-clock-parent-selection.patch
+++ b/target/linux/brcm2708/patches-4.4/0253-clk-bcm2835-Support-for-clock-parent-selection.patch
@@ -24,7 +24,7 @@ Signed-off-by: Michael Turquette <mturquette at baylibre.com>
 
 --- a/drivers/clk/bcm/clk-bcm2835.c
 +++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -1216,16 +1216,6 @@ static long bcm2835_clock_rate_from_divi
+@@ -1218,16 +1218,6 @@ static long bcm2835_clock_rate_from_divi
  	return temp;
  }
  
@@ -41,7 +41,7 @@ Signed-off-by: Michael Turquette <mturquette at baylibre.com>
  static unsigned long bcm2835_clock_get_rate(struct clk_hw *hw,
  					    unsigned long parent_rate)
  {
-@@ -1297,13 +1287,75 @@ static int bcm2835_clock_set_rate(struct
+@@ -1299,13 +1289,75 @@ static int bcm2835_clock_set_rate(struct
  	return 0;
  }
  
@@ -118,7 +118,7 @@ Signed-off-by: Michael Turquette <mturquette at baylibre.com>
  };
  
  static int bcm2835_vpu_clock_is_on(struct clk_hw *hw)
-@@ -1319,7 +1371,9 @@ static const struct clk_ops bcm2835_vpu_
+@@ -1321,7 +1373,9 @@ static const struct clk_ops bcm2835_vpu_
  	.is_prepared = bcm2835_vpu_clock_is_on,
  	.recalc_rate = bcm2835_clock_get_rate,
  	.set_rate = bcm2835_clock_set_rate,
@@ -129,7 +129,7 @@ Signed-off-by: Michael Turquette <mturquette at baylibre.com>
  };
  
  static struct clk *bcm2835_register_pll(struct bcm2835_cprman *cprman,
-@@ -1413,45 +1467,23 @@ static struct clk *bcm2835_register_cloc
+@@ -1415,45 +1469,23 @@ static struct clk *bcm2835_register_cloc
  {
  	struct bcm2835_clock *clock;
  	struct clk_init_data init;
diff --git a/target/linux/brcm2708/patches-4.4/0254-clk-bcm2835-Add-PWM-clock-support.patch b/target/linux/brcm2708/patches-4.4/0254-clk-bcm2835-Add-PWM-clock-support.patch
index 428a952..aa7bc7d 100644
--- a/target/linux/brcm2708/patches-4.4/0254-clk-bcm2835-Add-PWM-clock-support.patch
+++ b/target/linux/brcm2708/patches-4.4/0254-clk-bcm2835-Add-PWM-clock-support.patch
@@ -33,7 +33,7 @@ Signed-off-by: Michael Turquette <mturquette at baylibre.com>
  struct bcm2835_pll {
  	struct clk_hw hw;
  	struct bcm2835_cprman *cprman;
-@@ -1601,6 +1611,9 @@ static int bcm2835_clk_probe(struct plat
+@@ -1603,6 +1613,9 @@ static int bcm2835_clk_probe(struct plat
  				  cprman->regs + CM_PERIICTL, CM_GATE_BIT,
  				  0, &cprman->regs_lock);
  
diff --git a/target/linux/brcm2708/patches-4.4/0256-clk-bcm2835-correctly-enable-fractional-clock-suppor.patch b/target/linux/brcm2708/patches-4.4/0256-clk-bcm2835-correctly-enable-fractional-clock-suppor.patch
index 737a1a9..80a4ba8 100644
--- a/target/linux/brcm2708/patches-4.4/0256-clk-bcm2835-correctly-enable-fractional-clock-suppor.patch
+++ b/target/linux/brcm2708/patches-4.4/0256-clk-bcm2835-correctly-enable-fractional-clock-suppor.patch
@@ -66,7 +66,7 @@ Reviewed-by: Eric Anholt <eric at anholt.net>
  };
  
  struct bcm2835_pll {
-@@ -1196,7 +1200,7 @@ static u32 bcm2835_clock_choose_div(stru
+@@ -1198,7 +1202,7 @@ static u32 bcm2835_clock_choose_div(stru
  		GENMASK(CM_DIV_FRAC_BITS - data->frac_bits, 0) >> 1;
  	u64 temp = (u64)parent_rate << CM_DIV_FRAC_BITS;
  	u64 rem;
@@ -75,7 +75,7 @@ Reviewed-by: Eric Anholt <eric at anholt.net>
  
  	rem = do_div(temp, rate);
  	div = temp;
-@@ -1206,11 +1210,23 @@ static u32 bcm2835_clock_choose_div(stru
+@@ -1208,11 +1212,23 @@ static u32 bcm2835_clock_choose_div(stru
  		div += unused_frac_mask + 1;
  	div &= ~unused_frac_mask;
  
@@ -104,7 +104,7 @@ Reviewed-by: Eric Anholt <eric at anholt.net>
  
  	return div;
  }
-@@ -1304,9 +1320,26 @@ static int bcm2835_clock_set_rate(struct
+@@ -1306,9 +1322,26 @@ static int bcm2835_clock_set_rate(struct
  	struct bcm2835_cprman *cprman = clock->cprman;
  	const struct bcm2835_clock_data *data = clock->data;
  	u32 div = bcm2835_clock_choose_div(hw, rate, parent_rate, false);
diff --git a/target/linux/brcm2708/patches-4.4/0257-clk-bcm2835-clean-up-coding-style-issues.patch b/target/linux/brcm2708/patches-4.4/0257-clk-bcm2835-clean-up-coding-style-issues.patch
index 94f75ed..5a4ae3c 100644
--- a/target/linux/brcm2708/patches-4.4/0257-clk-bcm2835-clean-up-coding-style-issues.patch
+++ b/target/linux/brcm2708/patches-4.4/0257-clk-bcm2835-clean-up-coding-style-issues.patch
@@ -33,7 +33,7 @@ Signed-off-by: Eric Anholt <eric at anholt.net>
  	const char *osc_name;
  
  	struct clk_onecell_data onecell;
-@@ -1344,7 +1341,7 @@ static int bcm2835_clock_set_rate(struct
+@@ -1346,7 +1343,7 @@ static int bcm2835_clock_set_rate(struct
  }
  
  static int bcm2835_clock_determine_rate(struct clk_hw *hw,
@@ -42,7 +42,7 @@ Signed-off-by: Eric Anholt <eric at anholt.net>
  {
  	struct bcm2835_clock *clock = bcm2835_clock_from_hw(hw);
  	struct clk_hw *parent, *best_parent = NULL;
-@@ -1402,7 +1399,6 @@ static u8 bcm2835_clock_get_parent(struc
+@@ -1404,7 +1401,6 @@ static u8 bcm2835_clock_get_parent(struc
  	return (src & CM_SRC_MASK) >> CM_SRC_SHIFT;
  }
  
diff --git a/target/linux/brcm2708/patches-4.4/0258-clk-bcm2835-expose-raw-clock-registers-via-debugfs.patch b/target/linux/brcm2708/patches-4.4/0258-clk-bcm2835-expose-raw-clock-registers-via-debugfs.patch
index b61bd04..98f08c2 100644
--- a/target/linux/brcm2708/patches-4.4/0258-clk-bcm2835-expose-raw-clock-registers-via-debugfs.patch
+++ b/target/linux/brcm2708/patches-4.4/0258-clk-bcm2835-expose-raw-clock-registers-via-debugfs.patch
@@ -103,7 +103,7 @@ Acked-by: Eric Anholt <eric at anholt.net>
  };
  
  struct bcm2835_pll_divider {
-@@ -1151,6 +1204,26 @@ static int bcm2835_pll_divider_set_rate(
+@@ -1153,6 +1206,26 @@ static int bcm2835_pll_divider_set_rate(
  	return 0;
  }
  
@@ -130,7 +130,7 @@ Acked-by: Eric Anholt <eric at anholt.net>
  static const struct clk_ops bcm2835_pll_divider_clk_ops = {
  	.is_prepared = bcm2835_pll_divider_is_on,
  	.prepare = bcm2835_pll_divider_on,
-@@ -1158,6 +1231,7 @@ static const struct clk_ops bcm2835_pll_
+@@ -1160,6 +1233,7 @@ static const struct clk_ops bcm2835_pll_
  	.recalc_rate = bcm2835_pll_divider_get_rate,
  	.set_rate = bcm2835_pll_divider_set_rate,
  	.round_rate = bcm2835_pll_divider_round_rate,
@@ -138,7 +138,7 @@ Acked-by: Eric Anholt <eric at anholt.net>
  };
  
  /*
-@@ -1399,6 +1473,31 @@ static u8 bcm2835_clock_get_parent(struc
+@@ -1401,6 +1475,31 @@ static u8 bcm2835_clock_get_parent(struc
  	return (src & CM_SRC_MASK) >> CM_SRC_SHIFT;
  }
  
@@ -170,7 +170,7 @@ Acked-by: Eric Anholt <eric at anholt.net>
  static const struct clk_ops bcm2835_clock_clk_ops = {
  	.is_prepared = bcm2835_clock_is_on,
  	.prepare = bcm2835_clock_on,
-@@ -1408,6 +1507,7 @@ static const struct clk_ops bcm2835_cloc
+@@ -1410,6 +1509,7 @@ static const struct clk_ops bcm2835_cloc
  	.determine_rate = bcm2835_clock_determine_rate,
  	.set_parent = bcm2835_clock_set_parent,
  	.get_parent = bcm2835_clock_get_parent,
@@ -178,7 +178,7 @@ Acked-by: Eric Anholt <eric at anholt.net>
  };
  
  static int bcm2835_vpu_clock_is_on(struct clk_hw *hw)
-@@ -1426,6 +1526,7 @@ static const struct clk_ops bcm2835_vpu_
+@@ -1428,6 +1528,7 @@ static const struct clk_ops bcm2835_vpu_
  	.determine_rate = bcm2835_clock_determine_rate,
  	.set_parent = bcm2835_clock_set_parent,
  	.get_parent = bcm2835_clock_get_parent,
diff --git a/target/linux/brcm2708/patches-4.4/0259-clk-bcm2835-remove-use-of-BCM2835_CLOCK_COUNT-in-dri.patch b/target/linux/brcm2708/patches-4.4/0259-clk-bcm2835-remove-use-of-BCM2835_CLOCK_COUNT-in-dri.patch
index a8b36ae..58a4c5d 100644
--- a/target/linux/brcm2708/patches-4.4/0259-clk-bcm2835-remove-use-of-BCM2835_CLOCK_COUNT-in-dri.patch
+++ b/target/linux/brcm2708/patches-4.4/0259-clk-bcm2835-remove-use-of-BCM2835_CLOCK_COUNT-in-dri.patch
@@ -56,7 +56,7 @@ Reviewed-by: Eric Anholt <eric at anholt.net>
  struct bcm2835_pll {
  	struct clk_hw hw;
  	struct bcm2835_cprman *cprman;
-@@ -1658,14 +1677,81 @@ static struct clk *bcm2835_register_cloc
+@@ -1660,14 +1679,81 @@ static struct clk *bcm2835_register_cloc
  	return devm_clk_register(cprman->dev, &clock->hw);
  }
  
@@ -139,7 +139,7 @@ Reviewed-by: Eric Anholt <eric at anholt.net>
  	if (!cprman)
  		return -ENOMEM;
  
-@@ -1682,80 +1768,15 @@ static int bcm2835_clk_probe(struct plat
+@@ -1684,80 +1770,15 @@ static int bcm2835_clk_probe(struct plat
  
  	platform_set_drvdata(pdev, cprman);
  
diff --git a/target/linux/brcm2708/patches-4.4/0260-clk-bcm2835-reorganize-bcm2835_clock_array-assignmen.patch b/target/linux/brcm2708/patches-4.4/0260-clk-bcm2835-reorganize-bcm2835_clock_array-assignmen.patch
index 712e14f..0f1ad86 100644
--- a/target/linux/brcm2708/patches-4.4/0260-clk-bcm2835-reorganize-bcm2835_clock_array-assignmen.patch
+++ b/target/linux/brcm2708/patches-4.4/0260-clk-bcm2835-reorganize-bcm2835_clock_array-assignmen.patch
@@ -473,7 +473,7 @@ Reviewed-by: Eric Anholt <eric at anholt.net>
  struct bcm2835_pll {
  	struct clk_hw hw;
  	struct bcm2835_cprman *cprman;
-@@ -1594,7 +1177,7 @@ bcm2835_register_pll_divider(struct bcm2
+@@ -1596,7 +1179,7 @@ bcm2835_register_pll_divider(struct bcm2
  
  	memset(&init, 0, sizeof(init));
  
@@ -482,7 +482,7 @@ Reviewed-by: Eric Anholt <eric at anholt.net>
  	init.num_parents = 1;
  	init.name = divider_name;
  	init.ops = &bcm2835_pll_divider_clk_ops;
-@@ -1693,50 +1276,401 @@ struct bcm2835_clk_desc {
+@@ -1695,50 +1278,401 @@ struct bcm2835_clk_desc {
  	const void *data;
  };
  
diff --git a/target/linux/brcm2708/patches-4.4/0261-clk-bcm2835-enable-management-of-PCM-clock.patch b/target/linux/brcm2708/patches-4.4/0261-clk-bcm2835-enable-management-of-PCM-clock.patch
index edf85d6..01dd778 100644
--- a/target/linux/brcm2708/patches-4.4/0261-clk-bcm2835-enable-management-of-PCM-clock.patch
+++ b/target/linux/brcm2708/patches-4.4/0261-clk-bcm2835-enable-management-of-PCM-clock.patch
@@ -17,7 +17,7 @@ Reviewed-by: Eric Anholt <eric at anholt.net>
 
 --- a/drivers/clk/bcm/clk-bcm2835.c
 +++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -1638,6 +1638,13 @@ static const struct bcm2835_clk_desc clk
+@@ -1640,6 +1640,13 @@ static const struct bcm2835_clk_desc clk
  		.div_reg = CM_HSMDIV,
  		.int_bits = 4,
  		.frac_bits = 8),
diff --git a/target/linux/brcm2708/patches-4.4/0262-clk-bcm2835-add-missing-PLL-clock-dividers.patch b/target/linux/brcm2708/patches-4.4/0262-clk-bcm2835-add-missing-PLL-clock-dividers.patch
index 58fb0e2..33d7937 100644
--- a/target/linux/brcm2708/patches-4.4/0262-clk-bcm2835-add-missing-PLL-clock-dividers.patch
+++ b/target/linux/brcm2708/patches-4.4/0262-clk-bcm2835-add-missing-PLL-clock-dividers.patch
@@ -14,7 +14,7 @@ Reviewed-by: Eric Anholt <eric at anholt.net>
 
 --- a/drivers/clk/bcm/clk-bcm2835.c
 +++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -1387,6 +1387,22 @@ static const struct bcm2835_clk_desc clk
+@@ -1389,6 +1389,22 @@ static const struct bcm2835_clk_desc clk
  		.load_mask = CM_PLLA_LOADPER,
  		.hold_mask = CM_PLLA_HOLDPER,
  		.fixed_divider = 1),
@@ -37,7 +37,7 @@ Reviewed-by: Eric Anholt <eric at anholt.net>
  
  	/* PLLB is used for the ARM's clock. */
  	[BCM2835_PLLB]		= REGISTER_PLL(
-@@ -1501,6 +1517,22 @@ static const struct bcm2835_clk_desc clk
+@@ -1503,6 +1519,22 @@ static const struct bcm2835_clk_desc clk
  		.load_mask = CM_PLLD_LOADPER,
  		.hold_mask = CM_PLLD_HOLDPER,
  		.fixed_divider = 1),
diff --git a/target/linux/brcm2708/patches-4.4/0263-clk-bcm2835-add-missing-osc-and-per-clocks.patch b/target/linux/brcm2708/patches-4.4/0263-clk-bcm2835-add-missing-osc-and-per-clocks.patch
index 7efe7e0..9ecb0e2 100644
--- a/target/linux/brcm2708/patches-4.4/0263-clk-bcm2835-add-missing-osc-and-per-clocks.patch
+++ b/target/linux/brcm2708/patches-4.4/0263-clk-bcm2835-add-missing-osc-and-per-clocks.patch
@@ -26,7 +26,7 @@ Reviewed-by: Eric Anholt <eric at anholt.net>
  #define CM_EMMCCTL		0x1c0
  #define CM_EMMCDIV		0x1c4
  
-@@ -1610,6 +1612,12 @@ static const struct bcm2835_clk_desc clk
+@@ -1612,6 +1614,12 @@ static const struct bcm2835_clk_desc clk
  		.div_reg = CM_TSENSDIV,
  		.int_bits = 5,
  		.frac_bits = 0),
@@ -39,7 +39,7 @@ Reviewed-by: Eric Anholt <eric at anholt.net>
  
  	/* clocks with vpu parent mux */
  	[BCM2835_CLOCK_H264]	= REGISTER_VPU_CLK(
-@@ -1624,6 +1632,7 @@ static const struct bcm2835_clk_desc clk
+@@ -1626,6 +1634,7 @@ static const struct bcm2835_clk_desc clk
  		.div_reg = CM_ISPDIV,
  		.int_bits = 4,
  		.frac_bits = 8),
@@ -47,7 +47,7 @@ Reviewed-by: Eric Anholt <eric at anholt.net>
  	/*
  	 * Secondary SDRAM clock.  Used for low-voltage modes when the PLL
  	 * in the SDRAM controller can't be used.
-@@ -1655,6 +1664,36 @@ static const struct bcm2835_clk_desc clk
+@@ -1657,6 +1666,36 @@ static const struct bcm2835_clk_desc clk
  		.is_vpu_clock = true),
  
  	/* clocks with per parent mux */
@@ -84,7 +84,7 @@ Reviewed-by: Eric Anholt <eric at anholt.net>
  
  	/* Arasan EMMC clock */
  	[BCM2835_CLOCK_EMMC]	= REGISTER_PER_CLK(
-@@ -1663,6 +1702,29 @@ static const struct bcm2835_clk_desc clk
+@@ -1665,6 +1704,29 @@ static const struct bcm2835_clk_desc clk
  		.div_reg = CM_EMMCDIV,
  		.int_bits = 4,
  		.frac_bits = 8),
@@ -114,7 +114,7 @@ Reviewed-by: Eric Anholt <eric at anholt.net>
  	/* HDMI state machine */
  	[BCM2835_CLOCK_HSM]	= REGISTER_PER_CLK(
  		.name = "hsm",
-@@ -1684,12 +1746,26 @@ static const struct bcm2835_clk_desc clk
+@@ -1686,12 +1748,26 @@ static const struct bcm2835_clk_desc clk
  		.int_bits = 12,
  		.frac_bits = 12,
  		.is_mash_clock = true),
@@ -141,7 +141,7 @@ Reviewed-by: Eric Anholt <eric at anholt.net>
  	/* TV encoder clock.  Only operating frequency is 108Mhz.  */
  	[BCM2835_CLOCK_VEC]	= REGISTER_PER_CLK(
  		.name = "vec",
-@@ -1698,6 +1774,20 @@ static const struct bcm2835_clk_desc clk
+@@ -1700,6 +1776,20 @@ static const struct bcm2835_clk_desc clk
  		.int_bits = 4,
  		.frac_bits = 0),
  
diff --git a/target/linux/brcm2708/patches-4.4/0345-clk-bcm2835-Mark-the-VPU-clock-as-critical.patch b/target/linux/brcm2708/patches-4.4/0345-clk-bcm2835-Mark-the-VPU-clock-as-critical.patch
index 952ff01..dcd6db2 100644
--- a/target/linux/brcm2708/patches-4.4/0345-clk-bcm2835-Mark-the-VPU-clock-as-critical.patch
+++ b/target/linux/brcm2708/patches-4.4/0345-clk-bcm2835-Mark-the-VPU-clock-as-critical.patch
@@ -27,7 +27,7 @@ Signed-off-by: Eric Anholt <eric at anholt.net>
  	bool is_vpu_clock;
  	bool is_mash_clock;
  };
-@@ -1242,7 +1244,7 @@ static struct clk *bcm2835_register_cloc
+@@ -1244,7 +1246,7 @@ static struct clk *bcm2835_register_cloc
  	init.parent_names = parents;
  	init.num_parents = data->num_mux_parents;
  	init.name = data->name;
@@ -36,7 +36,7 @@ Signed-off-by: Eric Anholt <eric at anholt.net>
  
  	if (data->is_vpu_clock) {
  		init.ops = &bcm2835_vpu_clock_clk_ops;
-@@ -1661,6 +1663,7 @@ static const struct bcm2835_clk_desc clk
+@@ -1663,6 +1665,7 @@ static const struct bcm2835_clk_desc clk
  		.div_reg = CM_VPUDIV,
  		.int_bits = 12,
  		.frac_bits = 8,
diff --git a/target/linux/brcm2708/patches-4.4/0346-clk-bcm2835-Mark-GPIO-clocks-enabled-at-boot-as-crit.patch b/target/linux/brcm2708/patches-4.4/0346-clk-bcm2835-Mark-GPIO-clocks-enabled-at-boot-as-crit.patch
index 8c56452..be63d82 100644
--- a/target/linux/brcm2708/patches-4.4/0346-clk-bcm2835-Mark-GPIO-clocks-enabled-at-boot-as-crit.patch
+++ b/target/linux/brcm2708/patches-4.4/0346-clk-bcm2835-Mark-GPIO-clocks-enabled-at-boot-as-crit.patch
@@ -19,7 +19,7 @@ Signed-off-by: Eric Anholt <eric at anholt.net>
 
 --- a/drivers/clk/bcm/clk-bcm2835.c
 +++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -1246,6 +1246,15 @@ static struct clk *bcm2835_register_cloc
+@@ -1248,6 +1248,15 @@ static struct clk *bcm2835_register_cloc
  	init.name = data->name;
  	init.flags = data->flags | CLK_IGNORE_UNUSED;
  
@@ -35,7 +35,7 @@ Signed-off-by: Eric Anholt <eric at anholt.net>
  	if (data->is_vpu_clock) {
  		init.ops = &bcm2835_vpu_clock_clk_ops;
  	} else {
-@@ -1720,13 +1729,15 @@ static const struct bcm2835_clk_desc clk
+@@ -1722,13 +1731,15 @@ static const struct bcm2835_clk_desc clk
  		.div_reg = CM_GP1DIV,
  		.int_bits = 12,
  		.frac_bits = 12,
diff --git a/target/linux/brcm2708/patches-4.4/0347-clk-bcm2835-Skip-PLLC-clocks-when-deciding-on-a-new-.patch b/target/linux/brcm2708/patches-4.4/0347-clk-bcm2835-Skip-PLLC-clocks-when-deciding-on-a-new-.patch
index d2eefe8..8b62deb 100644
--- a/target/linux/brcm2708/patches-4.4/0347-clk-bcm2835-Skip-PLLC-clocks-when-deciding-on-a-new-.patch
+++ b/target/linux/brcm2708/patches-4.4/0347-clk-bcm2835-Skip-PLLC-clocks-when-deciding-on-a-new-.patch
@@ -22,7 +22,7 @@ Fixes: 41691b8862e2 ("clk: bcm2835: Add support for programming the audio domain
 
 --- a/drivers/clk/bcm/clk-bcm2835.c
 +++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -1020,16 +1020,28 @@ static int bcm2835_clock_set_rate(struct
+@@ -1022,16 +1022,28 @@ static int bcm2835_clock_set_rate(struct
  	return 0;
  }
  
@@ -51,7 +51,7 @@ Fixes: 41691b8862e2 ("clk: bcm2835: Add support for programming the audio domain
  	/*
  	 * Select parent clock that results in the closest but lower rate
  	 */
-@@ -1037,6 +1049,17 @@ static int bcm2835_clock_determine_rate(
+@@ -1039,6 +1051,17 @@ static int bcm2835_clock_determine_rate(
  		parent = clk_hw_get_parent_by_index(hw, i);
  		if (!parent)
  			continue;
diff --git a/target/linux/brcm2708/patches-4.4/0431-clk-bcm2835-Mark-the-CM-SDRAM-clock-s-parent-as-crit.patch b/target/linux/brcm2708/patches-4.4/0431-clk-bcm2835-Mark-the-CM-SDRAM-clock-s-parent-as-crit.patch
index 60ad59d..77f7aaf 100644
--- a/target/linux/brcm2708/patches-4.4/0431-clk-bcm2835-Mark-the-CM-SDRAM-clock-s-parent-as-crit.patch
+++ b/target/linux/brcm2708/patches-4.4/0431-clk-bcm2835-Mark-the-CM-SDRAM-clock-s-parent-as-crit.patch
@@ -26,7 +26,7 @@ Signed-off-by: Eric Anholt <eric at anholt.net>
  #include <linux/clk/bcm2835.h>
  #include <linux/debugfs.h>
  #include <linux/module.h>
-@@ -1839,6 +1840,25 @@ static const struct bcm2835_clk_desc clk
+@@ -1841,6 +1842,25 @@ static const struct bcm2835_clk_desc clk
  		.ctl_reg = CM_PERIICTL),
  };
  
@@ -52,7 +52,7 @@ Signed-off-by: Eric Anholt <eric at anholt.net>
  static int bcm2835_clk_probe(struct platform_device *pdev)
  {
  	struct device *dev = &pdev->dev;
-@@ -1848,6 +1868,7 @@ static int bcm2835_clk_probe(struct plat
+@@ -1850,6 +1870,7 @@ static int bcm2835_clk_probe(struct plat
  	const struct bcm2835_clk_desc *desc;
  	const size_t asize = ARRAY_SIZE(clk_desc_array);
  	size_t i;
@@ -60,7 +60,7 @@ Signed-off-by: Eric Anholt <eric at anholt.net>
  
  	cprman = devm_kzalloc(dev,
  			      sizeof(*cprman) + asize * sizeof(*clks),
-@@ -1878,6 +1899,10 @@ static int bcm2835_clk_probe(struct plat
+@@ -1880,6 +1901,10 @@ static int bcm2835_clk_probe(struct plat
  			clks[i] = desc->clk_register(cprman, desc->data);
  	}
  
diff --git a/target/linux/brcm2708/patches-4.4/0432-clk-bcm2835-Don-t-rate-change-PLLs-on-behalf-of-divi.patch b/target/linux/brcm2708/patches-4.4/0432-clk-bcm2835-Don-t-rate-change-PLLs-on-behalf-of-divi.patch
index c5233b5..5d8d344 100644
--- a/target/linux/brcm2708/patches-4.4/0432-clk-bcm2835-Don-t-rate-change-PLLs-on-behalf-of-divi.patch
+++ b/target/linux/brcm2708/patches-4.4/0432-clk-bcm2835-Don-t-rate-change-PLLs-on-behalf-of-divi.patch
@@ -16,7 +16,7 @@ Signed-off-by: Eric Anholt <eric at anholt.net>
 
 --- a/drivers/clk/bcm/clk-bcm2835.c
 +++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -1209,7 +1209,7 @@ bcm2835_register_pll_divider(struct bcm2
+@@ -1211,7 +1211,7 @@ bcm2835_register_pll_divider(struct bcm2
  	init.num_parents = 1;
  	init.name = divider_name;
  	init.ops = &bcm2835_pll_divider_clk_ops;
diff --git a/target/linux/brcm2708/patches-4.4/0433-clk-bcm2835-Do-appropriate-name-lookups-for-DSI1-s-p.patch b/target/linux/brcm2708/patches-4.4/0433-clk-bcm2835-Do-appropriate-name-lookups-for-DSI1-s-p.patch
index e0b3ba2..e4b5b45 100644
--- a/target/linux/brcm2708/patches-4.4/0433-clk-bcm2835-Do-appropriate-name-lookups-for-DSI1-s-p.patch
+++ b/target/linux/brcm2708/patches-4.4/0433-clk-bcm2835-Do-appropriate-name-lookups-for-DSI1-s-p.patch
@@ -64,7 +64,7 @@ Signed-off-by: Eric Anholt <eric at anholt.net>
  
  	struct clk_onecell_data onecell;
  	struct clk *clks[];
-@@ -1168,7 +1186,7 @@ static struct clk *bcm2835_register_pll(
+@@ -1170,7 +1188,7 @@ static struct clk *bcm2835_register_pll(
  	memset(&init, 0, sizeof(init));
  
  	/* All of the PLLs derive from the external oscillator. */
@@ -73,7 +73,7 @@ Signed-off-by: Eric Anholt <eric at anholt.net>
  	init.num_parents = 1;
  	init.name = data->name;
  	init.ops = &bcm2835_pll_clk_ops;
-@@ -1251,17 +1269,21 @@ static struct clk *bcm2835_register_cloc
+@@ -1253,17 +1271,21 @@ static struct clk *bcm2835_register_cloc
  	struct bcm2835_clock *clock;
  	struct clk_init_data init;
  	const char *parents[1 << CM_SRC_BITS];
@@ -102,7 +102,7 @@ Signed-off-by: Eric Anholt <eric at anholt.net>
  	}
  
  	memset(&init, 0, sizeof(init));
-@@ -1883,8 +1905,18 @@ static int bcm2835_clk_probe(struct plat
+@@ -1885,8 +1907,18 @@ static int bcm2835_clk_probe(struct plat
  	if (IS_ERR(cprman->regs))
  		return PTR_ERR(cprman->regs);
  
diff --git a/target/linux/brcm2708/patches-4.4/0434-clk-bcm2835-Add-an-enum-for-the-DSI1-pixel-clock.patch b/target/linux/brcm2708/patches-4.4/0434-clk-bcm2835-Add-an-enum-for-the-DSI1-pixel-clock.patch
index 7d6e9f7..3bcb1da 100644
--- a/target/linux/brcm2708/patches-4.4/0434-clk-bcm2835-Add-an-enum-for-the-DSI1-pixel-clock.patch
+++ b/target/linux/brcm2708/patches-4.4/0434-clk-bcm2835-Add-an-enum-for-the-DSI1-pixel-clock.patch
@@ -11,7 +11,7 @@ Signed-off-by: Eric Anholt <eric at anholt.net>
 
 --- a/drivers/clk/bcm/clk-bcm2835.c
 +++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -934,6 +934,9 @@ static long bcm2835_clock_rate_from_divi
+@@ -936,6 +936,9 @@ static long bcm2835_clock_rate_from_divi
  	const struct bcm2835_clock_data *data = clock->data;
  	u64 temp;
  
@@ -21,7 +21,7 @@ Signed-off-by: Eric Anholt <eric at anholt.net>
  	/*
  	 * The divisor is a 12.12 fixed point field, but only some of
  	 * the bits are populated in any given clock.
-@@ -957,7 +960,12 @@ static unsigned long bcm2835_clock_get_r
+@@ -959,7 +962,12 @@ static unsigned long bcm2835_clock_get_r
  	struct bcm2835_clock *clock = bcm2835_clock_from_hw(hw);
  	struct bcm2835_cprman *cprman = clock->cprman;
  	const struct bcm2835_clock_data *data = clock->data;
@@ -35,7 +35,7 @@ Signed-off-by: Eric Anholt <eric at anholt.net>
  
  	return bcm2835_clock_rate_from_divisor(clock, parent_rate, div);
  }
-@@ -1403,6 +1411,28 @@ static const char *const bcm2835_clock_v
+@@ -1405,6 +1413,28 @@ static const char *const bcm2835_clock_v
  	__VA_ARGS__)
  
  /*
@@ -64,7 +64,7 @@ Signed-off-by: Eric Anholt <eric at anholt.net>
   * the real definition of all the pll, pll_dividers and clocks
   * these make use of the above REGISTER_* macros
   */
-@@ -1847,7 +1877,12 @@ static const struct bcm2835_clk_desc clk
+@@ -1849,7 +1879,12 @@ static const struct bcm2835_clk_desc clk
  		.div_reg = CM_DSI1EDIV,
  		.int_bits = 4,
  		.frac_bits = 8),
diff --git a/target/linux/brcm47xx/patches-4.4/400-mtd-bcm47xxpart-get-nvram.patch b/target/linux/brcm47xx/patches-4.4/400-mtd-bcm47xxpart-get-nvram.patch
index 9ffc4ca..64184c0 100644
--- a/target/linux/brcm47xx/patches-4.4/400-mtd-bcm47xxpart-get-nvram.patch
+++ b/target/linux/brcm47xx/patches-4.4/400-mtd-bcm47xxpart-get-nvram.patch
@@ -1,14 +1,14 @@
 --- a/drivers/mtd/bcm47xxpart.c
 +++ b/drivers/mtd/bcm47xxpart.c
-@@ -127,6 +127,7 @@ static int bcm47xxpart_parse(struct mtd_
- 	int last_trx_part = -1;
+@@ -217,6 +217,7 @@ static int bcm47xxpart_parse(struct mtd_
+ 	int trx_num = 0; /* Number of found TRX partitions */
  	int possible_nvram_sizes[] = { 0x8000, 0xF000, 0x10000, };
  	int err;
 +	bool found_nvram = false;
  
  	/*
  	 * Some really old flashes (like AT45DB*) had smaller erasesize-s, but
-@@ -332,12 +333,23 @@ static int bcm47xxpart_parse(struct mtd_
+@@ -384,12 +385,23 @@ static int bcm47xxpart_parse(struct mtd_
  		if (buf[0] == NVRAM_HEADER) {
  			bcm47xxpart_add_part(&parts[curr_part++], "nvram",
  					     master->size - blocksize, 0);
diff --git a/target/linux/ipq806x/patches-4.4/096-04-usb-dwc3-DWC_usb31-controller-check.patch b/target/linux/ipq806x/patches-4.4/096-04-usb-dwc3-DWC_usb31-controller-check.patch
index d522bb7..b6f5830 100644
--- a/target/linux/ipq806x/patches-4.4/096-04-usb-dwc3-DWC_usb31-controller-check.patch
+++ b/target/linux/ipq806x/patches-4.4/096-04-usb-dwc3-DWC_usb31-controller-check.patch
@@ -13,7 +13,7 @@ Signed-off-by: Felipe Balbi <balbi at kernel.org>
 
 --- a/drivers/usb/dwc3/core.h
 +++ b/drivers/usb/dwc3/core.h
-@@ -1021,6 +1021,12 @@ struct dwc3_gadget_ep_cmd_params {
+@@ -1019,6 +1019,12 @@ struct dwc3_gadget_ep_cmd_params {
  void dwc3_set_mode(struct dwc3 *dwc, u32 mode);
  int dwc3_gadget_resize_tx_fifos(struct dwc3 *dwc);
  
diff --git a/target/linux/ipq806x/patches-4.4/096-05-usb-dwc3-Update-register-fields-for-SuperSpeedPlus.patch b/target/linux/ipq806x/patches-4.4/096-05-usb-dwc3-Update-register-fields-for-SuperSpeedPlus.patch
index 0030446..264893d 100644
--- a/target/linux/ipq806x/patches-4.4/096-05-usb-dwc3-Update-register-fields-for-SuperSpeedPlus.patch
+++ b/target/linux/ipq806x/patches-4.4/096-05-usb-dwc3-Update-register-fields-for-SuperSpeedPlus.patch
@@ -14,7 +14,7 @@ Signed-off-by: Felipe Balbi <balbi at kernel.org>
 
 --- a/drivers/usb/dwc3/core.h
 +++ b/drivers/usb/dwc3/core.h
-@@ -222,7 +222,8 @@
+@@ -220,7 +220,8 @@
  /* Global HWPARAMS3 Register */
  #define DWC3_GHWPARAMS3_SSPHY_IFC(n)		((n) & 3)
  #define DWC3_GHWPARAMS3_SSPHY_IFC_DIS		0
@@ -24,7 +24,7 @@ Signed-off-by: Felipe Balbi <balbi at kernel.org>
  #define DWC3_GHWPARAMS3_HSPHY_IFC(n)		(((n) & (3 << 2)) >> 2)
  #define DWC3_GHWPARAMS3_HSPHY_IFC_DIS		0
  #define DWC3_GHWPARAMS3_HSPHY_IFC_UTMI		1
-@@ -248,6 +249,7 @@
+@@ -246,6 +247,7 @@
  #define DWC3_DCFG_DEVADDR_MASK	DWC3_DCFG_DEVADDR(0x7f)
  
  #define DWC3_DCFG_SPEED_MASK	(7 << 0)
@@ -32,7 +32,7 @@ Signed-off-by: Felipe Balbi <balbi at kernel.org>
  #define DWC3_DCFG_SUPERSPEED	(4 << 0)
  #define DWC3_DCFG_HIGHSPEED	(0 << 0)
  #define DWC3_DCFG_FULLSPEED2	(1 << 0)
-@@ -338,6 +340,7 @@
+@@ -336,6 +338,7 @@
  
  #define DWC3_DSTS_CONNECTSPD		(7 << 0)
  
diff --git a/target/linux/ipq806x/patches-4.4/096-07-usb-dwc3-drop-FIFO-resizing-logic.patch b/target/linux/ipq806x/patches-4.4/096-07-usb-dwc3-drop-FIFO-resizing-logic.patch
index a6510d8..132d131 100644
--- a/target/linux/ipq806x/patches-4.4/096-07-usb-dwc3-drop-FIFO-resizing-logic.patch
+++ b/target/linux/ipq806x/patches-4.4/096-07-usb-dwc3-drop-FIFO-resizing-logic.patch
@@ -82,7 +82,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>
  
 --- a/drivers/usb/dwc3/core.h
 +++ b/drivers/usb/dwc3/core.h
-@@ -707,9 +707,7 @@ struct dwc3_scratchpad_array {
+@@ -705,9 +705,7 @@ struct dwc3_scratchpad_array {
   * 	0	- utmi_sleep_n
   * 	1	- utmi_l1_suspend_n
   * @is_fpga: true when we are using the FPGA board
@@ -92,7 +92,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>
   * @setup_packet_pending: true when there's a Setup Packet in FIFO. Workaround
   * @start_config_issued: true when StartConfig command has been issued
   * @three_stage_setup: set if we perform a three phase setup
-@@ -852,9 +850,7 @@ struct dwc3 {
+@@ -850,9 +848,7 @@ struct dwc3 {
  	unsigned		has_lpm_erratum:1;
  	unsigned		is_utmi_l1_suspend:1;
  	unsigned		is_fpga:1;
@@ -102,7 +102,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>
  	unsigned		setup_packet_pending:1;
  	unsigned		three_stage_setup:1;
  	unsigned		usb3_lpm_capable:1;
-@@ -1022,7 +1018,6 @@ struct dwc3_gadget_ep_cmd_params {
+@@ -1020,7 +1016,6 @@ struct dwc3_gadget_ep_cmd_params {
  
  /* prototypes */
  void dwc3_set_mode(struct dwc3 *dwc, u32 mode);
@@ -112,7 +112,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>
  static inline bool dwc3_is_usb31(struct dwc3 *dwc)
 --- a/drivers/usb/dwc3/ep0.c
 +++ b/drivers/usb/dwc3/ep0.c
-@@ -583,9 +583,6 @@ static int dwc3_ep0_set_config(struct dw
+@@ -587,9 +587,6 @@ static int dwc3_ep0_set_config(struct dw
  			reg = dwc3_readl(dwc->regs, DWC3_DCTL);
  			reg |= (DWC3_DCTL_ACCEPTU1ENA | DWC3_DCTL_ACCEPTU2ENA);
  			dwc3_writel(dwc->regs, DWC3_DCTL, reg);
@@ -122,7 +122,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>
  		}
  		break;
  
-@@ -1020,12 +1017,6 @@ static int dwc3_ep0_start_control_status
+@@ -1028,12 +1025,6 @@ static int dwc3_ep0_start_control_status
  
  static void __dwc3_ep0_do_control_status(struct dwc3 *dwc, struct dwc3_ep *dep)
  {
diff --git a/target/linux/ipq806x/patches-4.4/096-08-usb-dwc3-remove-num_event_buffers.patch b/target/linux/ipq806x/patches-4.4/096-08-usb-dwc3-remove-num_event_buffers.patch
index 32ff364..5067548 100644
--- a/target/linux/ipq806x/patches-4.4/096-08-usb-dwc3-remove-num_event_buffers.patch
+++ b/target/linux/ipq806x/patches-4.4/096-08-usb-dwc3-remove-num_event_buffers.patch
@@ -143,7 +143,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>
  static int dwc3_alloc_scratch_buffers(struct dwc3 *dwc)
 --- a/drivers/usb/dwc3/core.h
 +++ b/drivers/usb/dwc3/core.h
-@@ -665,7 +665,6 @@ struct dwc3_scratchpad_array {
+@@ -663,7 +663,6 @@ struct dwc3_scratchpad_array {
   * @regs: base address for our registers
   * @regs_size: address space size
   * @nr_scratch: number of scratch buffers
@@ -151,7 +151,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>
   * @u1u2: only used on revisions <1.83a for workaround
   * @maximum_speed: maximum speed requested (mainly for testing purposes)
   * @revision: revision register contents
-@@ -775,7 +774,6 @@ struct dwc3 {
+@@ -773,7 +772,6 @@ struct dwc3 {
  	u32			gctl;
  
  	u32			nr_scratch;
diff --git a/target/linux/ipq806x/patches-4.4/096-09-usb-dwc3-drop-ev_buffs-array.patch b/target/linux/ipq806x/patches-4.4/096-09-usb-dwc3-drop-ev_buffs-array.patch
index 34f4211..827b621 100644
--- a/target/linux/ipq806x/patches-4.4/096-09-usb-dwc3-drop-ev_buffs-array.patch
+++ b/target/linux/ipq806x/patches-4.4/096-09-usb-dwc3-drop-ev_buffs-array.patch
@@ -65,7 +65,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>
  
 --- a/drivers/usb/dwc3/core.h
 +++ b/drivers/usb/dwc3/core.h
-@@ -750,7 +750,7 @@ struct dwc3 {
+@@ -748,7 +748,7 @@ struct dwc3 {
  	struct platform_device	*xhci;
  	struct resource		xhci_resources[DWC3_XHCI_RESOURCES_NUM];
  
diff --git a/target/linux/ipq806x/patches-4.4/111-PCI-qcom-Add-Qualcomm-PCIe-controller-driver.patch b/target/linux/ipq806x/patches-4.4/111-PCI-qcom-Add-Qualcomm-PCIe-controller-driver.patch
index 4d90798..b140787 100644
--- a/target/linux/ipq806x/patches-4.4/111-PCI-qcom-Add-Qualcomm-PCIe-controller-driver.patch
+++ b/target/linux/ipq806x/patches-4.4/111-PCI-qcom-Add-Qualcomm-PCIe-controller-driver.patch
@@ -34,7 +34,7 @@ MAINTAINERS                  |    7 +
 
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
-@@ -8253,6 +8253,13 @@ S:	Maintained
+@@ -8248,6 +8248,13 @@ S:	Maintained
  F:	Documentation/devicetree/bindings/pci/hisilicon-pcie.txt
  F:	drivers/pci/host/pcie-hisi.c
  
diff --git a/target/linux/lantiq/patches-4.4/0302-xrx200-add-sensors-driver.patch b/target/linux/lantiq/patches-4.4/0302-xrx200-add-sensors-driver.patch
index 33ff535..7256208 100644
--- a/target/linux/lantiq/patches-4.4/0302-xrx200-add-sensors-driver.patch
+++ b/target/linux/lantiq/patches-4.4/0302-xrx200-add-sensors-driver.patch
@@ -10,7 +10,7 @@
  obj-$(CONFIG_SENSORS_MAX1619)	+= max1619.o
 --- a/drivers/hwmon/Kconfig
 +++ b/drivers/hwmon/Kconfig
-@@ -762,6 +762,14 @@ config SENSORS_LTC4261
+@@ -753,6 +753,14 @@ config SENSORS_LTC4261
  	  This driver can also be built as a module. If so, the module will
  	  be called ltc4261.
  
diff --git a/target/linux/mediatek/patches-4.4/0019-xhci-mediatek-support-MTK-xHCI-host-controller.patch b/target/linux/mediatek/patches-4.4/0019-xhci-mediatek-support-MTK-xHCI-host-controller.patch
index 055ea03..8704a79 100644
--- a/target/linux/mediatek/patches-4.4/0019-xhci-mediatek-support-MTK-xHCI-host-controller.patch
+++ b/target/linux/mediatek/patches-4.4/0019-xhci-mediatek-support-MTK-xHCI-host-controller.patch
@@ -1428,7 +1428,7 @@ Reviewed-by: Daniel Thompson <daniel.thompson at linaro.org>
  
  /*
   * Returns zero if the TRB isn't in this segment, otherwise it returns the DMA
-@@ -3088,17 +3089,22 @@ static u32 xhci_td_remainder(struct xhci
+@@ -3121,17 +3122,22 @@ static u32 xhci_td_remainder(struct xhci
  {
  	u32 maxp, total_packet_count;
  
@@ -1455,7 +1455,7 @@ Reviewed-by: Daniel Thompson <daniel.thompson at linaro.org>
  	/* Queueing functions don't count the current TRB into transferred */
  	return (total_packet_count - ((transferred + trb_buff_len) / maxp));
  }
-@@ -3486,7 +3492,7 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
+@@ -3519,7 +3525,7 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
  		field |= 0x1;
  
  	/* xHCI 1.0/1.1 6.4.1.2.1: Transfer Type field */
@@ -1515,11 +1515,11 @@ Reviewed-by: Daniel Thompson <daniel.thompson at linaro.org>
  
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1631,6 +1631,7 @@ struct xhci_hcd {
+@@ -1634,6 +1634,7 @@ struct xhci_hcd {
  /* For controllers with a broken beyond repair streams implementation */
  #define XHCI_BROKEN_STREAMS	(1 << 19)
  #define XHCI_PME_STUCK_QUIRK	(1 << 20)
 +#define XHCI_MTK_HOST		(1 << 21)
+ #define XHCI_MISSING_CAS	(1 << 24)
  	unsigned int		num_active_eps;
  	unsigned int		limit_active_eps;
- 	/* There are two roothubs to keep track of bus suspend info for */
diff --git a/target/linux/mediatek/patches-4.4/0051-net-next-mediatek-add-an-entry-to-MAINTAINERS.patch b/target/linux/mediatek/patches-4.4/0051-net-next-mediatek-add-an-entry-to-MAINTAINERS.patch
index 0fc9b37..10690b2 100644
--- a/target/linux/mediatek/patches-4.4/0051-net-next-mediatek-add-an-entry-to-MAINTAINERS.patch
+++ b/target/linux/mediatek/patches-4.4/0051-net-next-mediatek-add-an-entry-to-MAINTAINERS.patch
@@ -13,7 +13,7 @@ Signed-off-by: John Crispin <blogic at openwrt.org>
 
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
-@@ -6907,6 +6907,13 @@ F:	include/uapi/linux/meye.h
+@@ -6902,6 +6902,13 @@ F:	include/uapi/linux/meye.h
  F:	include/uapi/linux/ivtv*
  F:	include/uapi/linux/uvcvideo.h
  
diff --git a/target/linux/mediatek/patches-4.4/0099-MAINTAINERS-change-my-email-address.patch b/target/linux/mediatek/patches-4.4/0099-MAINTAINERS-change-my-email-address.patch
index f0cf4ea..1bad613 100644
--- a/target/linux/mediatek/patches-4.4/0099-MAINTAINERS-change-my-email-address.patch
+++ b/target/linux/mediatek/patches-4.4/0099-MAINTAINERS-change-my-email-address.patch
@@ -12,7 +12,7 @@ Signed-off-by: John Crispin <john at phrozen.org>
 
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
-@@ -6909,7 +6909,7 @@ F:	include/uapi/linux/uvcvideo.h
+@@ -6904,7 +6904,7 @@ F:	include/uapi/linux/uvcvideo.h
  
  MEDIATEK ETHERNET DRIVER
  M:	Felix Fietkau <nbd at nbd.name>
diff --git a/target/linux/mediatek/patches-4.4/0100-MAINTAINERS-add-Sean-as-mediatek-ethernet-maintainer.patch b/target/linux/mediatek/patches-4.4/0100-MAINTAINERS-add-Sean-as-mediatek-ethernet-maintainer.patch
index b3ebaf1..145868c 100644
--- a/target/linux/mediatek/patches-4.4/0100-MAINTAINERS-add-Sean-as-mediatek-ethernet-maintainer.patch
+++ b/target/linux/mediatek/patches-4.4/0100-MAINTAINERS-add-Sean-as-mediatek-ethernet-maintainer.patch
@@ -15,7 +15,7 @@ Signed-off-by: John Crispin <john at phrozen.org>
 
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
-@@ -6910,6 +6910,7 @@ F:	include/uapi/linux/uvcvideo.h
+@@ -6905,6 +6905,7 @@ F:	include/uapi/linux/uvcvideo.h
  MEDIATEK ETHERNET DRIVER
  M:	Felix Fietkau <nbd at nbd.name>
  M:	John Crispin <john at phrozen.org>
diff --git a/target/linux/ramips/patches-4.4/0033-xhci-mediatek-support-MTK-xHCI-host-controller.patch b/target/linux/ramips/patches-4.4/0033-xhci-mediatek-support-MTK-xHCI-host-controller.patch
index 1bd2974..76b2d15 100644
--- a/target/linux/ramips/patches-4.4/0033-xhci-mediatek-support-MTK-xHCI-host-controller.patch
+++ b/target/linux/ramips/patches-4.4/0033-xhci-mediatek-support-MTK-xHCI-host-controller.patch
@@ -1420,7 +1420,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
  
  /*
   * Returns zero if the TRB isn't in this segment, otherwise it returns the DMA
-@@ -3088,17 +3089,22 @@ static u32 xhci_td_remainder(struct xhci
+@@ -3121,17 +3122,22 @@ static u32 xhci_td_remainder(struct xhci
  {
  	u32 maxp, total_packet_count;
  
@@ -1447,7 +1447,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
  	/* Queueing functions don't count the current TRB into transferred */
  	return (total_packet_count - ((transferred + trb_buff_len) / maxp));
  }
-@@ -3486,7 +3492,7 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
+@@ -3519,7 +3525,7 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
  		field |= 0x1;
  
  	/* xHCI 1.0/1.1 6.4.1.2.1: Transfer Type field */
@@ -1507,11 +1507,11 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
  
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1631,6 +1631,7 @@ struct xhci_hcd {
+@@ -1634,6 +1634,7 @@ struct xhci_hcd {
  /* For controllers with a broken beyond repair streams implementation */
  #define XHCI_BROKEN_STREAMS	(1 << 19)
  #define XHCI_PME_STUCK_QUIRK	(1 << 20)
 +#define XHCI_MTK_HOST		(1 << 21)
+ #define XHCI_MISSING_CAS	(1 << 24)
  	unsigned int		num_active_eps;
  	unsigned int		limit_active_eps;
- 	/* There are two roothubs to keep track of bus suspend info for */
diff --git a/target/linux/ramips/patches-4.4/0046-mmc-MIPS-ralink-add-sdhci-for-mt7620a-SoC.patch b/target/linux/ramips/patches-4.4/0046-mmc-MIPS-ralink-add-sdhci-for-mt7620a-SoC.patch
index 67c0b29..3ec5fbc 100644
--- a/target/linux/ramips/patches-4.4/0046-mmc-MIPS-ralink-add-sdhci-for-mt7620a-SoC.patch
+++ b/target/linux/ramips/patches-4.4/0046-mmc-MIPS-ralink-add-sdhci-for-mt7620a-SoC.patch
@@ -25,7 +25,7 @@ Signed-off-by: John Crispin <blogic at openwrt.org>
 
 --- a/drivers/mmc/host/Kconfig
 +++ b/drivers/mmc/host/Kconfig
-@@ -811,3 +811,5 @@ config MMC_MTK
+@@ -786,3 +786,5 @@ config MMC_MTK
  	  If you have a machine with a integrated SD/MMC card reader, say Y or M here.
  	  This is needed if support for any SD/SDIO/MMC devices is required.
  	  If unsure, say N.
diff --git a/target/linux/ramips/patches-4.4/0519-gsw_mt7621.patch b/target/linux/ramips/patches-4.4/0519-gsw_mt7621.patch
index c8fbc64..e146de2 100644
--- a/target/linux/ramips/patches-4.4/0519-gsw_mt7621.patch
+++ b/target/linux/ramips/patches-4.4/0519-gsw_mt7621.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/ethernet/mediatek/mt7530.c
 +++ b/drivers/net/ethernet/mediatek/mt7530.c
-@@ -543,6 +543,7 @@ mt7530_apply_config(struct switch_dev *d
+@@ -547,6 +547,7 @@ mt7530_apply_config(struct switch_dev *d
  		u8 etags = priv->vlan_entries[i].etags;
  		u32 val;
  
@@ -8,7 +8,7 @@
  		/* vid of vlan */
  		val = mt7530_r32(priv, REG_ESW_VLAN_VTIM(i));
  		if (i % 2 == 0) {
-@@ -553,7 +554,7 @@ mt7530_apply_config(struct switch_dev *d
+@@ -557,7 +558,7 @@ mt7530_apply_config(struct switch_dev *d
  			val |= (vid << 12);
  		}
  		mt7530_w32(priv, REG_ESW_VLAN_VTIM(i), val);
@@ -17,7 +17,7 @@
  		/* vlan port membership */
  		if (member)
  			mt7530_w32(priv, REG_ESW_VLAN_VAWD1, REG_ESW_VLAN_VAWD1_IVL_MAC |
-@@ -573,7 +574,11 @@ mt7530_apply_config(struct switch_dev *d
+@@ -577,7 +578,11 @@ mt7530_apply_config(struct switch_dev *d
  		mt7530_w32(priv, REG_ESW_VLAN_VAWD2, val);
  
  		/* write to vlan table */
diff --git a/target/linux/ramips/patches-4.4/200-rt3883-fix-pinctrl-typo.patch b/target/linux/ramips/patches-4.4/200-rt3883-fix-pinctrl-typo.patch
index f784d85..aa55fd9 100644
--- a/target/linux/ramips/patches-4.4/200-rt3883-fix-pinctrl-typo.patch
+++ b/target/linux/ramips/patches-4.4/200-rt3883-fix-pinctrl-typo.patch
@@ -8,11 +8,9 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
  arch/mips/ralink/rt3883.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/arch/mips/ralink/rt3883.c b/arch/mips/ralink/rt3883.c
-index 4cef9162bd9b..47f9849bda3a 100644
 --- a/arch/mips/ralink/rt3883.c
 +++ b/arch/mips/ralink/rt3883.c
-@@ -36,7 +36,7 @@ static struct rt2880_pmx_func uartlite_func[] = { FUNC("uartlite", 0, 15, 2) };
+@@ -36,7 +36,7 @@ static struct rt2880_pmx_func uartlite_f
  static struct rt2880_pmx_func jtag_func[] = { FUNC("jtag", 0, 17, 5) };
  static struct rt2880_pmx_func mdio_func[] = { FUNC("mdio", 0, 22, 2) };
  static struct rt2880_pmx_func lna_a_func[] = { FUNC("lna a", 0, 32, 3) };
@@ -21,6 +19,3 @@ index 4cef9162bd9b..47f9849bda3a 100644
  static struct rt2880_pmx_func pci_func[] = {
  	FUNC("pci-dev", 0, 40, 32),
  	FUNC("pci-host2", 1, 40, 32),
--- 
-2.11.0
-



More information about the lede-commits mailing list