1 From a4238f6ce151afa331375d74a5033b76da637644 Mon Sep 17 00:00:00 2001
2 From: "Russell King (Oracle)" <rmk+kernel@armlinux.org.uk>
3 Date: Tue, 16 Nov 2021 10:06:58 +0000
4 Subject: [PATCH] net: mtk_eth_soc: use phylink_generic_validate()
6 mtk_eth_soc has no special behaviour in its validation implementation,
7 so can be switched to phylink_generic_validate().
9 Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
10 Signed-off-by: David S. Miller <davem@davemloft.net>
12 drivers/net/ethernet/mediatek/mtk_eth_soc.c | 53 ++-------------------
13 1 file changed, 4 insertions(+), 49 deletions(-)
15 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
16 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
17 @@ -564,56 +564,8 @@ static void mtk_mac_link_up(struct phyli
18 mtk_w32(mac->hw, mcr, MTK_MAC_MCR(mac->id));
21 -static void mtk_validate(struct phylink_config *config,
22 - unsigned long *supported,
23 - struct phylink_link_state *state)
25 - __ETHTOOL_DECLARE_LINK_MODE_MASK(mask) = { 0, };
27 - phylink_set_port_modes(mask);
28 - phylink_set(mask, Autoneg);
30 - switch (state->interface) {
31 - case PHY_INTERFACE_MODE_TRGMII:
32 - phylink_set(mask, 1000baseT_Full);
34 - case PHY_INTERFACE_MODE_1000BASEX:
35 - phylink_set(mask, 1000baseX_Full);
37 - case PHY_INTERFACE_MODE_2500BASEX:
38 - phylink_set(mask, 2500baseX_Full);
40 - case PHY_INTERFACE_MODE_GMII:
41 - case PHY_INTERFACE_MODE_RGMII:
42 - case PHY_INTERFACE_MODE_RGMII_ID:
43 - case PHY_INTERFACE_MODE_RGMII_RXID:
44 - case PHY_INTERFACE_MODE_RGMII_TXID:
45 - phylink_set(mask, 1000baseT_Half);
47 - case PHY_INTERFACE_MODE_SGMII:
48 - phylink_set(mask, 1000baseT_Full);
49 - phylink_set(mask, 1000baseX_Full);
51 - case PHY_INTERFACE_MODE_MII:
52 - case PHY_INTERFACE_MODE_RMII:
53 - case PHY_INTERFACE_MODE_REVMII:
55 - phylink_set(mask, 10baseT_Half);
56 - phylink_set(mask, 10baseT_Full);
57 - phylink_set(mask, 100baseT_Half);
58 - phylink_set(mask, 100baseT_Full);
62 - phylink_set(mask, Pause);
63 - phylink_set(mask, Asym_Pause);
65 - linkmode_and(supported, supported, mask);
66 - linkmode_and(state->advertising, state->advertising, mask);
69 static const struct phylink_mac_ops mtk_phylink_ops = {
70 - .validate = mtk_validate,
71 + .validate = phylink_generic_validate,
72 .mac_pcs_get_state = mtk_mac_pcs_get_state,
73 .mac_an_restart = mtk_mac_an_restart,
74 .mac_config = mtk_mac_config,
75 @@ -3317,6 +3269,9 @@ static int mtk_add_mac(struct mtk_eth *e
77 mac->phylink_config.dev = ð->netdev[id]->dev;
78 mac->phylink_config.type = PHYLINK_NETDEV;
79 + mac->phylink_config.mac_capabilities = MAC_ASYM_PAUSE | MAC_SYM_PAUSE |
80 + MAC_10 | MAC_100 | MAC_1000 | MAC_2500FD;
82 __set_bit(PHY_INTERFACE_MODE_MII,
83 mac->phylink_config.supported_interfaces);
84 __set_bit(PHY_INTERFACE_MODE_GMII,