KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
endif
-LINUX_VERSION-4.14 = .236
+LINUX_VERSION-4.14 = .241
-LINUX_KERNEL_HASH-4.14.236 = e4eae297a6fefefd8ce4781d98178a7c1ee51ca0a4c8a7e46e61b121fbab8b2a
+LINUX_KERNEL_HASH-4.14.241 = b5bb04bb70154ba27a08bc1c067eb7c08fc3d513da58e6a33d6645b3a1889f7d
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
hcd->msi_enabled = 1;
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1858,6 +1858,7 @@ struct xhci_hcd {
+@@ -1859,6 +1859,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 */
#include <linux/uaccess.h>
#include <linux/ipv6.h>
#include <linux/icmpv6.h>
-@@ -819,10 +820,10 @@ static void tcp_v6_send_response(const s
+@@ -835,10 +836,10 @@ static void tcp_v6_send_response(const s
topt = (__be32 *)(t1 + 1);
if (tsecr) {
for (p = *head; p; p = p->next) {
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
-@@ -465,7 +465,7 @@ static struct neighbour *ipv4_neigh_look
+@@ -466,7 +466,7 @@ static struct neighbour *ipv4_neigh_look
else if (skb)
pkey = &ip_hdr(skb)->daddr;
*sum = csum_fold(csum_partial(diff, sizeof(diff),
--- a/drivers/net/vxlan.c
+++ b/drivers/net/vxlan.c
-@@ -1876,15 +1876,15 @@ static int vxlan_build_skb(struct sk_buf
+@@ -1878,15 +1878,15 @@ static int vxlan_build_skb(struct sk_buf
return err;
vxh = __skb_push(skb, sizeof(*vxh));
#endif /* __MDIO_BOARD_INFO_H */
--- a/drivers/net/phy/mdio_bus.c
+++ b/drivers/net/phy/mdio_bus.c
-@@ -455,6 +455,17 @@ void mdiobus_free(struct mii_bus *bus)
+@@ -456,6 +456,17 @@ void mdiobus_free(struct mii_bus *bus)
}
EXPORT_SYMBOL(mdiobus_free);
/**
* mdiobus_scan - scan a bus for MDIO devices.
* @bus: mii_bus to scan
-@@ -470,6 +481,7 @@ EXPORT_SYMBOL(mdiobus_free);
+@@ -471,6 +482,7 @@ EXPORT_SYMBOL(mdiobus_free);
struct phy_device *mdiobus_scan(struct mii_bus *bus, int addr)
{
struct phy_device *phydev;
int err;
phydev = get_phy_device(bus, addr, false);
-@@ -482,6 +494,12 @@ struct phy_device *mdiobus_scan(struct m
+@@ -483,6 +495,12 @@ struct phy_device *mdiobus_scan(struct m
*/
of_mdiobus_link_mdiodev(bus, &phydev->mdio);
#include <linux/uaccess.h>
#include <linux/ipv6.h>
#include <linux/icmpv6.h>
-@@ -819,10 +820,10 @@ static void tcp_v6_send_response(const s
+@@ -835,10 +836,10 @@ static void tcp_v6_send_response(const s
topt = (__be32 *)(t1 + 1);
if (tsecr) {
for (p = *head; p; p = p->next) {
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
-@@ -465,7 +465,7 @@ static struct neighbour *ipv4_neigh_look
+@@ -466,7 +466,7 @@ static struct neighbour *ipv4_neigh_look
else if (skb)
pkey = &ip_hdr(skb)->daddr;
/*
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1840,6 +1840,7 @@ struct xhci_hcd {
+@@ -1841,6 +1841,7 @@ struct xhci_hcd {
#define XHCI_INTEL_USB_ROLE_SW BIT_ULL(31)
#define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34)
#define XHCI_SNPS_BROKEN_SUSPEND BIT_ULL(35)
--- a/drivers/dma/Kconfig
+++ b/drivers/dma/Kconfig
-@@ -131,7 +131,7 @@ config COH901318
+@@ -132,7 +132,7 @@ config COH901318
config DMA_BCM2835
tristate "BCM2835 DMA engine support"
}
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
-@@ -5131,7 +5131,7 @@ static void port_event(struct usb_hub *h
+@@ -5177,7 +5177,7 @@ static void port_event(struct usb_hub *h
if (portchange & USB_PORT_STAT_C_OVERCURRENT) {
u16 status = 0, unused;
--- a/drivers/dma/Kconfig
+++ b/drivers/dma/Kconfig
-@@ -131,7 +131,7 @@ config COH901318
+@@ -132,7 +132,7 @@ config COH901318
config DMA_BCM2835
tristate "BCM2835 DMA engine support"
select DMA_ENGINE
select DMA_VIRTUAL_CHANNELS
-@@ -535,6 +535,10 @@ config TIMB_DMA
+@@ -536,6 +536,10 @@ config TIMB_DMA
help
Enable support for the Timberdale FPGA DMA engine.
goto out;
--- a/drivers/mmc/core/core.c
+++ b/drivers/mmc/core/core.c
-@@ -2210,7 +2210,8 @@ EXPORT_SYMBOL(mmc_erase);
+@@ -2213,7 +2213,8 @@ EXPORT_SYMBOL(mmc_erase);
int mmc_can_erase(struct mmc_card *card)
{
if ((card->host->caps & MMC_CAP_ERASE) &&
-From 584bc4a6093ceb9aea07673185ee0084edc8690b Mon Sep 17 00:00:00 2001
+From 66b3e537b50cd2b46b71edb6ffeef633d1224d10 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 27 Nov 2017 17:14:54 +0000
-Subject: [PATCH 136/454] cgroup: Disable cgroup "memory" by default
+Subject: [PATCH] cgroup: Disable cgroup "memory" by default
Some Raspberry Pis have limited RAM and most users won't use the
cgroup memory support so it is disabled by default. Enable with:
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
---
- kernel/cgroup/cgroup.c | 30 ++++++++++++++++++++++++++++++
- 1 file changed, 30 insertions(+)
+ kernel/cgroup/cgroup.c | 38 ++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 38 insertions(+)
--- a/kernel/cgroup/cgroup.c
+++ b/kernel/cgroup/cgroup.c
-@@ -5220,6 +5220,8 @@ int __init cgroup_init_early(void)
+@@ -5219,6 +5219,9 @@ int __init cgroup_init_early(void)
+ return 0;
}
- static u16 cgroup_disable_mask __initdata;
+static u16 cgroup_enable_mask __initdata;
+static int __init cgroup_disable(char *str);
-
++
/**
* cgroup_init - cgroup initialization
-@@ -5258,6 +5260,12 @@ int __init cgroup_init(void)
+ *
+@@ -5256,6 +5259,12 @@ int __init cgroup_init(void)
mutex_unlock(&cgroup_mutex);
-+ /* Apply an implicit disable... */
++ /*
++ * Apply an implicit disable, knowing that an explicit enable will
++ * prevent if from doing anything.
++ */
+ cgroup_disable("memory");
-+
-+ /* ...knowing that an explicit enable will override it. */
-+ cgroup_disable_mask &= ~cgroup_enable_mask;
+
for_each_subsys(ss, ssid) {
if (ss->early_init) {
struct cgroup_subsys_state *css =
-@@ -5649,6 +5657,28 @@ static int __init cgroup_disable(char *s
+@@ -5637,6 +5646,10 @@ static int __init cgroup_disable(char *s
+ strcmp(token, ss->legacy_name))
+ continue;
+
++ /* An explicit cgroup_enable overrides a disable */
++ if (cgroup_enable_mask & (1 << i))
++ continue;
++
+ static_branch_disable(cgroup_subsys_enabled_key[i]);
+ pr_info("Disabling %s control group subsystem\n",
+ ss->name);
+@@ -5646,6 +5659,31 @@ static int __init cgroup_disable(char *s
}
__setup("cgroup_disable=", cgroup_disable);
+ continue;
+
+ cgroup_enable_mask |= 1 << i;
++ static_branch_enable(cgroup_subsys_enabled_key[i]);
++ pr_info("Enabling %s control group subsystem\n",
++ ss->name);
+ }
+ }
+ return 1;
--- a/drivers/net/phy/mdio_bus.c
+++ b/drivers/net/phy/mdio_bus.c
-@@ -493,6 +493,55 @@ struct phy_device *mdiobus_scan(struct m
+@@ -494,6 +494,55 @@ struct phy_device *mdiobus_scan(struct m
EXPORT_SYMBOL(mdiobus_scan);
/**
* mdiobus_read_nested - Nested version of the mdiobus_read function
* @bus: the mii_bus struct
* @addr: the phy address
-@@ -512,11 +561,9 @@ int mdiobus_read_nested(struct mii_bus *
+@@ -513,11 +562,9 @@ int mdiobus_read_nested(struct mii_bus *
BUG_ON(in_interrupt());
mutex_lock_nested(&bus->mdio_lock, MDIO_MUTEX_NESTED);
return retval;
}
EXPORT_SYMBOL(mdiobus_read_nested);
-@@ -538,11 +585,9 @@ int mdiobus_read(struct mii_bus *bus, in
+@@ -539,11 +586,9 @@ int mdiobus_read(struct mii_bus *bus, in
BUG_ON(in_interrupt());
mutex_lock(&bus->mdio_lock);
return retval;
}
EXPORT_SYMBOL(mdiobus_read);
-@@ -568,11 +613,9 @@ int mdiobus_write_nested(struct mii_bus
+@@ -569,11 +614,9 @@ int mdiobus_write_nested(struct mii_bus
BUG_ON(in_interrupt());
mutex_lock_nested(&bus->mdio_lock, MDIO_MUTEX_NESTED);
return err;
}
EXPORT_SYMBOL(mdiobus_write_nested);
-@@ -595,11 +638,9 @@ int mdiobus_write(struct mii_bus *bus, i
+@@ -596,11 +639,9 @@ int mdiobus_write(struct mii_bus *bus, i
BUG_ON(in_interrupt());
mutex_lock(&bus->mdio_lock);
return 0;
}
-@@ -1885,6 +1886,7 @@ static int tc358743_probe(struct i2c_cli
+@@ -1886,6 +1887,7 @@ static int tc358743_probe(struct i2c_cli
if (pdata) {
state->pdata = *pdata;
state->bus.flags = V4L2_MBUS_CSI2_CONTINUOUS_CLOCK;
*/
bps_pr_lane = 2 * endpoint->link_frequencies[0];
if (bps_pr_lane < 62500000U || bps_pr_lane > 1000000000U) {
-@@ -1815,23 +1816,41 @@ static int tc358743_probe_of(struct tc35
+@@ -1816,23 +1817,41 @@ static int tc358743_probe_of(struct tc35
state->pdata.refclk_hz * state->pdata.pll_prd;
/*
static void i2c_wr16(struct v4l2_subdev *sd, u16 reg, u16 val)
{
i2c_wrreg(sd, reg, val, 2);
-@@ -1887,6 +1904,7 @@ static int tc358743_probe(struct i2c_cli
+@@ -1888,6 +1905,7 @@ static int tc358743_probe(struct i2c_cli
struct tc358743_state *state;
struct tc358743_platform_data *pdata = client->dev.platform_data;
struct v4l2_subdev *sd;
int err;
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
-@@ -1919,7 +1937,8 @@ static int tc358743_probe(struct i2c_cli
+@@ -1920,7 +1938,8 @@ static int tc358743_probe(struct i2c_cli
sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE | V4L2_SUBDEV_FL_HAS_EVENTS;
/* i2c access */
};
};
-@@ -348,5 +354,20 @@
+@@ -349,5 +355,20 @@
memcpy-bus-width = <32>;
#dma-cells = <2>;
};
};
};
pci_default_pins: pinctrl-pci {
-@@ -316,6 +323,41 @@
+@@ -317,6 +324,41 @@
};
};
};
--- a/arch/arm/boot/dts/gemini.dtsi
+++ b/arch/arm/boot/dts/gemini.dtsi
-@@ -411,5 +411,31 @@
+@@ -412,5 +412,31 @@
#size-cells = <0>;
status = "disabled";
};
* Before updating sk_refcnt, we must commit prior changes to memory
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
-@@ -1700,7 +1700,7 @@ u32 tcp_tso_autosize(const struct sock *
+@@ -1701,7 +1701,7 @@ u32 tcp_tso_autosize(const struct sock *
{
u32 bytes, segs;
sk->sk_gso_max_size - 1 - MAX_TCP_HEADER);
/* Goal is to send at least one packet per ms,
-@@ -2218,7 +2218,7 @@ static bool tcp_small_queue_check(struct
+@@ -2219,7 +2219,7 @@ static bool tcp_small_queue_check(struct
{
unsigned int limit;
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
-@@ -2028,7 +2028,8 @@ static const struct usb_device_id option
+@@ -2031,7 +2031,8 @@ static const struct usb_device_id option
{ USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d01, 0xff) }, /* D-Link DWM-156 (variant) */
{ USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d02, 0xff) },
{ USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d03, 0xff) },
expired_count++;
--- a/net/netfilter/nf_conntrack_netlink.c
+++ b/net/netfilter/nf_conntrack_netlink.c
-@@ -1125,6 +1125,14 @@ static const struct nla_policy ct_nla_po
+@@ -1128,6 +1128,14 @@ static const struct nla_policy ct_nla_po
.len = NF_CT_LABELS_MAX_SIZE },
};
static int ctnetlink_flush_conntrack(struct net *net,
const struct nlattr * const cda[],
u32 portid, int report)
-@@ -1137,7 +1145,7 @@ static int ctnetlink_flush_conntrack(str
+@@ -1140,7 +1148,7 @@ static int ctnetlink_flush_conntrack(str
return PTR_ERR(filter);
}
portid, report);
kfree(filter);
-@@ -1183,6 +1191,11 @@ static int ctnetlink_del_conntrack(struc
+@@ -1186,6 +1194,11 @@ static int ctnetlink_del_conntrack(struc
ct = nf_ct_tuplehash_to_ctrack(h);
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
# CONFIG_BATTERY_MAX1721X is not set
+# CONFIG_BATTERY_RT5033 is not set
# CONFIG_BATTERY_SBS is not set
# CONFIG_BAYCOM_EPP is not set
# CONFIG_BAYCOM_PAR is not set
--- a/Makefile
+++ b/Makefile
-@@ -1261,7 +1261,6 @@ endif
+@@ -1260,7 +1260,6 @@ endif
PHONY += modules
modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin
@$(kecho) ' Building modules, stage 2.';
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
-@@ -1290,7 +1289,6 @@ _modinst_:
+@@ -1289,7 +1288,6 @@ _modinst_:
rm -f $(MODLIB)/build ; \
ln -s $(CURDIR) $(MODLIB)/build ; \
fi
# Read KERNELRELEASE from include/config/kernel.release (if it exists)
KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null)
KERNELVERSION = $(VERSION)$(if $(PATCHLEVEL),.$(PATCHLEVEL)$(if $(SUBLEVEL),.$(SUBLEVEL)))$(EXTRAVERSION)
-@@ -786,11 +791,6 @@ ifdef CONFIG_DEBUG_SECTION_MISMATCH
+@@ -785,11 +790,6 @@ ifdef CONFIG_DEBUG_SECTION_MISMATCH
KBUILD_CFLAGS += $(call cc-option, -fno-inline-functions-called-once)
endif
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
-@@ -427,6 +427,9 @@ static struct pernet_operations ip_rt_pr
+@@ -428,6 +428,9 @@ static struct pernet_operations ip_rt_pr
static int __init ip_rt_proc_init(void)
{
--- a/lib/vsprintf.c
+++ b/lib/vsprintf.c
-@@ -670,8 +670,10 @@ char *symbol_string(char *buf, char *end
+@@ -696,8 +696,10 @@ char *symbol_string(char *buf, char *end
struct printf_spec spec, const char *fmt)
{
unsigned long value;
#endif
if (fmt[1] == 'R')
-@@ -685,11 +687,16 @@ char *symbol_string(char *buf, char *end
+@@ -711,11 +713,16 @@ char *symbol_string(char *buf, char *end
sprint_symbol(sym, value);
else
sprint_symbol_no_offset(sym, value);
if (sock->type == SOCK_PACKET)
po->prot_hook.func = packet_rcv_spkt;
-@@ -3947,6 +3950,16 @@ packet_setsockopt(struct socket *sock, i
+@@ -3949,6 +3952,16 @@ packet_setsockopt(struct socket *sock, i
po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
return 0;
}
default:
return -ENOPROTOOPT;
}
-@@ -3999,6 +4012,13 @@ static int packet_getsockopt(struct sock
+@@ -4001,6 +4014,13 @@ static int packet_getsockopt(struct sock
case PACKET_VNET_HDR:
val = po->has_vnet_hdr;
break;
if (netif_elide_gro(skb->dev))
goto normal;
-@@ -6280,6 +6283,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -6287,6 +6290,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)
-@@ -6318,6 +6363,7 @@ static int __netdev_upper_dev_link(struc
+@@ -6325,6 +6370,7 @@ static int __netdev_upper_dev_link(struc
if (ret)
return ret;
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
&changeupper_info.info);
ret = notifier_to_errno(ret);
-@@ -6395,6 +6441,7 @@ void netdev_upper_dev_unlink(struct net_
+@@ -6402,6 +6448,7 @@ void netdev_upper_dev_unlink(struct net_
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
&changeupper_info.info);
}
-@@ -6959,6 +7006,7 @@ int dev_set_mac_address(struct net_devic
+@@ -6966,6 +7013,7 @@ int dev_set_mac_address(struct net_devic
if (err)
return err;
dev->addr_assign_type = NET_ADDR_SET;
--- a/drivers/dma/qcom/Kconfig
+++ b/drivers/dma/qcom/Kconfig
-@@ -27,3 +27,13 @@ config QCOM_HIDMA
+@@ -28,3 +28,13 @@ config QCOM_HIDMA
(user to kernel, kernel to kernel, etc.). It only supports
memcpy interface. The core is not intended for general
purpose slave DMA.
}
#ifdef CONFIG_NET_INGRESS
-@@ -6339,7 +6340,15 @@ static int __netdev_upper_dev_link(struc
+@@ -6346,7 +6347,15 @@ static int __netdev_upper_dev_link(struc
struct net_device *upper_dev, bool master,
void *upper_priv, void *upper_info)
{
int ret = 0;
ASSERT_RTNL();
-@@ -6357,12 +6366,7 @@ static int __netdev_upper_dev_link(struc
+@@ -6364,12 +6373,7 @@ static int __netdev_upper_dev_link(struc
if (master && netdev_master_upper_dev_get(dev))
return -EBUSY;
&changeupper_info.info);
ret = notifier_to_errno(ret);
if (ret)
-@@ -6374,7 +6378,7 @@ static int __netdev_upper_dev_link(struc
+@@ -6381,7 +6385,7 @@ static int __netdev_upper_dev_link(struc
return ret;
netdev_update_addr_mask(dev);
&changeupper_info.info);
ret = notifier_to_errno(ret);
if (ret)
-@@ -6438,21 +6442,25 @@ EXPORT_SYMBOL(netdev_master_upper_dev_li
+@@ -6445,21 +6449,25 @@ EXPORT_SYMBOL(netdev_master_upper_dev_li
void netdev_upper_dev_unlink(struct net_device *dev,
struct net_device *upper_dev)
{
&changeupper_info.info);
}
EXPORT_SYMBOL(netdev_upper_dev_unlink);
-@@ -6468,11 +6476,13 @@ EXPORT_SYMBOL(netdev_upper_dev_unlink);
+@@ -6475,11 +6483,13 @@ EXPORT_SYMBOL(netdev_upper_dev_unlink);
void netdev_bonding_info_change(struct net_device *dev,
struct netdev_bonding_info *bonding_info)
{
&info.info);
}
EXPORT_SYMBOL(netdev_bonding_info_change);
-@@ -6598,11 +6608,13 @@ EXPORT_SYMBOL(dev_get_nest_level);
+@@ -6605,11 +6615,13 @@ EXPORT_SYMBOL(dev_get_nest_level);
void netdev_lower_state_changed(struct net_device *lower_dev,
void *lower_state_info)
{
&changelowerstate_info.info);
}
EXPORT_SYMBOL(netdev_lower_state_changed);
-@@ -6893,11 +6905,14 @@ void __dev_notify_flags(struct net_devic
+@@ -6900,11 +6912,14 @@ void __dev_notify_flags(struct net_devic
if (dev->flags & IFF_UP &&
(changes & ~(IFF_UP | IFF_PROMISC | IFF_ALLMULTI | IFF_VOLATILE))) {
};
dspi: dspi@2100000 {
-@@ -574,15 +494,126 @@
+@@ -573,15 +493,126 @@
#interrupt-cells = <2>;
};
};
i2c1: i2c@2010000 {
-@@ -593,7 +624,7 @@
+@@ -592,7 +623,7 @@
reg = <0x0 0x2010000 0x0 0x10000>;
interrupts = <0 34 0x4>; /* Level high type */
clock-names = "i2c";
};
i2c2: i2c@2020000 {
-@@ -604,7 +635,7 @@
+@@ -603,7 +634,7 @@
reg = <0x0 0x2020000 0x0 0x10000>;
interrupts = <0 35 0x4>; /* Level high type */
clock-names = "i2c";
};
i2c3: i2c@2030000 {
-@@ -615,7 +646,7 @@
+@@ -614,7 +645,7 @@
reg = <0x0 0x2030000 0x0 0x10000>;
interrupts = <0 35 0x4>; /* Level high type */
clock-names = "i2c";
};
ifc: ifc@2240000 {
-@@ -648,8 +679,8 @@
+@@ -647,8 +678,8 @@
compatible = "fsl,ls2080a-pcie", "fsl,ls2085a-pcie",
"snps,dw-pcie";
reg-names = "regs", "config";
#address-cells = <3>;
#size-cells = <2>;
device_type = "pci";
-@@ -657,20 +688,22 @@
+@@ -656,20 +687,22 @@
num-lanes = <4>;
bus-range = <0x0 0xff>;
msi-parent = <&its>;
#address-cells = <3>;
#size-cells = <2>;
device_type = "pci";
-@@ -678,20 +711,22 @@
+@@ -677,20 +710,22 @@
num-lanes = <4>;
bus-range = <0x0 0xff>;
msi-parent = <&its>;
#address-cells = <3>;
#size-cells = <2>;
device_type = "pci";
-@@ -699,20 +734,22 @@
+@@ -698,20 +733,22 @@
num-lanes = <8>;
bus-range = <0x0 0xff>;
msi-parent = <&its>;
#address-cells = <3>;
#size-cells = <2>;
device_type = "pci";
-@@ -720,12 +757,14 @@
+@@ -719,12 +756,14 @@
num-lanes = <4>;
bus-range = <0x0 0xff>;
msi-parent = <&its>;
};
sata0: sata@3200000 {
-@@ -754,6 +793,8 @@
+@@ -753,6 +792,8 @@
dr_mode = "host";
snps,quirk-frame-length-adjustment = <0x20>;
snps,dis_rxdet_inp3_quirk;
};
usb1: usb3@3110000 {
-@@ -764,6 +805,14 @@
+@@ -763,6 +804,14 @@
dr_mode = "host";
snps,quirk-frame-length-adjustment = <0x20>;
snps,dis_rxdet_inp3_quirk;
};
ccn@4000000 {
-@@ -771,6 +820,14 @@
+@@ -770,6 +819,14 @@
reg = <0x0 0x04000000 0x0 0x01000000>;
interrupts = <0 12 4>;
};
};
ddr1: memory-controller@1080000 {
-@@ -786,4 +843,44 @@
+@@ -785,4 +842,44 @@
interrupts = <0 18 0x4>;
little-endian;
};
--- a/drivers/dma/Kconfig
+++ b/drivers/dma/Kconfig
-@@ -129,6 +129,24 @@ config COH901318
+@@ -130,6 +130,24 @@ config COH901318
help
Enable support for ST-Ericsson COH 901 318 DMA.
config DMA_BCM2835
tristate "BCM2835 DMA engine support"
depends on ARCH_BCM2835
-@@ -215,6 +233,20 @@ config FSL_EDMA
+@@ -216,6 +234,20 @@ config FSL_EDMA
multiplexing capability for DMA request sources(slot).
This module can be found on Freescale Vybrid and LS-1 SoCs.
config FSL_RAID
tristate "Freescale RAID engine Support"
depends on FSL_SOC && !ASYNC_TX_ENABLE_CHANNEL_SWITCH
-@@ -600,7 +632,6 @@ config ZX_DMA
+@@ -601,7 +633,6 @@ config ZX_DMA
help
Support the DMA engine for ZTE ZX family platform devices.
--- a/drivers/usb/dwc3/ep0.c
+++ b/drivers/usb/dwc3/ep0.c
-@@ -391,7 +391,7 @@ static int dwc3_ep0_handle_u1(struct dwc
+@@ -394,7 +394,7 @@ static int dwc3_ep0_handle_u1(struct dwc
return -EINVAL;
reg = dwc3_readl(dwc->regs, DWC3_DCTL);
reg |= DWC3_DCTL_INITU1ENA;
else
reg &= ~DWC3_DCTL_INITU1ENA;
-@@ -413,7 +413,7 @@ static int dwc3_ep0_handle_u2(struct dwc
+@@ -416,7 +416,7 @@ static int dwc3_ep0_handle_u2(struct dwc
return -EINVAL;
reg = dwc3_readl(dwc->regs, DWC3_DCTL);
xhci->quirks |= XHCI_BROKEN_PORT_PED;
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
-@@ -1983,10 +1983,12 @@ static int finish_td(struct xhci_hcd *xh
+@@ -2016,10 +2016,12 @@ static int finish_td(struct xhci_hcd *xh
union xhci_trb *ep_trb, struct xhci_transfer_event *event,
struct xhci_virt_ep *ep, int *status)
{
u32 trb_comp_code;
int ep_index;
-@@ -2009,14 +2011,30 @@ static int finish_td(struct xhci_hcd *xh
+@@ -2042,14 +2044,30 @@ static int finish_td(struct xhci_hcd *xh
if (trb_comp_code == COMP_STALL_ERROR ||
xhci_requires_manual_halt_cleanup(xhci, ep_ctx,
trb_comp_code)) {
spin_unlock_irqrestore(&xhci->lock, flags);
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1794,7 +1794,7 @@ struct xhci_hcd {
+@@ -1795,7 +1795,7 @@ struct xhci_hcd {
#define XHCI_STATE_DYING (1 << 0)
#define XHCI_STATE_HALTED (1 << 1)
#define XHCI_STATE_REMOVING (1 << 2)
#define XHCI_LINK_TRB_QUIRK BIT_ULL(0)
#define XHCI_RESET_EP_QUIRK BIT_ULL(1)
#define XHCI_NEC_HOST BIT_ULL(2)
-@@ -1830,6 +1830,9 @@ struct xhci_hcd {
+@@ -1831,6 +1831,9 @@ struct xhci_hcd {
#define XHCI_SSIC_PORT_UNUSED BIT_ULL(22)
#define XHCI_NO_64BIT_SUPPORT BIT_ULL(23)
#define XHCI_MISSING_CAS BIT_ULL(24)
/* For controller with a broken Port Disable implementation */
#define XHCI_BROKEN_PORT_PED BIT_ULL(25)
#define XHCI_LIMIT_ENDPOINT_INTERVAL_7 BIT_ULL(26)
-@@ -1838,8 +1841,9 @@ struct xhci_hcd {
+@@ -1839,8 +1842,9 @@ struct xhci_hcd {
#define XHCI_HW_LPM_DISABLE BIT_ULL(29)
#define XHCI_SUSPEND_DELAY BIT_ULL(30)
#define XHCI_INTEL_USB_ROLE_SW BIT_ULL(31)
* them, we have to fall back to INTx or other interrupts, e.g., a
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
-@@ -3408,6 +3408,13 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_A
- DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0033, quirk_no_bus_reset);
- DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0034, quirk_no_bus_reset);
+@@ -3430,6 +3430,13 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_A
+ */
+ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_TI, 0xb005, quirk_no_bus_reset);
+/*
+ * NXP (Freescale Vendor ID) LS1088 chips do not behave correctly after
.name = "sdhci-esdhc",
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
-@@ -2148,7 +2148,7 @@ static void sdhci_send_tuning(struct sdh
+@@ -2152,7 +2152,7 @@ static void sdhci_send_tuning(struct sdh
}
{
int i;
-@@ -2165,13 +2165,13 @@ static void __sdhci_execute_tuning(struc
+@@ -2169,13 +2169,13 @@ static void __sdhci_execute_tuning(struc
pr_debug("%s: Tuning timeout, falling back to fixed sampling clock\n",
mmc_hostname(host->mmc));
sdhci_abort_tuning(host, opcode);
break;
}
-@@ -2183,6 +2183,7 @@ static void __sdhci_execute_tuning(struc
+@@ -2187,6 +2187,7 @@ static void __sdhci_execute_tuning(struc
pr_info("%s: Tuning failed, falling back to fixed sampling clock\n",
mmc_hostname(host->mmc));
sdhci_reset_tuning(host);
}
int sdhci_execute_tuning(struct mmc_host *mmc, u32 opcode)
-@@ -2244,7 +2245,7 @@ int sdhci_execute_tuning(struct mmc_host
+@@ -2248,7 +2249,7 @@ int sdhci_execute_tuning(struct mmc_host
sdhci_start_tuning(host);
out:
--- a/drivers/mmc/host/sdhci.h
+++ b/drivers/mmc/host/sdhci.h
-@@ -545,6 +545,7 @@ struct sdhci_host {
+@@ -546,6 +546,7 @@ struct sdhci_host {
unsigned int tuning_count; /* Timer count for re-tuning */
unsigned int tuning_mode; /* Re-tuning mode supported by host */
struct lpuart_port {
struct uart_port port;
struct clk *clk;
-@@ -2153,13 +2155,13 @@ static int lpuart_probe(struct platform_
+@@ -2156,13 +2158,13 @@ static int lpuart_probe(struct platform_
ret = of_alias_get_id(np, "serial");
if (ret < 0) {
sport->port.line = ret;
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
sport->port.membase = devm_ioremap_resource(&pdev->dev, res);
-@@ -2250,6 +2252,7 @@ static int lpuart_remove(struct platform
+@@ -2253,6 +2255,7 @@ static int lpuart_remove(struct platform
struct lpuart_port *sport = platform_get_drvdata(pdev);
uart_remove_one_port(&lpuart_reg, &sport->port);
/* Set the HCD state before we enable the irqs */
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1730,6 +1730,8 @@ struct xhci_hcd {
+@@ -1731,6 +1731,8 @@ struct xhci_hcd {
u8 max_interrupters;
u8 max_ports;
u8 isoc_threshold;
--- a/drivers/dma/Kconfig
+++ b/drivers/dma/Kconfig
-@@ -604,6 +604,8 @@ config ZX_DMA
+@@ -605,6 +605,8 @@ config ZX_DMA
# driver files
source "drivers/dma/bestcomm/Kconfig"
#define PCIE_CORE_LINK_CTRL_STAT_REG 0xd0
#define PCIE_CORE_LINK_L0S_ENTRY BIT(0)
#define PCIE_CORE_LINK_TRAINING BIT(5)
-@@ -297,7 +299,8 @@ static void advk_pcie_setup_hw(struct ad
+@@ -298,7 +300,8 @@ static void advk_pcie_setup_hw(struct ad
/* Set PCIe Device Control and Status 1 PF0 register */
reg = PCIE_CORE_DEV_CTRL_STATS_RELAX_ORDER_DISABLE |
PCIE_CORE_DEV_CTRL_STATS_SNOOP_DISABLE |
(PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SZ <<
PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SIZE_SHIFT);
-@@ -882,6 +885,58 @@ out_release_res:
+@@ -913,6 +916,58 @@ out_release_res:
return err;
}
static int advk_pcie_probe(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
-@@ -956,6 +1011,9 @@ static int advk_pcie_probe(struct platfo
+@@ -987,6 +1042,9 @@ static int advk_pcie_probe(struct platfo
list_for_each_entry(child, &bus->children, node)
pcie_bus_configure_settings(child);
--- a/drivers/pci/host/pci-aardvark.c
+++ b/drivers/pci/host/pci-aardvark.c
-@@ -272,6 +272,8 @@ static void advk_pcie_set_ob_win(struct
+@@ -273,6 +273,8 @@ static void advk_pcie_set_ob_win(struct
static void advk_pcie_setup_hw(struct advk_pcie *pcie)
{
u32 reg;
int i;
-@@ -311,10 +313,15 @@ static void advk_pcie_setup_hw(struct ad
+@@ -312,10 +314,15 @@ static void advk_pcie_setup_hw(struct ad
PCIE_CORE_CTRL2_TD_ENABLE;
advk_writel(pcie, reg, PCIE_CORE_CTRL2_REG);
#include <media/v4l2-common.h>
-@@ -1101,9 +1106,149 @@ static void uvc_video_decode_data(struct
+@@ -1128,9 +1133,149 @@ static void uvc_video_decode_data(struct
}
}
/* Mark the buffer as done if the EOF marker is set. */
if (data[1] & UVC_STREAM_EOF && buf->bytesused != 0) {
uvc_trace(UVC_TRACE_FRAME, "Frame complete (EOF found).\n");
-@@ -1518,6 +1663,8 @@ static int uvc_init_video_isoc(struct uv
+@@ -1545,6 +1690,8 @@ static int uvc_init_video_isoc(struct uv
if (npackets == 0)
return -ENOMEM;
--- a/drivers/net/phy/mdio_bus.c
+++ b/drivers/net/phy/mdio_bus.c
-@@ -493,6 +493,55 @@ struct phy_device *mdiobus_scan(struct m
+@@ -494,6 +494,55 @@ struct phy_device *mdiobus_scan(struct m
EXPORT_SYMBOL(mdiobus_scan);
/**
* mdiobus_read_nested - Nested version of the mdiobus_read function
* @bus: the mii_bus struct
* @addr: the phy address
-@@ -512,11 +561,9 @@ int mdiobus_read_nested(struct mii_bus *
+@@ -513,11 +562,9 @@ int mdiobus_read_nested(struct mii_bus *
BUG_ON(in_interrupt());
mutex_lock_nested(&bus->mdio_lock, MDIO_MUTEX_NESTED);
return retval;
}
EXPORT_SYMBOL(mdiobus_read_nested);
-@@ -538,11 +585,9 @@ int mdiobus_read(struct mii_bus *bus, in
+@@ -539,11 +586,9 @@ int mdiobus_read(struct mii_bus *bus, in
BUG_ON(in_interrupt());
mutex_lock(&bus->mdio_lock);
return retval;
}
EXPORT_SYMBOL(mdiobus_read);
-@@ -568,11 +613,9 @@ int mdiobus_write_nested(struct mii_bus
+@@ -569,11 +614,9 @@ int mdiobus_write_nested(struct mii_bus
BUG_ON(in_interrupt());
mutex_lock_nested(&bus->mdio_lock, MDIO_MUTEX_NESTED);
return err;
}
EXPORT_SYMBOL(mdiobus_write_nested);
-@@ -595,11 +638,9 @@ int mdiobus_write(struct mii_bus *bus, i
+@@ -596,11 +639,9 @@ int mdiobus_write(struct mii_bus *bus, i
BUG_ON(in_interrupt());
mutex_lock(&bus->mdio_lock);