Refreshed all patches.
Compile-tested on: imx6
Runtime-tested on: imx6
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
LINUX_VERSION-4.14 = .172
LINUX_VERSION-4.19 = .108
-LINUX_VERSION-5.4 = .22
+LINUX_VERSION-5.4 = .24
LINUX_KERNEL_HASH-4.14.172 = 2318a1ab937580a079351ed20557c336a3d95b664f667b14e3ba49e3271b217a
LINUX_KERNEL_HASH-4.19.108 = 09aeeca5b08efea2f54b977b2999afb60d42f93b9f65b2b0111969f183f750a3
-LINUX_KERNEL_HASH-5.4.22 = 661bcb8d7e390dcc28e53795485e648f2bdc9b697b731459cc2bcc9ceb4a7d1a
+LINUX_KERNEL_HASH-5.4.24 = 7fa0ac784c78129beed43260a7a22a077f1041ac0e8e88647284d2cf7b1d7eb3
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
#include "xhci.h"
#include "xhci-trace.h"
-@@ -56,6 +58,44 @@
+@@ -57,6 +59,44 @@
#define PCI_DEVICE_ID_AMD_PROMONTORYA_1 0x43bc
#define PCI_DEVICE_ID_ASMEDIA_1042A_XHCI 0x1142
static const char hcd_name[] = "xhci_hcd";
static struct hc_driver __read_mostly xhci_pci_hc_driver;
-@@ -281,6 +321,873 @@ static void xhci_pme_acpi_rtd3_enable(st
+@@ -283,6 +323,873 @@ static void xhci_pme_acpi_rtd3_enable(st
static void xhci_pme_acpi_rtd3_enable(struct pci_dev *dev) { }
#endif /* CONFIG_ACPI */
/* called during probe() after chip reset completes */
static int xhci_pci_setup(struct usb_hcd *hcd)
{
-@@ -319,6 +1226,27 @@ static int xhci_pci_probe(struct pci_dev
+@@ -324,6 +1231,27 @@ static int xhci_pci_probe(struct pci_dev
struct hc_driver *driver;
struct usb_hcd *hcd;
driver = (struct hc_driver *)id->driver_data;
/* Prevent runtime suspending between USB-2 and USB-3 initialization */
-@@ -383,6 +1311,16 @@ static void xhci_pci_remove(struct pci_d
+@@ -385,6 +1313,16 @@ static void xhci_pci_remove(struct pci_d
{
struct xhci_hcd *xhci;
xhci = hcd_to_xhci(pci_get_drvdata(dev));
xhci->xhc_state |= XHCI_STATE_REMOVING;
-@@ -510,6 +1448,11 @@ static int xhci_pci_resume(struct usb_hc
+@@ -512,6 +1450,11 @@ static int xhci_pci_resume(struct usb_hc
if (pdev->vendor == PCI_VENDOR_ID_INTEL)
usb_enable_intel_xhci_ports(pdev);
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
-@@ -272,6 +272,7 @@ static void xhci_pci_quirks(struct devic
+@@ -274,6 +274,7 @@ static void xhci_pci_quirks(struct devic
pdev->device == 0x0015) {
xhci->quirks |= XHCI_RESET_ON_RESUME;
xhci->quirks |= XHCI_ZERO_64B_REGS;
hcd->msi_enabled = 1;
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1874,6 +1874,7 @@ struct xhci_hcd {
+@@ -1879,6 +1879,7 @@ struct xhci_hcd {
struct xhci_hub usb2_rhub;
struct xhci_hub usb3_rhub;
/* support xHCI 1.0 spec USB2 hardware LPM */
}
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
-@@ -5296,7 +5296,7 @@ static void port_event(struct usb_hub *h
+@@ -5302,7 +5302,7 @@ static void port_event(struct usb_hub *h
port_dev->over_current_count++;
port_over_current_notify(port_dev);
+ const struct brcmstb_thermal_of_data *socdata;
};
- static void avs_tmon_get_coeffs(struct thermal_zone_device *tz, int *slope,
-@@ -155,17 +162,18 @@ static inline u32 avs_tmon_temp_to_code(
+ /* Convert a HW code to a temperature reading (millidegree celsius) */
+@@ -142,17 +149,18 @@ static inline u32 avs_tmon_temp_to_code(
static int brcmstb_get_temp(void *data, int *temp)
{
struct brcmstb_thermal_priv *priv = data;
t = avs_tmon_code_to_temp(priv->thermal, val);
if (t < 0)
-@@ -290,13 +298,34 @@ static int brcmstb_set_trips(void *data,
+@@ -277,13 +285,34 @@ static int brcmstb_set_trips(void *data,
return 0;
}
{},
};
MODULE_DEVICE_TABLE(of, brcmstb_thermal_id_table);
-@@ -317,11 +346,27 @@ static int brcmstb_thermal_probe(struct
+@@ -304,11 +333,27 @@ static int brcmstb_thermal_probe(struct
if (IS_ERR(priv->tmon_base))
return PTR_ERR(priv->tmon_base);
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
-@@ -241,6 +241,10 @@ static void xhci_pci_quirks(struct devic
+@@ -243,6 +243,10 @@ static void xhci_pci_quirks(struct devic
pdev->device == 0x3432)
xhci->quirks |= XHCI_BROKEN_STREAMS;
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
-@@ -242,8 +242,10 @@ static void xhci_pci_quirks(struct devic
+@@ -244,8 +244,10 @@ static void xhci_pci_quirks(struct devic
xhci->quirks |= XHCI_BROKEN_STREAMS;
if (pdev->vendor == PCI_VENDOR_ID_VIA &&
/*
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1867,6 +1867,7 @@ struct xhci_hcd {
+@@ -1872,6 +1872,7 @@ struct xhci_hcd {
#define XHCI_DEFAULT_PM_RUNTIME_ALLOW BIT_ULL(33)
#define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34)
#define XHCI_SNPS_BROKEN_SUSPEND BIT_ULL(35)
--- a/drivers/usb/host/xhci-mem.c
+++ b/drivers/usb/host/xhci-mem.c
-@@ -2482,9 +2482,11 @@ int xhci_mem_init(struct xhci_hcd *xhci,
+@@ -2503,9 +2503,11 @@ int xhci_mem_init(struct xhci_hcd *xhci,
* Event ring setup: Allocate a normal ring, but also setup
* the event ring segment table (ERST). Section 4.9.3.
*/
if (!xhci->event_ring)
goto fail;
if (xhci_check_trb_in_td_math(xhci) < 0)
-@@ -2497,7 +2499,7 @@ int xhci_mem_init(struct xhci_hcd *xhci,
+@@ -2518,7 +2520,7 @@ int xhci_mem_init(struct xhci_hcd *xhci,
/* set ERST count with the number of entries in the segment table */
val = readl(&xhci->ir_set->erst_size);
val &= ERST_SIZE_MASK;
--- a/Makefile
+++ b/Makefile
-@@ -1243,6 +1243,9 @@ ifneq ($(dtstree),)
+@@ -1238,6 +1238,9 @@ ifneq ($(dtstree),)
%.dtb: include/config/kernel.release scripts_dtc
$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
--- a/drivers/thermal/broadcom/brcmstb_thermal.c
+++ b/drivers/thermal/broadcom/brcmstb_thermal.c
-@@ -303,7 +303,7 @@ static const struct thermal_zone_of_devi
+@@ -290,7 +290,7 @@ static const struct thermal_zone_of_devi
.set_trips = brcmstb_set_trips,
};
.get_temp = brcmstb_get_temp,
};
-@@ -314,8 +314,8 @@ static const struct brcmstb_thermal_of_d
+@@ -301,8 +301,8 @@ static const struct brcmstb_thermal_of_d
.status_data_shift = 1,
};
.status_valid_mask = BIT(10),
.status_data_mask = GENMASK(9, 0),
.status_data_shift = 0,
-@@ -324,8 +324,8 @@ static const struct brcmstb_thermal_of_d
+@@ -311,8 +311,8 @@ static const struct brcmstb_thermal_of_d
static const struct of_device_id brcmstb_thermal_id_table[] = {
{ .compatible = "brcm,avs-tmon",
.data = &bcm7445_thermal_of_data },
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -111,6 +111,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
+@@ -113,6 +113,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
bcm47094-luxul-abr-4500.dtb \
bcm47094-luxul-xap-1610.dtb \
bcm47094-luxul-xbr-4500.dtb \
drivers/usb/host/xhci.h | 1 +
3 files changed, 67 insertions(+), 3 deletions(-)
-Index: linux-5.4.11/drivers/usb/host/xhci-plat.c
-===================================================================
---- linux-5.4.11.orig/drivers/usb/host/xhci-plat.c
-+++ linux-5.4.11/drivers/usb/host/xhci-plat.c
+--- a/drivers/usb/host/xhci-plat.c
++++ b/drivers/usb/host/xhci-plat.c
@@ -67,6 +67,8 @@ static int xhci_priv_resume_quirk(struct
static void xhci_plat_quirks(struct device *dev, struct xhci_hcd *xhci)
{
}
/* called during probe() after chip reset completes */
-Index: linux-5.4.11/drivers/usb/host/xhci.c
-===================================================================
---- linux-5.4.11.orig/drivers/usb/host/xhci.c
-+++ linux-5.4.11/drivers/usb/host/xhci.c
+--- a/drivers/usb/host/xhci.c
++++ b/drivers/usb/host/xhci.c
@@ -156,6 +156,49 @@ int xhci_start(struct xhci_hcd *xhci)
return ret;
}
}
/*
-Index: linux-5.4.11/drivers/usb/host/xhci.h
-===================================================================
---- linux-5.4.11.orig/drivers/usb/host/xhci.h
-+++ linux-5.4.11/drivers/usb/host/xhci.h
-@@ -1867,6 +1867,7 @@ struct xhci_hcd {
+--- a/drivers/usb/host/xhci.h
++++ b/drivers/usb/host/xhci.h
+@@ -1872,6 +1872,7 @@ struct xhci_hcd {
#define XHCI_DEFAULT_PM_RUNTIME_ALLOW BIT_ULL(33)
#define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34)
#define XHCI_SNPS_BROKEN_SUSPEND BIT_ULL(35)
--- a/arch/arm/boot/dts/bcm5301x.dtsi
+++ b/arch/arm/boot/dts/bcm5301x.dtsi
-@@ -400,16 +400,12 @@
+@@ -401,16 +401,12 @@
#size-cells = <1>;
cru@100 {
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -104,6 +104,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
+@@ -106,6 +106,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
bcm4709-buffalo-wxr-1900dhp.dtb \
bcm4709-linksys-ea9200.dtb \
bcm4709-netgear-r7000.dtb \
---
--- a/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
+++ b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
-@@ -101,6 +101,12 @@
- #address-cells = <1>;
- #size-cells = <0>;
+@@ -100,6 +100,12 @@
+ gpio-keys {
+ compatible = "gpio-keys";
+ power {
+ label = "Power";
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
---
-Index: linux-5.4.11/arch/arm/boot/dts/bcm47081-tplink-archer-c5-v2.dts
-===================================================================
---- linux-5.4.11.orig/arch/arm/boot/dts/bcm47081-tplink-archer-c5-v2.dts
-+++ linux-5.4.11/arch/arm/boot/dts/bcm47081-tplink-archer-c5-v2.dts
+--- a/arch/arm/boot/dts/bcm47081-tplink-archer-c5-v2.dts
++++ b/arch/arm/boot/dts/bcm47081-tplink-archer-c5-v2.dts
@@ -12,7 +12,7 @@
model = "TP-LINK Archer C5 V2";
};
memory@0 {
-Index: linux-5.4.11/arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts
-===================================================================
---- linux-5.4.11.orig/arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts
-+++ linux-5.4.11/arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts
+--- a/arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts
@@ -13,7 +13,7 @@
model = "Luxul ABR-4500 V1";
};
memory@0 {
-Index: linux-5.4.11/arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts
-===================================================================
---- linux-5.4.11.orig/arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts
-+++ linux-5.4.11/arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts
+--- a/arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts
@@ -13,7 +13,7 @@
model = "Luxul XBR-4500 V1";
};
memory@0 {
-Index: linux-5.4.11/arch/arm/boot/dts/bcm47189-luxul-xap-1440.dts
-===================================================================
---- linux-5.4.11.orig/arch/arm/boot/dts/bcm47189-luxul-xap-1440.dts
-+++ linux-5.4.11/arch/arm/boot/dts/bcm47189-luxul-xap-1440.dts
+--- a/arch/arm/boot/dts/bcm47189-luxul-xap-1440.dts
++++ b/arch/arm/boot/dts/bcm47189-luxul-xap-1440.dts
@@ -12,7 +12,7 @@
model = "Luxul XAP-1440 V1";
};
memory@0 {
-Index: linux-5.4.11/arch/arm/boot/dts/bcm47189-luxul-xap-810.dts
-===================================================================
---- linux-5.4.11.orig/arch/arm/boot/dts/bcm47189-luxul-xap-810.dts
-+++ linux-5.4.11/arch/arm/boot/dts/bcm47189-luxul-xap-810.dts
+--- a/arch/arm/boot/dts/bcm47189-luxul-xap-810.dts
++++ b/arch/arm/boot/dts/bcm47189-luxul-xap-810.dts
@@ -12,7 +12,7 @@
model = "Luxul XAP-810 V1";
};
memory@0 {
-Index: linux-5.4.11/arch/arm/boot/dts/bcm47094-luxul-xap-1610.dts
-===================================================================
---- linux-5.4.11.orig/arch/arm/boot/dts/bcm47094-luxul-xap-1610.dts
-+++ linux-5.4.11/arch/arm/boot/dts/bcm47094-luxul-xap-1610.dts
+--- a/arch/arm/boot/dts/bcm47094-luxul-xap-1610.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xap-1610.dts
@@ -12,7 +12,7 @@
model = "Luxul XAP-1610 V1";
};
memory@0 {
-Index: linux-5.4.11/arch/arm/boot/dts/bcm47094-luxul-xwr-3150-v1.dts
-===================================================================
---- linux-5.4.11.orig/arch/arm/boot/dts/bcm47094-luxul-xwr-3150-v1.dts
-+++ linux-5.4.11/arch/arm/boot/dts/bcm47094-luxul-xwr-3150-v1.dts
+--- a/arch/arm/boot/dts/bcm47094-luxul-xwr-3150-v1.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xwr-3150-v1.dts
@@ -13,7 +13,7 @@
model = "Luxul XWR-3150 V1";
};
memory@0 {
-Index: linux-5.4.11/arch/arm/boot/dts/bcm47094-phicomm-k3.dts
-===================================================================
---- linux-5.4.11.orig/arch/arm/boot/dts/bcm47094-phicomm-k3.dts
-+++ linux-5.4.11/arch/arm/boot/dts/bcm47094-phicomm-k3.dts
+--- a/arch/arm/boot/dts/bcm47094-phicomm-k3.dts
++++ b/arch/arm/boot/dts/bcm47094-phicomm-k3.dts
@@ -13,6 +13,10 @@
compatible = "phicomm,k3", "brcm,bcm47094", "brcm,bcm4708";
model = "Phicomm K3";
memory@0 {
device_type = "memory";
reg = <0x00000000 0x08000000
-Index: linux-5.4.11/arch/arm/boot/dts/bcm47094-luxul-xwc-2000.dts
-===================================================================
---- linux-5.4.11.orig/arch/arm/boot/dts/bcm47094-luxul-xwc-2000.dts
-+++ linux-5.4.11/arch/arm/boot/dts/bcm47094-luxul-xwc-2000.dts
+--- a/arch/arm/boot/dts/bcm47094-luxul-xwc-2000.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xwc-2000.dts
@@ -13,7 +13,7 @@
model = "Luxul XWC-2000 V1";
--- a/arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts
+++ b/arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts
-@@ -34,6 +34,7 @@
+@@ -35,6 +35,7 @@
partition@0 {
label = "firmware";
reg = <0x00000000 0x08000000>;
--- a/drivers/mtd/ubi/attach.c
+++ b/drivers/mtd/ubi/attach.c
-@@ -95,6 +95,9 @@ static int self_check_ai(struct ubi_devi
+@@ -82,6 +82,9 @@ static int self_check_ai(struct ubi_devi
#define AV_ADD BIT(1)
#define AV_FIND_OR_ADD (AV_FIND | AV_ADD)
/**
* find_or_add_av - internal function to find a volume, add a volume or do
* both (find and add if missing).
-@@ -1592,6 +1595,8 @@ int ubi_attach(struct ubi_device *ubi, i
+@@ -1580,6 +1583,8 @@ int ubi_attach(struct ubi_device *ubi, i
if (!ai)
return -ENOMEM;
if ((int)mtd_div_by_eb(ubi->mtd->size, ubi->mtd) <= UBI_FM_MAX_START) {
--- a/drivers/mtd/ubi/io.c
+++ b/drivers/mtd/ubi/io.c
-@@ -723,6 +723,10 @@ int ubi_io_read_ec_hdr(struct ubi_device
+@@ -710,6 +710,10 @@ int ubi_io_read_ec_hdr(struct ubi_device
}
magic = be32_to_cpu(ec_hdr->magic);
return UBI_IO_BAD_HDR_EBADMSG;
--- a/drivers/mtd/ubi/ubi.h
+++ b/drivers/mtd/ubi/ubi.h
-@@ -833,6 +833,7 @@ extern struct mutex ubi_devices_mutex;
+@@ -820,6 +820,7 @@ extern struct mutex ubi_devices_mutex;
extern struct blocking_notifier_head ubi_notifiers;
/* attach.c */
--- a/arch/arm/boot/dts/bcm53573.dtsi
+++ b/arch/arm/boot/dts/bcm53573.dtsi
-@@ -53,6 +53,7 @@
+@@ -54,6 +54,7 @@
<GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
<GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
<GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
if (err == -ENOENT) {
--- a/drivers/clocksource/arm_arch_timer.c
+++ b/drivers/clocksource/arm_arch_timer.c
-@@ -17,6 +17,7 @@
+@@ -14,6 +14,7 @@
#include <linux/smp.h>
#include <linux/cpu.h>
#include <linux/cpu_pm.h>
#include <linux/clockchips.h>
#include <linux/clocksource.h>
#include <linux/interrupt.h>
-@@ -919,6 +920,16 @@ static void arch_timer_of_configure_rate
+@@ -899,6 +900,16 @@ static void arch_timer_of_configure_rate
if (of_property_read_u32(np, "clock-frequency", &arch_timer_rate))
arch_timer_rate = rate;
--- a/init/Kconfig
+++ b/init/Kconfig
-@@ -2233,6 +2233,13 @@ config TRIM_UNUSED_KSYMS
+@@ -2213,6 +2213,13 @@ config TRIM_UNUSED_KSYMS
If unsure, or if you need to build out-of-tree modules, say N.
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
-@@ -362,7 +362,7 @@ targets += $(extra-y) $(MAKECMDGOALS) $(
+@@ -353,7 +353,7 @@ targets += $(extra-y) $(MAKECMDGOALS) $(
# Linker scripts preprocessor (.lds.S -> .lds)
# ---------------------------------------------------------------------------
quiet_cmd_cpp_lds_S = LDS $@
{ {0x02, 0x21}, "lz4", unlz4 },
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
-@@ -342,7 +342,7 @@ quiet_cmd_bzip2 = BZIP2 $@
+@@ -328,7 +328,7 @@ quiet_cmd_bzip2 = BZIP2 $@
# ---------------------------------------------------------------------------
quiet_cmd_lzma = LZMA $@
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -136,8 +136,8 @@ static inline bool dev_xmit_complete(int
+@@ -138,8 +138,8 @@ static inline bool dev_xmit_complete(int
#if defined(CONFIG_HYPERV_NET)
# define LL_MAX_HEADER 128
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -1544,6 +1544,7 @@ enum netdev_priv_flags {
+@@ -1546,6 +1546,7 @@ enum netdev_priv_flags {
IFF_FAILOVER_SLAVE = 1<<28,
IFF_L3MDEV_RX_HANDLER = 1<<29,
IFF_LIVE_RENAME_OK = 1<<30,
};
#define IFF_802_1Q_VLAN IFF_802_1Q_VLAN
-@@ -1576,6 +1577,7 @@ enum netdev_priv_flags {
+@@ -1578,6 +1579,7 @@ enum netdev_priv_flags {
#define IFF_FAILOVER_SLAVE IFF_FAILOVER_SLAVE
#define IFF_L3MDEV_RX_HANDLER IFF_L3MDEV_RX_HANDLER
#define IFF_LIVE_RENAME_OK IFF_LIVE_RENAME_OK
/**
* struct net_device - The DEVICE structure.
-@@ -1877,6 +1879,11 @@ struct net_device {
+@@ -1879,6 +1881,11 @@ struct net_device {
const struct tlsdev_ops *tlsdev_ops;
#endif
const struct header_ops *header_ops;
unsigned int flags;
-@@ -1959,6 +1966,10 @@ struct net_device {
+@@ -1961,6 +1968,10 @@ struct net_device {
struct mpls_dev __rcu *mpls_ptr;
#endif
help
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -3194,10 +3194,20 @@ static int xmit_one(struct sk_buff *skb,
+@@ -3193,10 +3193,20 @@ static int xmit_one(struct sk_buff *skb,
if (dev_nit_active(dev))
dev_queue_xmit_nit(skb, dev);
}
--- a/kernel/irq/proc.c
+++ b/kernel/irq/proc.c
-@@ -319,6 +319,9 @@ void register_irq_proc(unsigned int irq,
+@@ -341,6 +341,9 @@ void register_irq_proc(unsigned int irq,
void __maybe_unused *irqp = (void *)(unsigned long) irq;
char name [MAX_NAMELEN];
if (!root_irq_dir || (desc->irq_data.chip == &no_irq_chip))
return;
-@@ -372,6 +375,9 @@ void unregister_irq_proc(unsigned int ir
+@@ -394,6 +397,9 @@ void unregister_irq_proc(unsigned int ir
{
char name [MAX_NAMELEN];
if (!root_irq_dir || !desc->dir)
return;
#ifdef CONFIG_SMP
-@@ -410,6 +416,9 @@ void init_irq_proc(void)
+@@ -432,6 +438,9 @@ void init_irq_proc(void)
unsigned int irq;
struct irq_desc *desc;
--- a/Makefile
+++ b/Makefile
-@@ -702,11 +702,11 @@ KBUILD_CFLAGS += $(call cc-disable-warni
+@@ -701,11 +701,11 @@ KBUILD_CFLAGS += $(call cc-disable-warni
KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member)
ifdef CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE
--- a/init/Kconfig
+++ b/init/Kconfig
-@@ -1315,6 +1315,17 @@ config SYSCTL_ARCH_UNALIGN_ALLOW
+@@ -1295,6 +1295,17 @@ config SYSCTL_ARCH_UNALIGN_ALLOW
the unaligned access emulation.
see arch/parisc/kernel/unaligned.c for reference
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -926,6 +926,13 @@ struct devlink;
+@@ -928,6 +928,13 @@ struct devlink;
struct tlsdev_ops;
/*
* This structure defines the management hooks for network devices.
* The following hooks can be defined; unless noted otherwise, they are
-@@ -1158,6 +1165,10 @@ struct tlsdev_ops;
+@@ -1160,6 +1167,10 @@ struct tlsdev_ops;
* int (*ndo_bridge_dellink)(struct net_device *dev, struct nlmsghdr *nlh,
* u16 flags);
*
* int (*ndo_change_carrier)(struct net_device *dev, bool new_carrier);
* Called to change device carrier. Soft-devices (like dummy, team, etc)
* which do not represent real hardware may define this to allow their
-@@ -1405,6 +1416,8 @@ struct net_device_ops {
+@@ -1407,6 +1418,8 @@ struct net_device_ops {
int (*ndo_bridge_dellink)(struct net_device *dev,
struct nlmsghdr *nlh,
u16 flags);
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -927,6 +927,7 @@ struct tlsdev_ops;
+@@ -929,6 +929,7 @@ struct tlsdev_ops;
struct flow_offload;
enum flow_offload_type {
FLOW_OFFLOAD_ADD = 0,
-@@ -1165,8 +1166,15 @@ enum flow_offload_type {
+@@ -1167,8 +1168,15 @@ enum flow_offload_type {
* int (*ndo_bridge_dellink)(struct net_device *dev, struct nlmsghdr *nlh,
* u16 flags);
*
* Adds/deletes flow entry to/from net device flowtable.
*
* int (*ndo_change_carrier)(struct net_device *dev, bool new_carrier);
-@@ -1416,8 +1424,11 @@ struct net_device_ops {
+@@ -1418,8 +1426,11 @@ struct net_device_ops {
int (*ndo_bridge_dellink)(struct net_device *dev,
struct nlmsghdr *nlh,
u16 flags);
cfg->fc_flags |= RTF_REJECT;
if (rtm->rtm_type == RTN_LOCAL)
-@@ -5988,6 +6019,8 @@ static int ip6_route_dev_notify(struct n
+@@ -5989,6 +6020,8 @@ static int ip6_route_dev_notify(struct n
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
net->ipv6.ip6_prohibit_entry->dst.dev = dev;
net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
#endif
-@@ -5999,6 +6032,7 @@ static int ip6_route_dev_notify(struct n
+@@ -6000,6 +6033,7 @@ static int ip6_route_dev_notify(struct n
in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev);
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev);
in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev);
#endif
}
-@@ -6191,6 +6225,8 @@ static int __net_init ip6_route_net_init
+@@ -6192,6 +6226,8 @@ static int __net_init ip6_route_net_init
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
net->ipv6.fib6_has_custom_rules = false;
net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template,
sizeof(*net->ipv6.ip6_prohibit_entry),
GFP_KERNEL);
-@@ -6201,11 +6237,21 @@ static int __net_init ip6_route_net_init
+@@ -6202,11 +6238,21 @@ static int __net_init ip6_route_net_init
ip6_template_metrics, true);
INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->rt6i_uncached);
net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
ip6_template_metrics, true);
-@@ -6229,6 +6275,8 @@ out:
+@@ -6230,6 +6276,8 @@ out:
return ret;
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
out_ip6_prohibit_entry:
kfree(net->ipv6.ip6_prohibit_entry);
out_ip6_null_entry:
-@@ -6248,6 +6296,7 @@ static void __net_exit ip6_route_net_exi
+@@ -6249,6 +6297,7 @@ static void __net_exit ip6_route_net_exi
kfree(net->ipv6.ip6_null_entry);
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
kfree(net->ipv6.ip6_prohibit_entry);
kfree(net->ipv6.ip6_blk_hole_entry);
#endif
dst_entries_destroy(&net->ipv6.ip6_dst_ops);
-@@ -6325,6 +6374,9 @@ void __init ip6_route_init_special_entri
+@@ -6326,6 +6375,9 @@ void __init ip6_route_init_special_entri
init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -1922,6 +1922,8 @@ struct net_device {
+@@ -1924,6 +1924,8 @@ struct net_device {
struct netdev_hw_addr_list mc;
struct netdev_hw_addr_list dev_addrs;
__u16 tc_index; /* traffic control index */
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -5477,6 +5477,9 @@ static enum gro_result dev_gro_receive(s
+@@ -5458,6 +5458,9 @@ static enum gro_result dev_gro_receive(s
int same_flow;
int grow;
if (netif_elide_gro(skb->dev))
goto normal;
-@@ -7269,6 +7272,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -7251,6 +7254,48 @@ static void __netdev_adjacent_dev_unlink
&upper_dev->adj_list.lower);
}
static int __netdev_upper_dev_link(struct net_device *dev,
struct net_device *upper_dev, bool master,
void *upper_priv, void *upper_info,
-@@ -7319,6 +7364,7 @@ static int __netdev_upper_dev_link(struc
+@@ -7301,6 +7346,7 @@ static int __netdev_upper_dev_link(struc
if (ret)
return ret;
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
&changeupper_info.info);
ret = notifier_to_errno(ret);
-@@ -7412,6 +7458,7 @@ void netdev_upper_dev_unlink(struct net_
+@@ -7394,6 +7440,7 @@ void netdev_upper_dev_unlink(struct net_
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
&changeupper_info.info);
-@@ -8142,6 +8189,7 @@ int dev_set_mac_address(struct net_devic
+@@ -8124,6 +8171,7 @@ int dev_set_mac_address(struct net_devic
if (err)
return err;
dev->addr_assign_type = NET_ADDR_SET;
--- a/init/Kconfig
+++ b/init/Kconfig
-@@ -1700,6 +1700,15 @@ config EMBEDDED
+@@ -1680,6 +1680,15 @@ config EMBEDDED
an embedded system so certain expert options are available
for configuration.
arch/arm/boot/dts/imx6qdl-gw553x.dtsi | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
-diff --git a/arch/arm/boot/dts/imx6qdl-gw553x.dtsi b/arch/arm/boot/dts/imx6qdl-gw553x.dtsi
-index a106689..ee85031 100644
--- a/arch/arm/boot/dts/imx6qdl-gw553x.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-gw553x.dtsi
@@ -173,6 +173,25 @@
pinctrl_pcie: pciegrp {
fsl,pins = <
MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x1b0b0
---
-2.7.4
-
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -771,6 +771,16 @@ struct xps_map {
+@@ -773,6 +773,16 @@ struct xps_map {
#define XPS_MIN_MAP_ALLOC ((L1_CACHE_ALIGN(offsetof(struct xps_map, queues[1])) \
- sizeof(struct xps_map)) / sizeof(u16))
/*
* This structure holds all XPS maps for device. Maps are indexed by CPU.
*/
-@@ -1374,6 +1384,9 @@ struct net_device_ops {
+@@ -1376,6 +1386,9 @@ struct net_device_ops {
const struct sk_buff *skb,
u16 rxq_index,
u32 flow_id);
drivers/watchdog/qcom-wdt.c | 31 +++++++++++++++++++++++--------
1 file changed, 23 insertions(+), 8 deletions(-)
-diff --git a/drivers/watchdog/qcom-wdt.c b/drivers/watchdog/qcom-wdt.c
-index a494543d3ae1..d13c75028985 100644
--- a/drivers/watchdog/qcom-wdt.c
+++ b/drivers/watchdog/qcom-wdt.c
-@@ -40,6 +40,11 @@ static const u32 reg_offset_data_kpss[] = {
+@@ -40,6 +40,11 @@ static const u32 reg_offset_data_kpss[]
[WDT_BITE_TIME] = 0x14,
};
struct qcom_wdt {
struct watchdog_device wdd;
unsigned long rate;
-@@ -179,19 +184,29 @@ static void qcom_clk_disable_unprepare(void *data)
+@@ -179,19 +184,29 @@ static void qcom_clk_disable_unprepare(v
clk_disable_unprepare(data);
}
dev_err(dev, "Unsupported QCOM WDT module\n");
return -ENODEV;
}
-@@ -247,7 +262,7 @@ static int qcom_wdt_probe(struct platform_device *pdev)
+@@ -247,7 +262,7 @@ static int qcom_wdt_probe(struct platfor
/* check if there is pretimeout support */
irq = platform_get_irq_optional(pdev, 0);
ret = devm_request_irq(dev, irq, qcom_wdt_isr,
IRQF_TRIGGER_RISING,
"wdt_bark", &wdt->wdd);
-@@ -267,7 +282,7 @@ static int qcom_wdt_probe(struct platform_device *pdev)
+@@ -267,7 +282,7 @@ static int qcom_wdt_probe(struct platfor
wdt->wdd.min_timeout = 1;
wdt->wdd.max_timeout = 0x10000000U / wdt->rate;
wdt->wdd.parent = dev;
if (readl(wdt_addr(wdt, WDT_STS)) & 1)
wdt->wdd.bootstatus = WDIOF_CARDRESET;
-@@ -311,9 +326,9 @@ static int __maybe_unused qcom_wdt_resume(struct device *dev)
+@@ -311,9 +326,9 @@ static int __maybe_unused qcom_wdt_resum
static SIMPLE_DEV_PM_OPS(qcom_wdt_pm_ops, qcom_wdt_suspend, qcom_wdt_resume);
static const struct of_device_id qcom_wdt_of_table[] = {
{ },
};
MODULE_DEVICE_TABLE(of, qcom_wdt_of_table);
---
-2.24.0
-
(limited to 'drivers/net/ethernet/stmicro/stmmac')
-diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
-index 5836b21edd7e..7da18c9afa01 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
-@@ -4405,6 +4405,8 @@ static void stmmac_init_fs(struct net_device *dev)
+@@ -4208,6 +4208,8 @@ static void stmmac_init_fs(struct net_de
{
struct stmmac_priv *priv = netdev_priv(dev);
/* Create per netdev entries */
priv->dbgfs_dir = debugfs_create_dir(dev->name, stmmac_fs_dir);
-@@ -4416,14 +4418,13 @@ static void stmmac_init_fs(struct net_device *dev)
+@@ -4219,14 +4221,13 @@ static void stmmac_init_fs(struct net_de
debugfs_create_file("dma_cap", 0444, priv->dbgfs_dir, dev,
&stmmac_dma_cap_fops);
debugfs_remove_recursive(priv->dbgfs_dir);
}
#endif /* CONFIG_DEBUG_FS */
-@@ -4940,14 +4941,14 @@ int stmmac_dvr_remove(struct device *dev)
+@@ -4728,14 +4729,14 @@ int stmmac_dvr_remove(struct device *dev
netdev_info(priv->dev, "%s: removing driver", __func__);
phylink_destroy(priv->phylink);
if (priv->plat->stmmac_rst)
reset_control_assert(priv->plat->stmmac_rst);
-@@ -5166,6 +5167,7 @@ static int __init stmmac_init(void)
+@@ -4955,6 +4956,7 @@ static int __init stmmac_init(void)
/* Create debugfs main directory if it doesn't exist yet */
if (!stmmac_fs_dir)
stmmac_fs_dir = debugfs_create_dir(STMMAC_RESOURCE_NAME, NULL);
#endif
return 0;
-@@ -5174,6 +5176,7 @@ static int __init stmmac_init(void)
+@@ -4963,6 +4965,7 @@ static int __init stmmac_init(void)
static void __exit stmmac_exit(void)
{
#ifdef CONFIG_DEBUG_FS
debugfs_remove_recursive(stmmac_fs_dir);
#endif
}
---
-cgit 1.2-0.3.lf.el7
-
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
-@@ -292,6 +292,8 @@ config RTL8367B_PHY
+@@ -332,6 +332,8 @@ config RTL8367B_PHY
endif # RTL8366_SMI
config SFP
--- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile
-@@ -100,3 +100,5 @@ obj-$(CONFIG_STE10XP) += ste10Xp.o
+@@ -110,3 +110,5 @@ obj-$(CONFIG_STE10XP) += ste10Xp.o
obj-$(CONFIG_TERANETICS_PHY) += teranetics.o
obj-$(CONFIG_VITESSE_PHY) += vitesse.o
obj-$(CONFIG_XILINX_GMII2RGMII) += xilinx_gmii2rgmii.o
-diff -urN a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
---- a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts 2019-12-02 14:33:30.126586402 +0800
-+++ b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts 2019-12-02 14:35:02.304005081 +0800
+--- a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
++++ b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
@@ -53,6 +53,13 @@
};
};
&i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins>;
---- a/arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts 2020-01-12 19:21:53.000000000 +0800
-+++ b/arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts 2020-01-15 15:36:50.987901563 +0800
+--- a/arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts
++++ b/arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts
@@ -1,7 +1,6 @@
/*
- * Copyright (c) 2017 MediaTek Inc.
---- a/arch/arm/boot/dts/mt7629-rfb.dts 2020-01-15 19:54:43.784316313 +0800
-+++ b/arch/arm/boot/dts/mt7629-rfb.dts 2020-01-15 20:00:20.994843001 +0800
+--- a/arch/arm/boot/dts/mt7629-rfb.dts
++++ b/arch/arm/boot/dts/mt7629-rfb.dts
@@ -18,6 +18,7 @@
chosen {
-diff -urN a/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts b/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts
---- a/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts 2019-12-17 14:43:47.273940258 +0800
-+++ b/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts 2019-12-17 14:44:20.300945884 +0800
+--- a/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts
++++ b/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts
@@ -19,6 +19,7 @@
chosen {
-diff -urN a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
---- a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts 2019-11-29 16:44:05.105269904 +0800
-+++ b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts 2019-11-29 16:44:20.184825647 +0800
+--- a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
++++ b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
@@ -22,7 +22,7 @@
chosen {
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -1193,6 +1193,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
+@@ -1272,6 +1272,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
mt7623a-rfb-nand.dtb \
mt7623n-rfb-emmc.dtb \
mt7623n-bananapi-bpi-r2.dtb \
+ mt7623a-unielec-u7623-02-emmc-512m.dtb \
- mt7629-rfb.dtb \
+ mt7629-rfb.dtb \
mt8127-moose.dtb \
mt8135-evbp1.dtb
- dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb
--- /dev/null
+++ b/arch/arm/boot/dts/mt7623a-unielec-u7623-02-emmc-512m.dts
@@ -0,0 +1,18 @@
--- a/arch/powerpc/platforms/85xx/common.c
+++ b/arch/powerpc/platforms/85xx/common.c
-@@ -33,6 +33,7 @@ static const struct of_device_id mpc85xx
+@@ -30,6 +30,7 @@ static const struct of_device_id mpc85xx
{ .compatible = "fsl,mpc8548-guts", },
/* Probably unnecessary? */
{ .compatible = "gpio-leds", },
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
-@@ -164,6 +164,7 @@ src-plat-$(CONFIG_PPC_PSERIES) += pserie
+@@ -161,6 +161,7 @@ src-plat-$(CONFIG_PPC_PSERIES) += pserie
src-plat-$(CONFIG_PPC_POWERNV) += pseries-head.S
src-plat-$(CONFIG_PPC_IBM_CELL_BLADE) += pseries-head.S
src-plat-$(CONFIG_MVME7100) += motload-head.S mvme7100.c
src-wlib := $(sort $(src-wlib-y))
src-plat := $(sort $(src-plat-y))
-@@ -343,7 +344,7 @@ image-$(CONFIG_TQM8555) += cuImage.tqm
+@@ -342,7 +343,7 @@ image-$(CONFIG_TQM8555) += cuImage.tqm
image-$(CONFIG_TQM8560) += cuImage.tqm8560
image-$(CONFIG_SBC8548) += cuImage.sbc8548
image-$(CONFIG_KSI8560) += cuImage.ksi8560
--- a/arch/powerpc/boot/wrapper
+++ b/arch/powerpc/boot/wrapper
-@@ -302,6 +302,11 @@ adder875-redboot)
+@@ -323,6 +323,11 @@ adder875-redboot)
platformo="$object/fixed-head.o $object/redboot-8xx.o"
binary=y
;;
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
-@@ -809,6 +809,14 @@ config CMDLINE_FORCE
+@@ -883,6 +883,14 @@ config CMDLINE_FORCE
This is useful if you cannot or don't want to change the
command-line options your boot loader passes to the kernel.
help
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
-@@ -1091,6 +1091,17 @@ int __init early_init_dt_scan_chosen(uns
+@@ -1060,6 +1060,17 @@ int __init early_init_dt_scan_chosen(uns
if (p != NULL && l > 0)
- strlcpy(data, p, min((int)l, COMMAND_LINE_SIZE));
+ strlcpy(data, p, min(l, COMMAND_LINE_SIZE));
+ /* CONFIG_CMDLINE_OVERRIDE is used to fallback to a different
+ * device tree option of chosen/bootargs-override. This is
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
-@@ -342,7 +342,7 @@ quiet_cmd_bzip2 = BZIP2 $@
+@@ -328,7 +328,7 @@ quiet_cmd_bzip2 = BZIP2 $@
# ---------------------------------------------------------------------------
quiet_cmd_lzma = LZMA $@