KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
endif
-LINUX_VERSION-4.14 = .244
+LINUX_VERSION-4.14 = .245
-LINUX_KERNEL_HASH-4.14.244 = b6e0bfa171959aef36817e28f9010f5a949488db122a6ea7a4e8b8325923a574
+LINUX_KERNEL_HASH-4.14.245 = 0d7461890bca7eb836ff9f61b129cead97c80725577f7077a5fd67b18ea6b220
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
-@@ -2496,7 +2496,7 @@ static void lan78xx_init_stats(struct la
+@@ -2504,7 +2504,7 @@ static void lan78xx_init_stats(struct la
dev->stats.rollover_max.eee_tx_lpi_transitions = 0xFFFFFFFF;
dev->stats.rollover_max.eee_tx_lpi_time = 0xFFFFFFFF;
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
-@@ -2512,6 +2512,22 @@ static int lan78xx_open(struct net_devic
+@@ -2520,6 +2520,22 @@ static int lan78xx_open(struct net_devic
netif_dbg(dev, ifup, dev->net, "phy initialised successfully");
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
-@@ -1996,6 +1996,7 @@ static int lan78xx_phy_init(struct lan78
+@@ -2004,6 +2004,7 @@ static int lan78xx_phy_init(struct lan78
{
int ret;
u32 mii_adv;
struct phy_device *phydev = dev->net->phydev;
phydev = phy_find_first(dev->mdiobus);
-@@ -2068,6 +2069,19 @@ static int lan78xx_phy_init(struct lan78
+@@ -2076,6 +2077,19 @@ static int lan78xx_phy_init(struct lan78
mii_adv = (u32)mii_advertise_flowctrl(dev->fc_request_control);
phydev->advertising |= mii_adv_to_ethtool_adv_t(mii_adv);
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
-@@ -1996,7 +1996,9 @@ static int lan78xx_phy_init(struct lan78
+@@ -2004,7 +2004,9 @@ static int lan78xx_phy_init(struct lan78
{
int ret;
u32 mii_adv;
struct phy_device *phydev = dev->net->phydev;
phydev = phy_find_first(dev->mdiobus);
-@@ -2069,18 +2071,27 @@ static int lan78xx_phy_init(struct lan78
+@@ -2077,18 +2079,27 @@ static int lan78xx_phy_init(struct lan78
mii_adv = (u32)mii_advertise_flowctrl(dev->fc_request_control);
phydev->advertising |= mii_adv_to_ethtool_adv_t(mii_adv);
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
-@@ -2192,7 +2192,7 @@ static int lan78xx_change_mtu(struct net
+@@ -2200,7 +2200,7 @@ static int lan78xx_change_mtu(struct net
if ((ll_mtu % dev->maxpacket) == 0)
return -EDOM;
netdev->mtu = new_mtu;
-@@ -2485,7 +2485,8 @@ static int lan78xx_reset(struct lan78xx_
+@@ -2493,7 +2493,8 @@ static int lan78xx_reset(struct lan78xx_
buf |= FCT_TX_CTL_EN_;
ret = lan78xx_write_reg(dev, FCT_TX_CTL, buf);
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
-@@ -2071,6 +2071,22 @@ static int lan78xx_phy_init(struct lan78
+@@ -2079,6 +2079,22 @@ static int lan78xx_phy_init(struct lan78
mii_adv = (u32)mii_advertise_flowctrl(dev->fc_request_control);
phydev->advertising |= mii_adv_to_ethtool_adv_t(mii_adv);
/* Set LED modes:
* led: 0=link/activity 1=link1000/activity
* 2=link100/activity 3=link10/activity
-@@ -2538,22 +2554,6 @@ static int lan78xx_open(struct net_devic
+@@ -2546,22 +2562,6 @@ static int lan78xx_open(struct net_devic
netif_dbg(dev, ifup, dev->net, "phy initialised successfully");
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
-@@ -2890,8 +2890,12 @@ static void lan78xx_rx_csum_offload(stru
+@@ -2898,8 +2898,12 @@ static void lan78xx_rx_csum_offload(stru
struct sk_buff *skb,
u32 rx_cmd_a, u32 rx_cmd_b)
{
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
-@@ -2277,7 +2277,7 @@ static int lan78xx_set_features(struct n
+@@ -2285,7 +2285,7 @@ static int lan78xx_set_features(struct n
pdata->rfe_ctl &= ~(RFE_CTL_ICMP_COE_ | RFE_CTL_IGMP_COE_);
}
pdata->rfe_ctl |= RFE_CTL_VLAN_FILTER_;
else
pdata->rfe_ctl &= ~RFE_CTL_VLAN_FILTER_;
-@@ -2826,6 +2826,9 @@ static int lan78xx_bind(struct lan78xx_n
+@@ -2834,6 +2834,9 @@ static int lan78xx_bind(struct lan78xx_n
if (DEFAULT_TSO_CSUM_ENABLE)
dev->net->features |= NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_SG;
#define TX_OVERHEAD (8)
#define RXW_PADDING 2
-@@ -2277,6 +2278,11 @@ static int lan78xx_set_features(struct n
+@@ -2285,6 +2286,11 @@ static int lan78xx_set_features(struct n
pdata->rfe_ctl &= ~(RFE_CTL_ICMP_COE_ | RFE_CTL_IGMP_COE_);
}
if (features & NETIF_F_HW_VLAN_CTAG_FILTER)
pdata->rfe_ctl |= RFE_CTL_VLAN_FILTER_;
else
-@@ -2826,6 +2832,9 @@ static int lan78xx_bind(struct lan78xx_n
+@@ -2834,6 +2840,9 @@ static int lan78xx_bind(struct lan78xx_n
if (DEFAULT_TSO_CSUM_ENABLE)
dev->net->features |= NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_SG;
if (DEFAULT_VLAN_FILTER_ENABLE)
dev->net->features |= NETIF_F_HW_VLAN_CTAG_FILTER;
-@@ -2906,6 +2915,16 @@ static void lan78xx_rx_csum_offload(stru
+@@ -2914,6 +2923,16 @@ static void lan78xx_rx_csum_offload(stru
}
}
static void lan78xx_skb_return(struct lan78xx_net *dev, struct sk_buff *skb)
{
int status;
-@@ -2970,6 +2989,8 @@ static int lan78xx_rx(struct lan78xx_net
+@@ -2978,6 +2997,8 @@ static int lan78xx_rx(struct lan78xx_net
if (skb->len == size) {
lan78xx_rx_csum_offload(dev, skb,
rx_cmd_a, rx_cmd_b);
skb_trim(skb, skb->len - 4); /* remove fcs */
skb->truesize = size + sizeof(struct sk_buff);
-@@ -2988,6 +3009,7 @@ static int lan78xx_rx(struct lan78xx_net
+@@ -2996,6 +3017,7 @@ static int lan78xx_rx(struct lan78xx_net
skb_set_tail_pointer(skb2, size);
lan78xx_rx_csum_offload(dev, skb2, rx_cmd_a, rx_cmd_b);
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
-@@ -2902,12 +2902,13 @@ static void lan78xx_rx_csum_offload(stru
+@@ -2910,12 +2910,13 @@ static void lan78xx_rx_csum_offload(stru
struct sk_buff *skb,
u32 rx_cmd_a, u32 rx_cmd_b)
{
static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data)
{
u32 *buf = kmalloc(sizeof(u32), GFP_KERNEL);
-@@ -2829,8 +2838,14 @@ static int lan78xx_bind(struct lan78xx_n
+@@ -2837,8 +2846,14 @@ static int lan78xx_bind(struct lan78xx_n
if (DEFAULT_RX_CSUM_ENABLE)
dev->net->features |= NETIF_F_RXCSUM;
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
-@@ -2587,6 +2587,8 @@ static int lan78xx_open(struct net_devic
+@@ -2595,6 +2595,8 @@ static int lan78xx_open(struct net_devic
dev->link_on = false;
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
-@@ -2587,8 +2587,6 @@ static int lan78xx_open(struct net_devic
+@@ -2595,8 +2595,6 @@ static int lan78xx_open(struct net_devic
dev->link_on = false;
#include <linux/of_net.h>
#include "lan78xx.h"
-@@ -1760,6 +1761,7 @@ done:
+@@ -1768,6 +1769,7 @@ done:
static int lan78xx_mdio_init(struct lan78xx_net *dev)
{
int ret;
dev->mdiobus = mdiobus_alloc();
-@@ -1789,7 +1791,9 @@ static int lan78xx_mdio_init(struct lan7
+@@ -1797,7 +1799,9 @@ static int lan78xx_mdio_init(struct lan7
break;
}
static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data)
{
u32 *buf = kmalloc(sizeof(u32), GFP_KERNEL);
-@@ -3679,7 +3684,12 @@ static int lan78xx_probe(struct usb_inte
+@@ -3687,7 +3692,12 @@ static int lan78xx_probe(struct usb_inte
netdev->max_mtu = MAX_SINGLE_PACKET_SIZE;
netif_set_gso_max_size(netdev, MAX_SINGLE_PACKET_SIZE - MAX_HEADER);
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
-@@ -2460,6 +2460,15 @@ static int lan78xx_reset(struct lan78xx_
+@@ -2468,6 +2468,15 @@ static int lan78xx_reset(struct lan78xx_
ret = lan78xx_read_reg(dev, HW_CFG, &buf);
buf |= HW_CFG_MEF_;
/*
* Data section helpers
-@@ -500,7 +501,7 @@
+@@ -501,7 +502,7 @@
#define ENTRY_TEXT \
ALIGN_FUNCTION(); \
VMLINUX_SYMBOL(__entry_text_start) = .; \
VMLINUX_SYMBOL(__entry_text_end) = .;
#define IRQENTRY_TEXT \
-@@ -607,7 +608,7 @@
+@@ -608,7 +609,7 @@
. = ALIGN(sbss_align); \
.sbss : AT(ADDR(.sbss) - LOAD_OFFSET) { \
*(.dynsbss) \
} \
\
/* __*init sections */ \
-@@ -804,6 +814,8 @@
+@@ -805,6 +815,8 @@
EXIT_TEXT \
EXIT_DATA \
EXIT_CALL \
* @dma_pfn_offset: offset of DMA memory range relatively of RAM
* @dma_parms: A low level driver may set these to teach IOMMU code about
* segment limitations.
-@@ -930,6 +938,7 @@ struct device {
+@@ -931,6 +939,7 @@ struct device {
not all hardware supports
64 bit addresses for consistent
allocations such descriptors. */
unsigned long dma_pfn_offset;
struct device_dma_parameters *dma_parms;
-@@ -1268,6 +1277,7 @@ extern const char *dev_driver_string(con
+@@ -1269,6 +1278,7 @@ extern const char *dev_driver_string(con
struct device_link *device_link_add(struct device *consumer,
struct device *supplier, u32 flags);
void device_link_del(struct device_link *link);
--- a/drivers/net/dsa/mt7530.c
+++ b/drivers/net/dsa/mt7530.c
-@@ -991,6 +991,11 @@ mt7530_setup(struct dsa_switch *ds)
+@@ -992,6 +992,11 @@ mt7530_setup(struct dsa_switch *ds)
val = mt7530_read(priv, MT7530_MHWTRAP);
val &= ~MHWTRAP_P6_DIS & ~MHWTRAP_PHY_ACCESS;
val |= MHWTRAP_MANUAL;
--- a/drivers/net/dsa/mt7530.c
+++ b/drivers/net/dsa/mt7530.c
-@@ -670,6 +670,9 @@ static int
+@@ -671,6 +671,9 @@ static int
mt7530_cpu_port_enable(struct mt7530_priv *priv,
int port)
{
/* Enable Mediatek header mode on the cpu port */
mt7530_write(priv, MT7530_PVC_P(port),
PORT_SPEC_TAG);
-@@ -686,8 +689,12 @@ mt7530_cpu_port_enable(struct mt7530_pri
+@@ -687,8 +690,12 @@ mt7530_cpu_port_enable(struct mt7530_pri
/* CPU port gets connected to all user ports of
* the switch
*/
return 0;
}
-@@ -697,6 +704,7 @@ mt7530_port_enable(struct dsa_switch *ds
+@@ -698,6 +705,7 @@ mt7530_port_enable(struct dsa_switch *ds
struct phy_device *phy)
{
struct mt7530_priv *priv = ds->priv;
mutex_lock(&priv->reg_mutex);
-@@ -707,7 +715,7 @@ mt7530_port_enable(struct dsa_switch *ds
+@@ -708,7 +716,7 @@ mt7530_port_enable(struct dsa_switch *ds
* restore the port matrix if the port is the member of a certain
* bridge.
*/
priv->ports[port].enable = true;
mt7530_rmw(priv, MT7530_PCR_P(port), PCR_MATRIX_MASK,
priv->ports[port].pm);
-@@ -770,7 +778,8 @@ mt7530_port_bridge_join(struct dsa_switc
+@@ -771,7 +779,8 @@ mt7530_port_bridge_join(struct dsa_switc
struct net_device *bridge)
{
struct mt7530_priv *priv = ds->priv;
int i;
mutex_lock(&priv->reg_mutex);
-@@ -808,6 +817,7 @@ mt7530_port_bridge_leave(struct dsa_swit
+@@ -809,6 +818,7 @@ mt7530_port_bridge_leave(struct dsa_swit
struct net_device *bridge)
{
struct mt7530_priv *priv = ds->priv;
int i;
mutex_lock(&priv->reg_mutex);
-@@ -832,8 +842,8 @@ mt7530_port_bridge_leave(struct dsa_swit
+@@ -833,8 +843,8 @@ mt7530_port_bridge_leave(struct dsa_swit
*/
if (priv->ports[port].enable)
mt7530_rmw(priv, MT7530_PCR_P(port), PCR_MATRIX_MASK,
mutex_unlock(&priv->reg_mutex);
}
-@@ -908,15 +918,7 @@ err:
+@@ -909,15 +919,7 @@ err:
static enum dsa_tag_protocol
mtk_get_tag_protocol(struct dsa_switch *ds)
{
}
static int
-@@ -989,7 +991,7 @@ mt7530_setup(struct dsa_switch *ds)
+@@ -990,7 +992,7 @@ mt7530_setup(struct dsa_switch *ds)
/* Enable Port 6 only; P5 as GMAC5 which currently is not supported */
val = mt7530_read(priv, MT7530_MHWTRAP);
--- a/drivers/net/dsa/mt7530.c
+++ b/drivers/net/dsa/mt7530.c
-@@ -677,6 +677,11 @@ mt7530_cpu_port_enable(struct mt7530_pri
+@@ -678,6 +678,11 @@ mt7530_cpu_port_enable(struct mt7530_pri
mt7530_write(priv, MT7530_PVC_P(port),
PORT_SPEC_TAG);
--- a/drivers/net/dsa/mt7530.c
+++ b/drivers/net/dsa/mt7530.c
-@@ -1049,10 +1049,10 @@ static const struct dsa_switch_ops mt753
+@@ -1050,10 +1050,10 @@ static const struct dsa_switch_ops mt753
};
static int
dn = mdiodev->dev.of_node;
-@@ -1100,7 +1100,12 @@ mt7530_probe(struct mdio_device *mdiodev
+@@ -1101,7 +1101,12 @@ mt7530_probe(struct mdio_device *mdiodev
}
}
priv->dev = &mdiodev->dev;
priv->ds->priv = priv;
priv->ds->ops = &mt7530_switch_ops;
-@@ -1110,8 +1115,8 @@ mt7530_probe(struct mdio_device *mdiodev
+@@ -1111,8 +1116,8 @@ mt7530_probe(struct mdio_device *mdiodev
return dsa_register_switch(priv->ds);
}
{
struct mt7530_priv *priv = dev_get_drvdata(&mdiodev->dev);
int ret = 0;
-@@ -1128,6 +1133,8 @@ mt7530_remove(struct mdio_device *mdiode
+@@ -1129,6 +1134,8 @@ mt7530_remove(struct mdio_device *mdiode
dsa_unregister_switch(priv->ds);
mutex_destroy(&priv->reg_mutex);
}
static const struct of_device_id mt7530_of_match[] = {
-@@ -1136,16 +1143,16 @@ static const struct of_device_id mt7530_
+@@ -1137,16 +1144,16 @@ static const struct of_device_id mt7530_
};
MODULE_DEVICE_TABLE(of, mt7530_of_match);