From 57a7595a289e80a34f166e66f3cf9191ef772eb3 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 9 Apr 2018 09:49:44 +0200 Subject: mvebu: drop linux 4.4 and 4.9 support Signed-off-by: Felix Fietkau --- ...ow-settings-table-to-support-more-than-32.patch | 142 --------------------- 1 file changed, 142 deletions(-) delete mode 100644 target/linux/mvebu/patches-4.9/410-net-phy-allow-settings-table-to-support-more-than-32.patch (limited to 'target/linux/mvebu/patches-4.9/410-net-phy-allow-settings-table-to-support-more-than-32.patch') diff --git a/target/linux/mvebu/patches-4.9/410-net-phy-allow-settings-table-to-support-more-than-32.patch b/target/linux/mvebu/patches-4.9/410-net-phy-allow-settings-table-to-support-more-than-32.patch deleted file mode 100644 index b6d850577f..0000000000 --- a/target/linux/mvebu/patches-4.9/410-net-phy-allow-settings-table-to-support-more-than-32.patch +++ /dev/null @@ -1,142 +0,0 @@ -From: Russell King -Date: Thu, 5 Jan 2017 16:32:14 +0000 -Subject: [PATCH] net: phy: allow settings table to support more than 32 - link modes - -Allow the phy settings table to support more than 32 link modes by -switching to the ethtool link mode bit number representation, rather -than storing the mask. This will allow phylink and other ethtool -code to share the settings table to look up settings. - -Signed-off-by: Russell King ---- - ---- a/drivers/net/phy/phy.c -+++ b/drivers/net/phy/phy.c -@@ -175,7 +175,7 @@ static inline int phy_aneg_done(struct p - struct phy_setting { - int speed; - int duplex; -- u32 setting; -+ int bit; - }; - - /* A mapping of all SUPPORTED settings to speed/duplex. This table -@@ -185,57 +185,57 @@ static const struct phy_setting settings - { - .speed = SPEED_10000, - .duplex = DUPLEX_FULL, -- .setting = SUPPORTED_10000baseKR_Full, -+ .bit = ETHTOOL_LINK_MODE_10000baseKR_Full_BIT, - }, - { - .speed = SPEED_10000, - .duplex = DUPLEX_FULL, -- .setting = SUPPORTED_10000baseKX4_Full, -+ .bit = ETHTOOL_LINK_MODE_10000baseKX4_Full_BIT, - }, - { - .speed = SPEED_10000, - .duplex = DUPLEX_FULL, -- .setting = SUPPORTED_10000baseT_Full, -+ .bit = ETHTOOL_LINK_MODE_10000baseT_Full_BIT, - }, - { - .speed = SPEED_2500, - .duplex = DUPLEX_FULL, -- .setting = SUPPORTED_2500baseX_Full, -+ .bit = ETHTOOL_LINK_MODE_2500baseX_Full_BIT, - }, - { - .speed = SPEED_1000, - .duplex = DUPLEX_FULL, -- .setting = SUPPORTED_1000baseKX_Full, -+ .bit = ETHTOOL_LINK_MODE_1000baseKX_Full_BIT, - }, - { - .speed = SPEED_1000, - .duplex = DUPLEX_FULL, -- .setting = SUPPORTED_1000baseT_Full, -+ .bit = ETHTOOL_LINK_MODE_1000baseT_Full_BIT, - }, - { - .speed = SPEED_1000, - .duplex = DUPLEX_HALF, -- .setting = SUPPORTED_1000baseT_Half, -+ .bit = ETHTOOL_LINK_MODE_1000baseT_Half_BIT, - }, - { - .speed = SPEED_100, - .duplex = DUPLEX_FULL, -- .setting = SUPPORTED_100baseT_Full, -+ .bit = ETHTOOL_LINK_MODE_100baseT_Full_BIT, - }, - { - .speed = SPEED_100, - .duplex = DUPLEX_HALF, -- .setting = SUPPORTED_100baseT_Half, -+ .bit = ETHTOOL_LINK_MODE_100baseT_Half_BIT, - }, - { - .speed = SPEED_10, - .duplex = DUPLEX_FULL, -- .setting = SUPPORTED_10baseT_Full, -+ .bit = ETHTOOL_LINK_MODE_10baseT_Full_BIT, - }, - { - .speed = SPEED_10, - .duplex = DUPLEX_HALF, -- .setting = SUPPORTED_10baseT_Half, -+ .bit = ETHTOOL_LINK_MODE_10baseT_Half_BIT, - }, - }; - -@@ -243,7 +243,8 @@ static const struct phy_setting settings - * phy_lookup_setting - lookup a PHY setting - * @speed: speed to match - * @duplex: duplex to match -- * @feature: allowed link modes -+ * @mask: allowed link modes -+ * @maxbit: bit size of link modes - * @exact: an exact match is required - * - * Search the settings array for a setting that matches the speed and -@@ -257,13 +258,14 @@ static const struct phy_setting settings - * they all fail, %NULL will be returned. - */ - static const struct phy_setting * --phy_lookup_setting(int speed, int duplex, u32 features, bool exact) -+phy_lookup_setting(int speed, int duplex, const unsigned long *mask, -+ size_t maxbit, bool exact) - { - const struct phy_setting *p, *match = NULL, *last = NULL; - int i; - - for (i = 0, p = settings; i < ARRAY_SIZE(settings); i++, p++) { -- if (p->setting & features) { -+ if (p->bit < maxbit && test_bit(p->bit, mask)) { - last = p; - if (p->speed == speed && p->duplex == duplex) { - /* Exact match for speed and duplex */ -@@ -302,7 +304,9 @@ phy_lookup_setting(int speed, int duplex - static const struct phy_setting * - phy_find_valid(int speed, int duplex, u32 supported) - { -- return phy_lookup_setting(speed, duplex, supported, false); -+ unsigned long mask = supported; -+ -+ return phy_lookup_setting(speed, duplex, &mask, BITS_PER_LONG, false); - } - - /** -@@ -316,7 +320,9 @@ phy_find_valid(int speed, int duplex, u3 - */ - static inline bool phy_check_valid(int speed, int duplex, u32 features) - { -- return !!phy_lookup_setting(speed, duplex, features, true); -+ unsigned long mask = features; -+ -+ return !!phy_lookup_setting(speed, duplex, &mask, BITS_PER_LONG, true); - } - - /** -- cgit v1.2.3