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>
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)))
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);
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 = {
.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");
#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;
/* 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 */
+++ /dev/null
-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);
&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) {
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)) {
}
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;
}
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;
--- 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);
/*
--- 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)
/**
* 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;
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 */
}
--- 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;
--- 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
*/
+++ /dev/null
-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)
+++ /dev/null
-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)
#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];
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));
--- 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));
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)
--- 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 */
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);
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);
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) {
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;
}
} 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:
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) {
#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;
}
#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;
}
.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
},
};
/*
* 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));
}
/* 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;
/* 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;
+
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);
--- 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;
--- 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;
# 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
--- 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
--- 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)
/**
* 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;
}
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;
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;
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;
}
--- 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)
{
--- 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 */
/**
* 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;
}
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
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);
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;
}
/*
* 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
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)
{
--- 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__);
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;
#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
/* 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();
/* 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;
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;
/* 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 */
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 */
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;
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;
/* 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;
}
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)
{
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;
/* 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++) {
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);
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;
}
--- 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)
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;
/* 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;
/* 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);
--- 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);
/*
* 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);
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);
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;
}
--- 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)
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
# 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