Refreshed all patches.
Altered patches:
- 002-phy_drivers_backport.patch
Compile-tested on: adm5120
Runtime-tested on: none
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
LINUX_RELEASE?=1
-LINUX_VERSION-3.18 = .126
+LINUX_VERSION-3.18 = .128
LINUX_VERSION-4.9 = .138
LINUX_VERSION-4.14 = .82
-LINUX_KERNEL_HASH-3.18.126 = 11a53ccd72f1ee67fe5ea014fdfb0283528f452bb50dc0a2f1b9675b7e8554f9
+LINUX_KERNEL_HASH-3.18.128 = 396368ef7eadf639c6f62ef43ea9c63a05280f926f731c3a86b0aa0e2b3ad2e3
LINUX_KERNEL_HASH-4.9.138 = 92301242601d50854b173a3fdec318480e24fc86f32102003a9ed7108fab21b7
LINUX_KERNEL_HASH-4.14.82 = a790a2e6f6a76d70decec91d1b7bcfba90f821b076273da070f6e0e1e6391dad
struct mtd_partition *part;
--- a/drivers/mtd/mtdsplit/mtdsplit_tplink.c
+++ b/drivers/mtd/mtdsplit/mtdsplit_tplink.c
-@@ -83,8 +83,8 @@ struct tplink_fw_header {
+@@ -84,8 +84,8 @@ struct tplink_fw_header {
};
static int mtdsplit_parse_tplink(struct mtd_info *master,
struct mtd_partition *parts;
--- a/drivers/mtd/mtdsplit/mtdsplit_uimage.c
+++ b/drivers/mtd/mtdsplit/mtdsplit_uimage.c
-@@ -81,7 +81,7 @@ read_uimage_header(struct mtd_info *mtd,
+@@ -82,7 +82,7 @@ read_uimage_header(struct mtd_info *mtd,
* of a valid uImage header if found
*/
static int __mtdsplit_parse_uimage(struct mtd_info *master,
struct mtd_part_parser_data *data,
ssize_t (*find_header)(u_char *buf, size_t len))
{
-@@ -232,7 +232,7 @@ static ssize_t uimage_verify_default(u_c
+@@ -233,7 +233,7 @@ static ssize_t uimage_verify_default(u_c
static int
mtdsplit_uimage_parse_generic(struct mtd_info *master,
struct mtd_part_parser_data *data)
{
return __mtdsplit_parse_uimage(master, pparts, data,
-@@ -289,7 +289,7 @@ static ssize_t uimage_verify_wndr3700(u_
+@@ -300,7 +300,7 @@ static ssize_t uimage_verify_wndr3700(u_
static int
mtdsplit_uimage_parse_netgear(struct mtd_info *master,
struct mtd_part_parser_data *data)
{
return __mtdsplit_parse_uimage(master, pparts, data,
-@@ -331,7 +331,7 @@ static ssize_t uimage_find_edimax(u_char
+@@ -352,7 +352,7 @@ static ssize_t uimage_find_edimax(u_char
static int
mtdsplit_uimage_parse_edimax(struct mtd_info *master,
ret |= BMCR_ANENABLE | BMCR_ANRESTART;
return phy_write(phydev, MII_BMCR, ret);
}
-@@ -2012,7 +2012,7 @@ ar8xxx_phy_config_init(struct phy_device
+@@ -2021,7 +2021,7 @@ ar8xxx_phy_config_init(struct phy_device
priv->phy = phydev;
if (chip_is_ar8316(priv)) {
/* switch device has been initialized, reinit */
priv->dev.ports = (AR8216_NUM_PORTS - 1);
-@@ -2060,7 +2060,7 @@ ar8xxx_check_link_states(struct ar8xxx_p
+@@ -2069,7 +2069,7 @@ ar8xxx_check_link_states(struct ar8xxx_p
/* flush ARL entries for this port if it went down*/
if (!link_new)
priv->chip->atu_flush_port(priv, i);
i, link_new ? "up" : "down");
}
-@@ -2079,10 +2079,10 @@ ar8xxx_phy_read_status(struct phy_device
+@@ -2088,10 +2088,10 @@ ar8xxx_phy_read_status(struct phy_device
if (phydev->state == PHY_CHANGELINK)
ar8xxx_check_link_states(priv);
phydev->link = !!link.link;
if (!phydev->link)
return 0;
-@@ -2112,7 +2112,7 @@ ar8xxx_phy_read_status(struct phy_device
+@@ -2122,7 +2122,7 @@ ar8xxx_phy_read_status(struct phy_device
static int
ar8xxx_phy_config_aneg(struct phy_device *phydev)
{
return 0;
return genphy_config_aneg(phydev);
-@@ -2167,15 +2167,15 @@ ar8xxx_phy_probe(struct phy_device *phyd
+@@ -2177,15 +2177,15 @@ ar8xxx_phy_probe(struct phy_device *phyd
int ret;
/* skip PHYs at unused adresses */
-- if (phydev->mdio.addr != 0 && phydev->mdio.addr != 4)
-+ if (phydev->addr != 0 && phydev->addr != 4)
+- if (phydev->mdio.addr != 0 && phydev->mdio.addr != 3 && phydev->mdio.addr != 4)
++ if (phydev->addr != 0 && phydev->addr != 3 && phydev->addr != 4)
return -ENODEV;
- if (!ar8xxx_is_possible(phydev->mdio.bus))
goto found;
priv = ar8xxx_create();
-@@ -2184,7 +2184,7 @@ ar8xxx_phy_probe(struct phy_device *phyd
+@@ -2194,7 +2194,7 @@ ar8xxx_phy_probe(struct phy_device *phyd
goto unlock;
}
ret = ar8xxx_probe_switch(priv);
if (ret)
-@@ -2205,7 +2205,7 @@ ar8xxx_phy_probe(struct phy_device *phyd
+@@ -2215,7 +2215,7 @@ ar8xxx_phy_probe(struct phy_device *phyd
found:
priv->use_count++;
if (ar8xxx_has_gige(priv)) {
phydev->supported = SUPPORTED_1000baseT_Full;
phydev->advertising = ADVERTISED_1000baseT_Full;
-@@ -2293,21 +2293,33 @@ ar8xxx_phy_soft_reset(struct phy_device
+@@ -2305,21 +2305,33 @@ ar8xxx_phy_soft_reset(struct phy_device
return 0;
}
MODULE_LICENSE("GPL");
--- a/drivers/net/phy/ar8327.c
+++ b/drivers/net/phy/ar8327.c
-@@ -619,11 +619,11 @@ ar8327_hw_init(struct ar8xxx_priv *priv)
+@@ -662,11 +662,11 @@ ar8327_hw_init(struct ar8xxx_priv *priv)
if (!priv->chip_data)
return -ENOMEM;
if (!(skb->dev->features & NETIF_F_GRO))
goto normal;
-@@ -5099,6 +5102,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -5103,6 +5106,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 *private)
-@@ -5159,6 +5204,7 @@ static int __netdev_upper_dev_link(struc
+@@ -5163,6 +5208,7 @@ static int __netdev_upper_dev_link(struc
goto rollback_lower_mesh;
}
call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev);
return 0;
-@@ -5276,6 +5322,7 @@ void netdev_upper_dev_unlink(struct net_
+@@ -5280,6 +5326,7 @@ void netdev_upper_dev_unlink(struct net_
list_for_each_entry(i, &upper_dev->all_adj_list.upper, list)
__netdev_adjacent_dev_unlink(dev, i->dev, i->ref_nr);
call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev);
}
EXPORT_SYMBOL(netdev_upper_dev_unlink);
-@@ -5795,6 +5842,7 @@ int dev_set_mac_address(struct net_devic
+@@ -5799,6 +5846,7 @@ int dev_set_mac_address(struct net_devic
if (err)
return err;
dev->addr_assign_type = NET_ADDR_SET;