aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2018-08-09 20:25:38 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2018-08-09 23:17:09 +0200
commit91d209362b97fc1ff2ab931fe854c99f5a5aae73 (patch)
tree778bbfec6ccf416367686e9ec2ed73f45aacf745
parentb5d9776cd24bc7dfd181c40560af85712a0040f7 (diff)
downloadupstream-91d209362b97fc1ff2ab931fe854c99f5a5aae73.tar.gz
upstream-91d209362b97fc1ff2ab931fe854c99f5a5aae73.tar.bz2
upstream-91d209362b97fc1ff2ab931fe854c99f5a5aae73.zip
kernel: bump kernel 4.4 to version 4.4.147
target/linux/ar71xx/patches-4.4/103-MIPS-ath79-fix-register-address-in-ath79_ddr_wb_flus.patch has been applied upstream; the two deleted brcm2708 patches have been useless even before (as the second one only reverted the first one). Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
-rw-r--r--include/kernel-version.mk4
-rw-r--r--target/linux/apm821xx/patches-4.4/001-crypto4xx-integrate-ppc4xx-rng-into-crypto4xx.patch6
-rw-r--r--target/linux/apm821xx/patches-4.4/040-backport_leds-convert-IDE-trigger-to-common-disk-trigger.patch2
-rw-r--r--target/linux/apm821xx/patches-4.4/802-usb-xhci-force-msi-renesas-xhci.patch2
-rw-r--r--target/linux/ar71xx/patches-4.4/103-MIPS-ath79-fix-register-address-in-ath79_ddr_wb_flus.patch23
-rw-r--r--target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch10
-rw-r--r--target/linux/bcm53xx/patches-4.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch2
-rw-r--r--target/linux/bcm53xx/patches-4.4/500-UBI-Detect-EOF-mark-and-erase-all-remaining-blocks.patch4
-rw-r--r--target/linux/brcm2708/patches-4.4/0029-Add-dwc_otg-driver.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0526-x86-boot-Fix-kdump-cleanup-aborted-E820_PRAM-max_pfn.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0551-kbuild-add-fno-PIE.patch40
-rw-r--r--target/linux/brcm2708/patches-4.4/0552-kbuild-Steal-gcc-s-pie-from-the-very-beginning.patch49
-rw-r--r--target/linux/brcm63xx/patches-4.4/376-net-bcm63xx_enet-use-named-gpio-for-ephy-reset-gpio.patch4
-rw-r--r--target/linux/brcm63xx/patches-4.4/381-net-bcm63xx_enet-fully-reset-ephy.patch4
-rw-r--r--target/linux/brcm63xx/patches-4.4/402_bcm63xx_enet_vlan_incoming_fixed.patch2
-rw-r--r--target/linux/brcm63xx/patches-4.4/404-NET-bcm63xx_enet-move-phy_-dis-connect-into-probe-re.patch12
-rw-r--r--target/linux/brcm63xx/patches-4.4/408-bcm63xx_enet-enable-rgmii-clock-on-external-ports.patch2
-rw-r--r--target/linux/brcm63xx/patches-4.4/423-bcm63xx_enet_add_b53_support.patch14
-rw-r--r--target/linux/brcm63xx/patches-4.4/424-bcm63xx_enet_no_request_mem_region.patch2
-rw-r--r--target/linux/brcm63xx/patches-4.4/804-bcm63xx_enet_63268_rgmii_ports.patch2
-rw-r--r--target/linux/generic/config-4.41
-rw-r--r--target/linux/generic/patches-4.4/201-extra_optimization.patch4
-rw-r--r--target/linux/generic/patches-4.4/494-mtd-ubi-add-EOF-marker-support.patch8
-rw-r--r--target/linux/generic/patches-4.4/610-netfilter_match_bypass_default_checks.patch4
-rw-r--r--target/linux/generic/patches-4.4/653-disable_netlink_trim.patch2
-rw-r--r--target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch2
-rw-r--r--target/linux/generic/patches-4.4/834-ledtrig-libata.patch10
-rw-r--r--target/linux/generic/patches-4.4/902-debloat_proc.patch2
-rw-r--r--target/linux/imx6/patches-4.4/207-i2c-imx-add-retries-for-NAK-s-on-ventana-boards.patch4
-rw-r--r--target/linux/ipq806x/patches-4.4/400-dsa-add-qca.patch2
-rw-r--r--target/linux/ixp4xx/patches-4.4/600-skb_avoid_dmabounce.patch2
-rw-r--r--target/linux/layerscape/patches-4.4/4046-mtd-ifc-Segregate-IFC-fcm-and-runtime-registers.patch20
-rw-r--r--target/linux/mediatek/patches-4.4/0019-xhci-mediatek-support-MTK-xHCI-host-controller.patch6
-rw-r--r--target/linux/oxnas/patches-4.4/0074-mtd-nand-import-nand_hw_control_init.patch2
-rw-r--r--target/linux/oxnas/patches-4.4/999-libata-hacks.patch8
-rw-r--r--target/linux/ramips/patches-4.4/0033-xhci-mediatek-support-MTK-xHCI-host-controller.patch6
-rw-r--r--target/linux/x86/config-4.42
37 files changed, 81 insertions, 192 deletions
diff --git a/include/kernel-version.mk b/include/kernel-version.mk
index 39d17efae5..b1e39c951e 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 = .140
+LINUX_VERSION-4.4 = .147
LINUX_KERNEL_HASH-3.18.43 = 1236e8123a6ce537d5029232560966feed054ae31776fe8481dd7d18cdd5492c
-LINUX_KERNEL_HASH-4.4.140 = 184c8f3cde0caca0d2a15ee2b6ce47e3a5b57038bc15a65e631d6b340886c7bb
+LINUX_KERNEL_HASH-4.4.147 = c734e599bfd54e6f8cca95775300757c2d1645f17095c5bcd528e2d23a8dac1a
ifdef KERNEL_PATCHVER
LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))
diff --git a/target/linux/apm821xx/patches-4.4/001-crypto4xx-integrate-ppc4xx-rng-into-crypto4xx.patch b/target/linux/apm821xx/patches-4.4/001-crypto4xx-integrate-ppc4xx-rng-into-crypto4xx.patch
index 324c695d05..2b4452b7de 100644
--- a/target/linux/apm821xx/patches-4.4/001-crypto4xx-integrate-ppc4xx-rng-into-crypto4xx.patch
+++ b/target/linux/apm821xx/patches-4.4/001-crypto4xx-integrate-ppc4xx-rng-into-crypto4xx.patch
@@ -248,7 +248,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
return 0;
err_start_dev:
-@@ -1248,6 +1250,8 @@ static int crypto4xx_remove(struct platf
+@@ -1247,6 +1249,8 @@ static int crypto4xx_remove(struct platf
struct device *dev = &ofdev->dev;
struct crypto4xx_core_device *core_dev = dev_get_drvdata(dev);
@@ -257,7 +257,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
free_irq(core_dev->irq, dev);
irq_dispose_mapping(core_dev->irq);
-@@ -1268,7 +1272,7 @@ MODULE_DEVICE_TABLE(of, crypto4xx_match)
+@@ -1267,7 +1271,7 @@ MODULE_DEVICE_TABLE(of, crypto4xx_match)
static struct platform_driver crypto4xx_driver = {
.driver = {
@@ -266,7 +266,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
.of_match_table = crypto4xx_match,
},
.probe = crypto4xx_probe,
-@@ -1280,4 +1284,3 @@ module_platform_driver(crypto4xx_driver)
+@@ -1279,4 +1283,3 @@ module_platform_driver(crypto4xx_driver)
MODULE_LICENSE("GPL");
MODULE_AUTHOR("James Hsiao <jhsiao@amcc.com>");
MODULE_DESCRIPTION("Driver for AMCC PPC4xx crypto accelerator");
diff --git a/target/linux/apm821xx/patches-4.4/040-backport_leds-convert-IDE-trigger-to-common-disk-trigger.patch b/target/linux/apm821xx/patches-4.4/040-backport_leds-convert-IDE-trigger-to-common-disk-trigger.patch
index 8e1d4d2c9d..d5eda621ea 100644
--- a/target/linux/apm821xx/patches-4.4/040-backport_leds-convert-IDE-trigger-to-common-disk-trigger.patch
+++ b/target/linux/apm821xx/patches-4.4/040-backport_leds-convert-IDE-trigger-to-common-disk-trigger.patch
@@ -47,7 +47,7 @@ Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
#include <linux/pm_runtime.h>
#include <linux/platform_device.h>
-@@ -4942,6 +4943,9 @@ void ata_qc_complete(struct ata_queued_c
+@@ -4945,6 +4946,9 @@ void ata_qc_complete(struct ata_queued_c
{
struct ata_port *ap = qc->ap;
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 ee56eb34eb..5c6c4e3ea2 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
@@ -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
-@@ -1652,6 +1652,7 @@ struct xhci_hcd {
+@@ -1656,6 +1656,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/ar71xx/patches-4.4/103-MIPS-ath79-fix-register-address-in-ath79_ddr_wb_flus.patch b/target/linux/ar71xx/patches-4.4/103-MIPS-ath79-fix-register-address-in-ath79_ddr_wb_flus.patch
deleted file mode 100644
index 64fb545b24..0000000000
--- a/target/linux/ar71xx/patches-4.4/103-MIPS-ath79-fix-register-address-in-ath79_ddr_wb_flus.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From: Felix Fietkau <nbd@nbd.name>
-Date: Wed, 18 May 2016 18:03:31 +0200
-Subject: [PATCH] MIPS: ath79: fix register address in ath79_ddr_wb_flush()
-
-ath79_ddr_wb_flush_base has the type void __iomem *, so register offsets
-need to be a multiple of 4.
-
-Cc: Alban Bedel <albeu@free.fr>
-Fixes: 24b0e3e84fbf ("MIPS: ath79: Improve the DDR controller interface")
-Signed-off-by: Felix Fietkau <nbd@nbd.name>
----
-
---- a/arch/mips/ath79/common.c
-+++ b/arch/mips/ath79/common.c
-@@ -58,7 +58,7 @@ EXPORT_SYMBOL_GPL(ath79_ddr_ctrl_init);
-
- void ath79_ddr_wb_flush(u32 reg)
- {
-- void __iomem *flush_reg = ath79_ddr_wb_flush_base + reg;
-+ void __iomem *flush_reg = ath79_ddr_wb_flush_base + reg * 4;
-
- /* Flush the DDR write buffer. */
- __raw_writel(0x1, flush_reg);
diff --git a/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch b/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch
index bbfe7bd803..f766850aeb 100644
--- a/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch
+++ b/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch
@@ -250,7 +250,7 @@
&sin->sin6_addr);
sin->sin6_scope_id = 0;
}
-@@ -770,12 +770,12 @@ int ip6_datagram_send_ctl(struct net *ne
+@@ -773,12 +773,12 @@ int ip6_datagram_send_ctl(struct net *ne
}
if (fl6->flowlabel&IPV6_FLOWINFO_MASK) {
@@ -370,7 +370,7 @@
return neigh_create(&arp_tbl, pkey, dev);
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
-@@ -451,48 +451,53 @@ static void tcp_options_write(__be32 *pt
+@@ -456,48 +456,53 @@ static void tcp_options_write(__be32 *pt
u16 options = opts->options; /* mungable copy */
if (unlikely(OPTION_MD5 & options)) {
@@ -447,7 +447,7 @@
}
if (unlikely(opts->num_sack_blocks)) {
-@@ -500,16 +505,17 @@ static void tcp_options_write(__be32 *pt
+@@ -505,16 +510,17 @@ static void tcp_options_write(__be32 *pt
tp->duplicate_sack : tp->selective_acks;
int this_sack;
@@ -471,7 +471,7 @@
}
tp->rx_opt.dsack = 0;
-@@ -522,13 +528,14 @@ static void tcp_options_write(__be32 *pt
+@@ -527,13 +533,14 @@ static void tcp_options_write(__be32 *pt
if (foc->exp) {
len = TCPOLEN_EXP_FASTOPEN_BASE + foc->len;
@@ -838,7 +838,7 @@
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
-@@ -3822,14 +3822,16 @@ static bool tcp_parse_aligned_timestamp(
+@@ -3836,14 +3836,16 @@ static bool tcp_parse_aligned_timestamp(
{
const __be32 *ptr = (const __be32 *)(th + 1);
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 f5a7f37a49..4f41c35eee 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,7 +127,7 @@ it on BCM4708 family.
/*
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1635,6 +1635,7 @@ struct xhci_hcd {
+@@ -1639,6 +1639,7 @@ struct xhci_hcd {
#define XHCI_BROKEN_STREAMS (1 << 19)
#define XHCI_PME_STUCK_QUIRK (1 << 20)
#define XHCI_MISSING_CAS (1 << 24)
diff --git a/target/linux/bcm53xx/patches-4.4/500-UBI-Detect-EOF-mark-and-erase-all-remaining-blocks.patch b/target/linux/bcm53xx/patches-4.4/500-UBI-Detect-EOF-mark-and-erase-all-remaining-blocks.patch
index 636e63eb29..2c0d590f57 100644
--- a/target/linux/bcm53xx/patches-4.4/500-UBI-Detect-EOF-mark-and-erase-all-remaining-blocks.patch
+++ b/target/linux/bcm53xx/patches-4.4/500-UBI-Detect-EOF-mark-and-erase-all-remaining-blocks.patch
@@ -25,7 +25,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
/**
* add_to_list - add physical eraseblock to a list.
* @ai: attaching information
-@@ -1425,6 +1428,8 @@ int ubi_attach(struct ubi_device *ubi, i
+@@ -1496,6 +1499,8 @@ int ubi_attach(struct ubi_device *ubi, i
if (!ai)
return -ENOMEM;
@@ -49,7 +49,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
return UBI_IO_BAD_HDR_EBADMSG;
--- a/drivers/mtd/ubi/ubi.h
+++ b/drivers/mtd/ubi/ubi.h
-@@ -783,6 +783,7 @@ extern struct mutex ubi_devices_mutex;
+@@ -789,6 +789,7 @@ extern struct mutex ubi_devices_mutex;
extern struct blocking_notifier_head ubi_notifiers;
/* attach.c */
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 965a050542..83c5453a0b 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
-@@ -4997,7 +4997,7 @@ static void port_event(struct usb_hub *h
+@@ -5005,7 +5005,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/0526-x86-boot-Fix-kdump-cleanup-aborted-E820_PRAM-max_pfn.patch b/target/linux/brcm2708/patches-4.4/0526-x86-boot-Fix-kdump-cleanup-aborted-E820_PRAM-max_pfn.patch
index ce125d4b2f..9b3a5e748f 100644
--- a/target/linux/brcm2708/patches-4.4/0526-x86-boot-Fix-kdump-cleanup-aborted-E820_PRAM-max_pfn.patch
+++ b/target/linux/brcm2708/patches-4.4/0526-x86-boot-Fix-kdump-cleanup-aborted-E820_PRAM-max_pfn.patch
@@ -49,7 +49,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
--- a/arch/x86/kernel/e820.c
+++ b/arch/x86/kernel/e820.c
-@@ -347,7 +347,7 @@ int __init sanitize_e820_map(struct e820
+@@ -348,7 +348,7 @@ int __init sanitize_e820_map(struct e820
* continue building up new bios map based on this
* information
*/
diff --git a/target/linux/brcm2708/patches-4.4/0551-kbuild-add-fno-PIE.patch b/target/linux/brcm2708/patches-4.4/0551-kbuild-add-fno-PIE.patch
deleted file mode 100644
index c3b5adc7c4..0000000000
--- a/target/linux/brcm2708/patches-4.4/0551-kbuild-add-fno-PIE.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From d7c87b54cdabe76c12f2bb527f2a6b02b6255a0f Mon Sep 17 00:00:00 2001
-From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
-Date: Fri, 4 Nov 2016 19:39:38 +0100
-Subject: [PATCH] kbuild: add -fno-PIE
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-commit 8ae94224c9d72fc4d9aaac93b2d7833cf46d7141 upstream.
-
-Debian started to build the gcc with -fPIE by default so the kernel
-build ends before it starts properly with:
-|kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
-
-Also add to KBUILD_AFLAGS due to:
-
-|gcc -Wp,-MD,arch/x86/entry/vdso/vdso32/.note.o.d … -mfentry -DCC_USING_FENTRY … vdso/vdso32/note.S
-|arch/x86/entry/vdso/vdso32/note.S:1:0: sorry, unimplemented: -mfentry isn’t supported for 32-bit in combination with -fpic
-
-Tagging it stable so it is possible to compile recent stable kernels as
-well.
-
-Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
-Signed-off-by: Michal Marek <mmarek@suse.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- Makefile | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/Makefile
-+++ b/Makefile
-@@ -624,6 +624,8 @@ KBUILD_CFLAGS += $(call cc-disable-warni
- KBUILD_CFLAGS += $(call cc-disable-warning, format-truncation)
- KBUILD_CFLAGS += $(call cc-disable-warning, format-overflow)
- KBUILD_CFLAGS += $(call cc-disable-warning, int-in-bool-context)
-+KBUILD_CFLAGS += $(call cc-option,-fno-PIE)
-+KBUILD_AFLAGS += $(call cc-option,-fno-PIE)
-
- ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
- KBUILD_CFLAGS += -Os $(EXTRA_OPTIMIZATION)
diff --git a/target/linux/brcm2708/patches-4.4/0552-kbuild-Steal-gcc-s-pie-from-the-very-beginning.patch b/target/linux/brcm2708/patches-4.4/0552-kbuild-Steal-gcc-s-pie-from-the-very-beginning.patch
deleted file mode 100644
index de20f9e8c4..0000000000
--- a/target/linux/brcm2708/patches-4.4/0552-kbuild-Steal-gcc-s-pie-from-the-very-beginning.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From e1c194ad704d298d6914e5b1efc4afee41a18a4c Mon Sep 17 00:00:00 2001
-From: Borislav Petkov <bp@suse.de>
-Date: Mon, 14 Nov 2016 19:41:31 +0100
-Subject: [PATCH] kbuild: Steal gcc's pie from the very beginning
-
-commit c6a385539175ebc603da53aafb7753d39089f32e upstream.
-
-So Sebastian turned off the PIE for kernel builds but that was too late
-- Kbuild.include already uses KBUILD_CFLAGS and trying to disable gcc
-options with, say cc-disable-warning, fails:
-
- gcc -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs
- ...
- -Wno-sign-compare -fno-asynchronous-unwind-tables -Wframe-address -c -x c /dev/null -o .31392.tmp
- /dev/null:1:0: error: code model kernel does not support PIC mode
-
-because that returns an error and we can't disable the warning. For
-example in this case:
-
-KBUILD_CFLAGS += $(call cc-disable-warning,frame-address,)
-
-which leads to gcc issuing all those warnings again.
-
-So let's turn off PIE/PIC at the earliest possible moment, when we
-declare KBUILD_CFLAGS so that cc-disable-warning picks it up too.
-
-Also, we need the $(call cc-option ...) because -fno-PIE is supported
-since gcc v3.4 and our lowest supported gcc version is 3.2 right now.
-
-Signed-off-by: Borislav Petkov <bp@suse.de>
-Cc: Ben Hutchings <ben@decadent.org.uk>
-Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
-Signed-off-by: Michal Marek <mmarek@suse.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- Makefile | 2 --
- 1 file changed, 2 deletions(-)
-
---- a/Makefile
-+++ b/Makefile
-@@ -624,8 +624,6 @@ KBUILD_CFLAGS += $(call cc-disable-warni
- KBUILD_CFLAGS += $(call cc-disable-warning, format-truncation)
- KBUILD_CFLAGS += $(call cc-disable-warning, format-overflow)
- KBUILD_CFLAGS += $(call cc-disable-warning, int-in-bool-context)
--KBUILD_CFLAGS += $(call cc-option,-fno-PIE)
--KBUILD_AFLAGS += $(call cc-option,-fno-PIE)
-
- ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
- KBUILD_CFLAGS += -Os $(EXTRA_OPTIMIZATION)
diff --git a/target/linux/brcm63xx/patches-4.4/376-net-bcm63xx_enet-use-named-gpio-for-ephy-reset-gpio.patch b/target/linux/brcm63xx/patches-4.4/376-net-bcm63xx_enet-use-named-gpio-for-ephy-reset-gpio.patch
index db3fc5bc3a..c2742e33d7 100644
--- a/target/linux/brcm63xx/patches-4.4/376-net-bcm63xx_enet-use-named-gpio-for-ephy-reset-gpio.patch
+++ b/target/linux/brcm63xx/patches-4.4/376-net-bcm63xx_enet-use-named-gpio-for-ephy-reset-gpio.patch
@@ -18,7 +18,7 @@ Allow using a named optional gpio for ephy reset gpio registration.
#include <bcm63xx_dev_enet.h>
#include "bcm63xx_enet.h"
-@@ -2851,10 +2852,15 @@ static int bcm_enet_shared_probe(struct
+@@ -2867,10 +2868,15 @@ static int bcm_enet_shared_probe(struct
{
struct resource *res;
void __iomem *p[3];
@@ -34,7 +34,7 @@ Allow using a named optional gpio for ephy reset gpio registration.
for (i = 0; i < 3; i++) {
res = platform_get_resource(pdev, IORESOURCE_MEM, i);
p[i] = devm_ioremap_resource(&pdev->dev, res);
-@@ -2864,6 +2870,9 @@ static int bcm_enet_shared_probe(struct
+@@ -2880,6 +2886,9 @@ static int bcm_enet_shared_probe(struct
memcpy(bcm_enet_shared_base, p, sizeof(bcm_enet_shared_base));
diff --git a/target/linux/brcm63xx/patches-4.4/381-net-bcm63xx_enet-fully-reset-ephy.patch b/target/linux/brcm63xx/patches-4.4/381-net-bcm63xx_enet-fully-reset-ephy.patch
index dc9e3c1344..22c2eeedfe 100644
--- a/target/linux/brcm63xx/patches-4.4/381-net-bcm63xx_enet-fully-reset-ephy.patch
+++ b/target/linux/brcm63xx/patches-4.4/381-net-bcm63xx_enet-fully-reset-ephy.patch
@@ -8,7 +8,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
+++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
-@@ -2857,7 +2857,7 @@ static int bcm_enet_shared_probe(struct
+@@ -2873,7 +2873,7 @@ static int bcm_enet_shared_probe(struct
memset(bcm_enet_shared_base, 0, sizeof(bcm_enet_shared_base));
@@ -17,7 +17,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
if (IS_ERR(ephy_reset))
return PTR_ERR(ephy_reset);
-@@ -2871,7 +2871,7 @@ static int bcm_enet_shared_probe(struct
+@@ -2887,7 +2887,7 @@ static int bcm_enet_shared_probe(struct
memcpy(bcm_enet_shared_base, p, sizeof(bcm_enet_shared_base));
if (ephy_reset)
diff --git a/target/linux/brcm63xx/patches-4.4/402_bcm63xx_enet_vlan_incoming_fixed.patch b/target/linux/brcm63xx/patches-4.4/402_bcm63xx_enet_vlan_incoming_fixed.patch
index 8cb8099e97..fc2e8ab7a7 100644
--- a/target/linux/brcm63xx/patches-4.4/402_bcm63xx_enet_vlan_incoming_fixed.patch
+++ b/target/linux/brcm63xx/patches-4.4/402_bcm63xx_enet_vlan_incoming_fixed.patch
@@ -1,6 +1,6 @@
--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
+++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
-@@ -1632,7 +1632,7 @@ static int compute_hw_mtu(struct bcm_ene
+@@ -1633,7 +1633,7 @@ static int compute_hw_mtu(struct bcm_ene
actual_mtu = mtu;
/* add ethernet header + vlan tag size */
diff --git a/target/linux/brcm63xx/patches-4.4/404-NET-bcm63xx_enet-move-phy_-dis-connect-into-probe-re.patch b/target/linux/brcm63xx/patches-4.4/404-NET-bcm63xx_enet-move-phy_-dis-connect-into-probe-re.patch
index a1acd614af..3b4ff60727 100644
--- a/target/linux/brcm63xx/patches-4.4/404-NET-bcm63xx_enet-move-phy_-dis-connect-into-probe-re.patch
+++ b/target/linux/brcm63xx/patches-4.4/404-NET-bcm63xx_enet-move-phy_-dis-connect-into-probe-re.patch
@@ -77,7 +77,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
ret = request_irq(priv->irq_rx, bcm_enet_isr_dma, 0,
dev->name, dev);
-@@ -1128,9 +1096,6 @@ out_freeirq_rx:
+@@ -1129,9 +1097,6 @@ out_freeirq_rx:
out_freeirq:
free_irq(dev->irq, dev);
@@ -87,7 +87,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
return ret;
}
-@@ -1235,12 +1200,6 @@ static int bcm_enet_stop(struct net_devi
+@@ -1236,12 +1201,6 @@ static int bcm_enet_stop(struct net_devi
free_irq(priv->irq_rx, dev);
free_irq(dev->irq, dev);
@@ -100,7 +100,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
return 0;
}
-@@ -1830,6 +1789,8 @@ static int bcm_enet_probe(struct platfor
+@@ -1835,6 +1794,8 @@ static int bcm_enet_probe(struct platfor
/* MII bus registration */
if (priv->has_phy) {
@@ -109,7 +109,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
priv->mii_bus = mdiobus_alloc();
if (!priv->mii_bus) {
-@@ -1867,6 +1828,38 @@ static int bcm_enet_probe(struct platfor
+@@ -1872,6 +1833,38 @@ static int bcm_enet_probe(struct platfor
dev_err(&pdev->dev, "unable to register mdio bus\n");
goto out_free_mdio;
}
@@ -148,7 +148,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
} else {
/* run platform code to initialize PHY device */
-@@ -1912,6 +1905,9 @@ static int bcm_enet_probe(struct platfor
+@@ -1917,6 +1910,9 @@ static int bcm_enet_probe(struct platfor
return 0;
out_unregister_mdio:
@@ -158,7 +158,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
if (priv->mii_bus)
mdiobus_unregister(priv->mii_bus);
-@@ -1953,6 +1949,8 @@ static int bcm_enet_remove(struct platfo
+@@ -1961,6 +1957,8 @@ static int bcm_enet_remove(struct platfo
enet_writel(priv, 0, ENET_MIISC_REG);
if (priv->has_phy) {
diff --git a/target/linux/brcm63xx/patches-4.4/408-bcm63xx_enet-enable-rgmii-clock-on-external-ports.patch b/target/linux/brcm63xx/patches-4.4/408-bcm63xx_enet-enable-rgmii-clock-on-external-ports.patch
index 1cff9c1ff9..e801532dd1 100644
--- a/target/linux/brcm63xx/patches-4.4/408-bcm63xx_enet-enable-rgmii-clock-on-external-ports.patch
+++ b/target/linux/brcm63xx/patches-4.4/408-bcm63xx_enet-enable-rgmii-clock-on-external-ports.patch
@@ -32,7 +32,7 @@ Subject: [PATCH 54/81] bcm63xx_enet: enable rgmii clock on external ports
#define ENETSW_MDIOC_EXT_MASK (1 << 16)
--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
+++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
-@@ -2229,6 +2229,18 @@ static int bcm_enetsw_open(struct net_de
+@@ -2237,6 +2237,18 @@ static int bcm_enetsw_open(struct net_de
priv->sw_port_link[i] = 0;
}
diff --git a/target/linux/brcm63xx/patches-4.4/423-bcm63xx_enet_add_b53_support.patch b/target/linux/brcm63xx/patches-4.4/423-bcm63xx_enet_add_b53_support.patch
index 19d7905114..b060bedce9 100644
--- a/target/linux/brcm63xx/patches-4.4/423-bcm63xx_enet_add_b53_support.patch
+++ b/target/linux/brcm63xx/patches-4.4/423-bcm63xx_enet_add_b53_support.patch
@@ -20,7 +20,7 @@
#include <bcm63xx_dev_enet.h>
#include "bcm63xx_enet.h"
-@@ -1974,7 +1975,8 @@ static int bcm_enet_remove(struct platfo
+@@ -1982,7 +1983,8 @@ static int bcm_enet_remove(struct platfo
return 0;
}
@@ -30,7 +30,7 @@
.probe = bcm_enet_probe,
.remove = bcm_enet_remove,
.driver = {
-@@ -1983,6 +1985,42 @@ struct platform_driver bcm63xx_enet_driv
+@@ -1991,6 +1993,42 @@ struct platform_driver bcm63xx_enet_driv
},
};
@@ -73,7 +73,7 @@
/*
* switch mii access callbacks
*/
-@@ -2241,29 +2279,6 @@ static int bcm_enetsw_open(struct net_de
+@@ -2249,29 +2287,6 @@ static int bcm_enetsw_open(struct net_de
enetsw_writeb(priv, rgmii_ctrl, ENETSW_RGMII_CTRL_REG(i));
}
@@ -103,7 +103,7 @@
/* initialize flow control buffer allocation */
enet_dma_writel(priv, ENETDMA_BUFALLOC_FORCE_MASK | 0,
ENETDMA_BUFALLOC_REG(priv->rx_chan));
-@@ -2722,6 +2737,9 @@ static int bcm_enetsw_probe(struct platf
+@@ -2730,6 +2745,9 @@ static int bcm_enetsw_probe(struct platf
struct bcm63xx_enetsw_platform_data *pd;
struct resource *res_mem;
int ret, irq_rx, irq_tx;
@@ -113,7 +113,7 @@
/* stop if shared driver failed, assume driver->probe will be
* called in the same order we register devices (correct ?)
-@@ -2811,6 +2829,43 @@ static int bcm_enetsw_probe(struct platf
+@@ -2821,6 +2839,43 @@ static int bcm_enetsw_probe(struct platf
priv->pdev = pdev;
priv->net_dev = dev;
@@ -156,8 +156,8 @@
+
return 0;
- out_put_clk:
-@@ -2839,6 +2894,9 @@ static int bcm_enetsw_remove(struct plat
+ out_disable_clk:
+@@ -2852,6 +2907,9 @@ static int bcm_enetsw_remove(struct plat
priv = netdev_priv(dev);
unregister_netdev(dev);
diff --git a/target/linux/brcm63xx/patches-4.4/424-bcm63xx_enet_no_request_mem_region.patch b/target/linux/brcm63xx/patches-4.4/424-bcm63xx_enet_no_request_mem_region.patch
index 24dd27a292..049f743b81 100644
--- a/target/linux/brcm63xx/patches-4.4/424-bcm63xx_enet_no_request_mem_region.patch
+++ b/target/linux/brcm63xx/patches-4.4/424-bcm63xx_enet_no_request_mem_region.patch
@@ -1,6 +1,6 @@
--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
+++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
-@@ -2784,12 +2784,6 @@ static int bcm_enetsw_probe(struct platf
+@@ -2792,12 +2792,6 @@ static int bcm_enetsw_probe(struct platf
if (ret)
goto out;
diff --git a/target/linux/brcm63xx/patches-4.4/804-bcm63xx_enet_63268_rgmii_ports.patch b/target/linux/brcm63xx/patches-4.4/804-bcm63xx_enet_63268_rgmii_ports.patch
index 99075c6b9b..e5667327dd 100644
--- a/target/linux/brcm63xx/patches-4.4/804-bcm63xx_enet_63268_rgmii_ports.patch
+++ b/target/linux/brcm63xx/patches-4.4/804-bcm63xx_enet_63268_rgmii_ports.patch
@@ -1,6 +1,6 @@
--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
+++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
-@@ -2276,6 +2276,10 @@ static int bcm_enetsw_open(struct net_de
+@@ -2284,6 +2284,10 @@ static int bcm_enetsw_open(struct net_de
rgmii_ctrl = enetsw_readb(priv, ENETSW_RGMII_CTRL_REG(i));
rgmii_ctrl |= ENETSW_RGMII_CTRL_GMII_CLK_EN;
diff --git a/target/linux/generic/config-4.4 b/target/linux/generic/config-4.4
index 14284ff3c3..4a0bb1f63f 100644
--- a/target/linux/generic/config-4.4
+++ b/target/linux/generic/config-4.4
@@ -962,6 +962,7 @@ CONFIG_DQL=y
# CONFIG_DRAGONRISE_FF is not set
# CONFIG_DRM is not set
# CONFIG_DS1682 is not set
+# CONFIG_DST_CACHE is not set
# CONFIG_DTLK is not set
# CONFIG_DUMMY is not set
CONFIG_DUMMY_CONSOLE_COLUMNS=80
diff --git a/target/linux/generic/patches-4.4/201-extra_optimization.patch b/target/linux/generic/patches-4.4/201-extra_optimization.patch
index b4235a11d4..8fa26bcae4 100644
--- a/target/linux/generic/patches-4.4/201-extra_optimization.patch
+++ b/target/linux/generic/patches-4.4/201-extra_optimization.patch
@@ -1,7 +1,7 @@
--- a/Makefile
+++ b/Makefile
-@@ -626,12 +626,12 @@ KBUILD_CFLAGS += $(call cc-disable-warni
- KBUILD_CFLAGS += $(call cc-disable-warning, int-in-bool-context)
+@@ -627,12 +627,12 @@ KBUILD_CFLAGS += $(call cc-disable-warni
+ KBUILD_CFLAGS += $(call cc-disable-warning, attribute-alias)
ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
-KBUILD_CFLAGS += -Os
diff --git a/target/linux/generic/patches-4.4/494-mtd-ubi-add-EOF-marker-support.patch b/target/linux/generic/patches-4.4/494-mtd-ubi-add-EOF-marker-support.patch
index dd5ee306ef..d23c7be1bd 100644
--- a/target/linux/generic/patches-4.4/494-mtd-ubi-add-EOF-marker-support.patch
+++ b/target/linux/generic/patches-4.4/494-mtd-ubi-add-EOF-marker-support.patch
@@ -1,7 +1,7 @@
--- a/drivers/mtd/ubi/attach.c
+++ b/drivers/mtd/ubi/attach.c
-@@ -803,6 +803,13 @@ out_unlock:
- return err;
+@@ -851,6 +851,13 @@ static bool vol_ignored(int vol_id)
+ #endif
}
+static bool ec_hdr_has_eof(struct ubi_ec_hdr *ech)
@@ -14,7 +14,7 @@
/**
* scan_peb - scan and process UBI headers of a PEB.
* @ubi: UBI device description object
-@@ -833,9 +840,21 @@ static int scan_peb(struct ubi_device *u
+@@ -880,9 +887,21 @@ static int scan_peb(struct ubi_device *u
return 0;
}
@@ -41,7 +41,7 @@
break;
--- a/drivers/mtd/ubi/ubi.h
+++ b/drivers/mtd/ubi/ubi.h
-@@ -741,6 +741,7 @@ struct ubi_attach_info {
+@@ -747,6 +747,7 @@ struct ubi_attach_info {
int mean_ec;
uint64_t ec_sum;
int ec_count;
diff --git a/target/linux/generic/patches-4.4/610-netfilter_match_bypass_default_checks.patch b/target/linux/generic/patches-4.4/610-netfilter_match_bypass_default_checks.patch
index 0967795751..6a228a3429 100644
--- a/target/linux/generic/patches-4.4/610-netfilter_match_bypass_default_checks.patch
+++ b/target/linux/generic/patches-4.4/610-netfilter_match_bypass_default_checks.patch
@@ -59,7 +59,7 @@
if (!xt_percpu_counter_alloc(alloc_state, &e->counters))
return -ENOMEM;
-@@ -957,6 +985,7 @@ copy_entries_to_user(unsigned int total_
+@@ -958,6 +986,7 @@ copy_entries_to_user(unsigned int total_
const struct xt_table_info *private = table->private;
int ret = 0;
const void *loc_cpu_entry;
@@ -67,7 +67,7 @@
counters = alloc_counters(table);
if (IS_ERR(counters))
-@@ -983,6 +1012,14 @@ copy_entries_to_user(unsigned int total_
+@@ -984,6 +1013,14 @@ copy_entries_to_user(unsigned int total_
ret = -EFAULT;
goto free_counters;
}
diff --git a/target/linux/generic/patches-4.4/653-disable_netlink_trim.patch b/target/linux/generic/patches-4.4/653-disable_netlink_trim.patch
index 66ce4bb51c..744bba1682 100644
--- a/target/linux/generic/patches-4.4/653-disable_netlink_trim.patch
+++ b/target/linux/generic/patches-4.4/653-disable_netlink_trim.patch
@@ -1,6 +1,6 @@
--- a/net/netlink/af_netlink.c
+++ b/net/netlink/af_netlink.c
-@@ -1234,24 +1234,7 @@ void netlink_detachskb(struct sock *sk,
+@@ -1241,24 +1241,7 @@ void netlink_detachskb(struct sock *sk,
static struct sk_buff *netlink_trim(struct sk_buff *skb, gfp_t allocation)
{
diff --git a/target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
index bfe76dbc16..be4d032f27 100644
--- a/target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
+++ b/target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
@@ -114,7 +114,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -642,7 +642,8 @@ struct sk_buff {
- __u8 ipvs_property:1;
+
__u8 inner_protocol_type:1;
__u8 remcsum_offload:1;
- /* 3 or 5 bit hole */
diff --git a/target/linux/generic/patches-4.4/834-ledtrig-libata.patch b/target/linux/generic/patches-4.4/834-ledtrig-libata.patch
index ee8fe6bc49..b4979c0dc7 100644
--- a/target/linux/generic/patches-4.4/834-ledtrig-libata.patch
+++ b/target/linux/generic/patches-4.4/834-ledtrig-libata.patch
@@ -69,7 +69,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
/**
* ata_build_rw_tf - Build ATA taskfile for given read/write request
* @tf: Target ATA taskfile
-@@ -4808,6 +4821,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
+@@ -4811,6 +4824,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
if (tag < 0)
return NULL;
}
@@ -79,7 +79,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
qc = __ata_qc_from_tag(ap, tag);
qc->tag = tag;
-@@ -5704,6 +5720,9 @@ struct ata_port *ata_port_alloc(struct a
+@@ -5707,6 +5723,9 @@ struct ata_port *ata_port_alloc(struct a
ap->stats.unhandled_irq = 1;
ap->stats.idle_irq = 1;
#endif
@@ -89,7 +89,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
ata_sff_port_init(ap);
return ap;
-@@ -5725,6 +5744,12 @@ static void ata_host_release(struct devi
+@@ -5728,6 +5747,12 @@ static void ata_host_release(struct devi
kfree(ap->pmp_link);
kfree(ap->slave_link);
@@ -102,7 +102,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
kfree(ap);
host->ports[i] = NULL;
}
-@@ -6171,7 +6196,23 @@ int ata_host_register(struct ata_host *h
+@@ -6174,7 +6199,23 @@ int ata_host_register(struct ata_host *h
host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
host->ports[i]->local_port_no = i + 1;
}
@@ -138,7 +138,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
/*
* Define if arch has non-standard setup. This is a _PCI_ standard
-@@ -877,6 +880,12 @@ struct ata_port {
+@@ -878,6 +881,12 @@ struct ata_port {
#ifdef CONFIG_ATA_ACPI
struct ata_acpi_gtm __acpi_init_gtm; /* use ata_acpi_init_gtm() */
#endif
diff --git a/target/linux/generic/patches-4.4/902-debloat_proc.patch b/target/linux/generic/patches-4.4/902-debloat_proc.patch
index 636ea422e4..a385e45aa7 100644
--- a/target/linux/generic/patches-4.4/902-debloat_proc.patch
+++ b/target/linux/generic/patches-4.4/902-debloat_proc.patch
@@ -122,7 +122,7 @@
return -ENOMEM;
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
-@@ -2684,6 +2684,8 @@ static const struct file_operations proc
+@@ -2685,6 +2685,8 @@ static const struct file_operations proc
static int __init proc_vmalloc_init(void)
{
diff --git a/target/linux/imx6/patches-4.4/207-i2c-imx-add-retries-for-NAK-s-on-ventana-boards.patch b/target/linux/imx6/patches-4.4/207-i2c-imx-add-retries-for-NAK-s-on-ventana-boards.patch
index 700513ab0a..173fcd5a0f 100644
--- a/target/linux/imx6/patches-4.4/207-i2c-imx-add-retries-for-NAK-s-on-ventana-boards.patch
+++ b/target/linux/imx6/patches-4.4/207-i2c-imx-add-retries-for-NAK-s-on-ventana-boards.patch
@@ -1,6 +1,6 @@
--- a/drivers/i2c/busses/i2c-imx.c
+++ b/drivers/i2c/busses/i2c-imx.c
-@@ -468,6 +468,8 @@ static int i2c_imx_acked(struct imx_i2c_
+@@ -469,6 +469,8 @@ static int i2c_imx_acked(struct imx_i2c_
{
if (imx_i2c_read_reg(i2c_imx, IMX_I2C_I2SR) & I2SR_RXAK) {
dev_dbg(&i2c_imx->adapter.dev, "<%s> No ACK\n", __func__);
@@ -9,7 +9,7 @@
return -ENXIO; /* No ACK */
}
-@@ -1073,6 +1075,10 @@ static int i2c_imx_probe(struct platform
+@@ -1072,6 +1074,10 @@ static int i2c_imx_probe(struct platform
i2c_imx->adapter.nr = pdev->id;
i2c_imx->adapter.dev.of_node = pdev->dev.of_node;
i2c_imx->base = base;
diff --git a/target/linux/ipq806x/patches-4.4/400-dsa-add-qca.patch b/target/linux/ipq806x/patches-4.4/400-dsa-add-qca.patch
index fd9f573493..033b5bab1a 100644
--- a/target/linux/ipq806x/patches-4.4/400-dsa-add-qca.patch
+++ b/target/linux/ipq806x/patches-4.4/400-dsa-add-qca.patch
@@ -820,7 +820,7 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
#endif
--- a/net/dsa/slave.c
+++ b/net/dsa/slave.c
-@@ -1180,6 +1180,11 @@ int dsa_slave_create(struct dsa_switch *
+@@ -1186,6 +1186,11 @@ int dsa_slave_create(struct dsa_switch *
p->xmit = brcm_netdev_ops.xmit;
break;
#endif
diff --git a/target/linux/ixp4xx/patches-4.4/600-skb_avoid_dmabounce.patch b/target/linux/ixp4xx/patches-4.4/600-skb_avoid_dmabounce.patch
index 60b5d1a8cb..c2574f96de 100644
--- a/target/linux/ixp4xx/patches-4.4/600-skb_avoid_dmabounce.patch
+++ b/target/linux/ixp4xx/patches-4.4/600-skb_avoid_dmabounce.patch
@@ -10,7 +10,7 @@
/* Get the HEAD */
skb = kmem_cache_alloc_node(cache, gfp_mask & ~__GFP_DMA, node);
-@@ -1147,6 +1150,10 @@ int pskb_expand_head(struct sk_buff *skb
+@@ -1148,6 +1151,10 @@ int pskb_expand_head(struct sk_buff *skb
if (skb_shared(skb))
BUG();
diff --git a/target/linux/layerscape/patches-4.4/4046-mtd-ifc-Segregate-IFC-fcm-and-runtime-registers.patch b/target/linux/layerscape/patches-4.4/4046-mtd-ifc-Segregate-IFC-fcm-and-runtime-registers.patch
index e219f99942..68069e9379 100644
--- a/target/linux/layerscape/patches-4.4/4046-mtd-ifc-Segregate-IFC-fcm-and-runtime-registers.patch
+++ b/target/linux/layerscape/patches-4.4/4046-mtd-ifc-Segregate-IFC-fcm-and-runtime-registers.patch
@@ -424,7 +424,7 @@ Signed-off-by: Raghav Dogra <raghav@freescale.com>
/* clear the read buffer */
ifc_nand_ctrl->read_bytes = 0;
-@@ -724,7 +724,7 @@ static int fsl_ifc_wait(struct mtd_info
+@@ -727,7 +727,7 @@ static int fsl_ifc_wait(struct mtd_info
{
struct fsl_ifc_mtd *priv = chip->priv;
struct fsl_ifc_ctrl *ctrl = priv->ctrl;
@@ -433,7 +433,7 @@ Signed-off-by: Raghav Dogra <raghav@freescale.com>
u32 nand_fsr;
int status;
-@@ -827,39 +827,42 @@ static int fsl_ifc_chip_init_tail(struct
+@@ -830,39 +830,42 @@ static int fsl_ifc_chip_init_tail(struct
static void fsl_ifc_sram_init(struct fsl_ifc_mtd *priv)
{
struct fsl_ifc_ctrl *ctrl = priv->ctrl;
@@ -491,7 +491,7 @@ Signed-off-by: Raghav Dogra <raghav@freescale.com>
/* wait for command complete flag or timeout */
wait_event_timeout(ctrl->nand_wait, ctrl->nand_stat,
-@@ -869,14 +872,15 @@ static void fsl_ifc_sram_init(struct fsl
+@@ -872,14 +875,15 @@ static void fsl_ifc_sram_init(struct fsl
printk(KERN_ERR "fsl-ifc: Failed to Initialise SRAM\n");
/* Restore CSOR and CSOR_ext */
@@ -510,7 +510,7 @@ Signed-off-by: Raghav Dogra <raghav@freescale.com>
struct nand_chip *chip = &priv->chip;
struct nand_ecclayout *layout;
u32 csor;
-@@ -887,7 +891,8 @@ static int fsl_ifc_chip_init(struct fsl_
+@@ -890,7 +894,8 @@ static int fsl_ifc_chip_init(struct fsl_
/* fill in nand_chip structure */
/* set up function call table */
@@ -520,7 +520,7 @@ Signed-off-by: Raghav Dogra <raghav@freescale.com>
chip->read_byte = fsl_ifc_read_byte16;
else
chip->read_byte = fsl_ifc_read_byte;
-@@ -901,13 +906,14 @@ static int fsl_ifc_chip_init(struct fsl_
+@@ -904,13 +909,14 @@ static int fsl_ifc_chip_init(struct fsl_
chip->bbt_td = &bbt_main_descr;
chip->bbt_md = &bbt_mirror_descr;
@@ -537,7 +537,7 @@ Signed-off-by: Raghav Dogra <raghav@freescale.com>
chip->read_byte = fsl_ifc_read_byte16;
chip->options |= NAND_BUSWIDTH_16;
} else {
-@@ -920,7 +926,7 @@ static int fsl_ifc_chip_init(struct fsl_
+@@ -923,7 +929,7 @@ static int fsl_ifc_chip_init(struct fsl_
chip->ecc.read_page = fsl_ifc_read_page;
chip->ecc.write_page = fsl_ifc_write_page;
@@ -546,7 +546,7 @@ Signed-off-by: Raghav Dogra <raghav@freescale.com>
/* Hardware generates ECC per 512 Bytes */
chip->ecc.size = 512;
-@@ -1006,10 +1012,10 @@ static int fsl_ifc_chip_remove(struct fs
+@@ -1009,10 +1015,10 @@ static int fsl_ifc_chip_remove(struct fs
return 0;
}
@@ -559,7 +559,7 @@ Signed-off-by: Raghav Dogra <raghav@freescale.com>
if (!(cspr & CSPR_V))
return 0;
-@@ -1023,7 +1029,7 @@ static DEFINE_MUTEX(fsl_ifc_nand_mutex);
+@@ -1026,7 +1032,7 @@ static DEFINE_MUTEX(fsl_ifc_nand_mutex);
static int fsl_ifc_nand_probe(struct platform_device *dev)
{
@@ -568,7 +568,7 @@ Signed-off-by: Raghav Dogra <raghav@freescale.com>
struct fsl_ifc_mtd *priv;
struct resource res;
static const char *part_probe_types[]
-@@ -1034,9 +1040,9 @@ static int fsl_ifc_nand_probe(struct pla
+@@ -1037,9 +1043,9 @@ static int fsl_ifc_nand_probe(struct pla
struct mtd_part_parser_data ppdata;
ppdata.of_node = dev->dev.of_node;
@@ -580,7 +580,7 @@ Signed-off-by: Raghav Dogra <raghav@freescale.com>
/* get, allocate and map the memory resource */
ret = of_address_to_resource(node, 0, &res);
-@@ -1047,7 +1053,7 @@ static int fsl_ifc_nand_probe(struct pla
+@@ -1050,7 +1056,7 @@ static int fsl_ifc_nand_probe(struct pla
/* find which chip select it is connected to */
for (bank = 0; bank < fsl_ifc_ctrl_dev->banks; bank++) {
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 3e39b0601f..31092b8488 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
@@ -1487,7 +1487,7 @@ Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
writel(temp, &xhci->ir_set->irq_control);
/* Set the HCD state before we enable the irqs */
-@@ -1691,6 +1696,9 @@ int xhci_drop_endpoint(struct usb_hcd *h
+@@ -1725,6 +1730,9 @@ int xhci_drop_endpoint(struct usb_hcd *h
xhci_endpoint_zero(xhci, xhci->devs[udev->slot_id], ep);
@@ -1497,7 +1497,7 @@ Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
xhci_dbg(xhci, "drop ep 0x%x, slot id %d, new drop flags = %#x, new add flags = %#x\n",
(unsigned int) ep->desc.bEndpointAddress,
udev->slot_id,
-@@ -1786,6 +1794,15 @@ int xhci_add_endpoint(struct usb_hcd *hc
+@@ -1820,6 +1828,15 @@ int xhci_add_endpoint(struct usb_hcd *hc
return -ENOMEM;
}
@@ -1515,7 +1515,7 @@ Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1634,6 +1634,7 @@ struct xhci_hcd {
+@@ -1638,6 +1638,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)
diff --git a/target/linux/oxnas/patches-4.4/0074-mtd-nand-import-nand_hw_control_init.patch b/target/linux/oxnas/patches-4.4/0074-mtd-nand-import-nand_hw_control_init.patch
index 45c4bc70bb..2c741b9e06 100644
--- a/target/linux/oxnas/patches-4.4/0074-mtd-nand-import-nand_hw_control_init.patch
+++ b/target/linux/oxnas/patches-4.4/0074-mtd-nand-import-nand_hw_control_init.patch
@@ -75,7 +75,7 @@ Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
elbc_fcm_ctrl = fsl_lbc_ctrl_dev->nand;
--- a/drivers/mtd/nand/fsl_ifc_nand.c
+++ b/drivers/mtd/nand/fsl_ifc_nand.c
-@@ -1074,8 +1074,7 @@ static int fsl_ifc_nand_probe(struct pla
+@@ -1077,8 +1077,7 @@ static int fsl_ifc_nand_probe(struct pla
ifc_nand_ctrl->addr = NULL;
fsl_ifc_ctrl_dev->nand = ifc_nand_ctrl;
diff --git a/target/linux/oxnas/patches-4.4/999-libata-hacks.patch b/target/linux/oxnas/patches-4.4/999-libata-hacks.patch
index 83899e6f2b..cd426718db 100644
--- a/target/linux/oxnas/patches-4.4/999-libata-hacks.patch
+++ b/target/linux/oxnas/patches-4.4/999-libata-hacks.patch
@@ -15,7 +15,7 @@
/* initialize internal qc */
/* XXX: Tag 0 is used for drivers with legacy EH as some
-@@ -4815,6 +4823,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
+@@ -4818,6 +4826,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
if (unlikely(ap->pflags & ATA_PFLAG_FROZEN))
return NULL;
@@ -25,7 +25,7 @@
/* libsas case */
if (ap->flags & ATA_FLAG_SAS_HOST) {
tag = ata_sas_allocate_tag(ap);
-@@ -4860,6 +4871,8 @@ void ata_qc_free(struct ata_queued_cmd *
+@@ -4863,6 +4874,8 @@ void ata_qc_free(struct ata_queued_cmd *
qc->tag = ATA_TAG_POISON;
if (ap->flags & ATA_FLAG_SAS_HOST)
ata_sas_free_tag(tag, ap);
@@ -36,7 +36,7 @@
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
-@@ -906,6 +906,8 @@ struct ata_port_operations {
+@@ -907,6 +907,8 @@ struct ata_port_operations {
void (*qc_prep)(struct ata_queued_cmd *qc);
unsigned int (*qc_issue)(struct ata_queued_cmd *qc);
bool (*qc_fill_rtf)(struct ata_queued_cmd *qc);
@@ -45,7 +45,7 @@
/*
* Configuration and exception handling
-@@ -996,6 +998,9 @@ struct ata_port_operations {
+@@ -997,6 +999,9 @@ struct ata_port_operations {
void (*phy_reset)(struct ata_port *ap);
void (*eng_timeout)(struct ata_port *ap);
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 316e5d8fd4..97eae37e5d 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
@@ -1479,7 +1479,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
writel(temp, &xhci->ir_set->irq_control);
/* Set the HCD state before we enable the irqs */
-@@ -1691,6 +1696,9 @@ int xhci_drop_endpoint(struct usb_hcd *h
+@@ -1725,6 +1730,9 @@ int xhci_drop_endpoint(struct usb_hcd *h
xhci_endpoint_zero(xhci, xhci->devs[udev->slot_id], ep);
@@ -1489,7 +1489,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
xhci_dbg(xhci, "drop ep 0x%x, slot id %d, new drop flags = %#x, new add flags = %#x\n",
(unsigned int) ep->desc.bEndpointAddress,
udev->slot_id,
-@@ -1786,6 +1794,15 @@ int xhci_add_endpoint(struct usb_hcd *hc
+@@ -1820,6 +1828,15 @@ int xhci_add_endpoint(struct usb_hcd *hc
return -ENOMEM;
}
@@ -1507,7 +1507,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1634,6 +1634,7 @@ struct xhci_hcd {
+@@ -1638,6 +1638,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)
diff --git a/target/linux/x86/config-4.4 b/target/linux/x86/config-4.4
index d85d1882d3..a4a83be24c 100644
--- a/target/linux/x86/config-4.4
+++ b/target/linux/x86/config-4.4
@@ -21,7 +21,6 @@ CONFIG_ARCH_HAS_MMIO_FLUSH=y
CONFIG_ARCH_HAS_SG_CHAIN=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
-CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
@@ -417,6 +416,7 @@ CONFIG_X86_ALIGNMENT_16=y
# CONFIG_X86_DEBUG_FPU is not set
# CONFIG_X86_EXTENDED_PLATFORM is not set
CONFIG_X86_F00F_BUG=y
+CONFIG_X86_FAST_FEATURE_TESTS=y
CONFIG_X86_FEATURE_NAMES=y
CONFIG_X86_GENERIC=y
# CONFIG_X86_GX_SUSPMOD is not set