net: remove explicit phylink_generic_validate() references
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Fri, 4 Nov 2022 17:13:01 +0000 (17:13 +0000)
committerJakub Kicinski <kuba@kernel.org>
Tue, 8 Nov 2022 01:54:57 +0000 (17:54 -0800)
Virtually all conventional network drivers are now converted to use
phylink_generic_validate() - only DSA drivers and fman_memac remain,
so lets remove the necessity for network drivers to explicitly set
this member, and default to phylink_generic_validate() when unset.
This is possible as .validate must currently be set.

Any remaining instances that have not been addressed by this patch can
be fixed up later.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Link: https://lore.kernel.org/r/E1or0FZ-001tRa-DI@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
21 files changed:
drivers/net/ethernet/altera/altera_tse_main.c
drivers/net/ethernet/atheros/ag71xx.c
drivers/net/ethernet/cadence/macb_main.c
drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.c
drivers/net/ethernet/freescale/enetc/enetc_pf.c
drivers/net/ethernet/freescale/fman/fman_dtsec.c
drivers/net/ethernet/freescale/fman/fman_tgec.c
drivers/net/ethernet/marvell/mvneta.c
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
drivers/net/ethernet/marvell/prestera/prestera_main.c
drivers/net/ethernet/mediatek/mtk_eth_soc.c
drivers/net/ethernet/microchip/lan966x/lan966x_phylink.c
drivers/net/ethernet/microchip/sparx5/sparx5_phylink.c
drivers/net/ethernet/mscc/ocelot_net.c
drivers/net/ethernet/renesas/rswitch.c
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
drivers/net/ethernet/ti/am65-cpsw-nuss.c
drivers/net/ethernet/xilinx/xilinx_axienet_main.c
drivers/net/phy/phylink.c
drivers/net/usb/asix_devices.c
include/linux/phylink.h

index 7633b22..28b5cae 100644 (file)
@@ -1095,7 +1095,6 @@ static struct phylink_pcs *alt_tse_select_pcs(struct phylink_config *config,
 }
 
 static const struct phylink_mac_ops alt_tse_phylink_ops = {
-       .validate = phylink_generic_validate,
        .mac_an_restart = alt_tse_mac_an_restart,
        .mac_config = alt_tse_mac_config,
        .mac_link_down = alt_tse_mac_link_down,
index cc932b3..a5de1bd 100644 (file)
@@ -1086,7 +1086,6 @@ static void ag71xx_mac_link_up(struct phylink_config *config,
 }
 
 static const struct phylink_mac_ops ag71xx_phylink_mac_ops = {
-       .validate = phylink_generic_validate,
        .mac_config = ag71xx_mac_config,
        .mac_link_down = ag71xx_mac_link_down,
        .mac_link_up = ag71xx_mac_link_up,
index 4f63f1b..5d61881 100644 (file)
@@ -742,7 +742,6 @@ static struct phylink_pcs *macb_mac_select_pcs(struct phylink_config *config,
 }
 
 static const struct phylink_mac_ops macb_phylink_ops = {
-       .validate = phylink_generic_validate,
        .mac_select_pcs = macb_mac_select_pcs,
        .mac_config = macb_mac_config,
        .mac_link_down = macb_mac_link_down,
index 2bbab28..51c9da8 100644 (file)
@@ -236,7 +236,6 @@ static void dpaa2_mac_link_down(struct phylink_config *config,
 }
 
 static const struct phylink_mac_ops dpaa2_mac_phylink_ops = {
-       .validate = phylink_generic_validate,
        .mac_select_pcs = dpaa2_mac_select_pcs,
        .mac_config = dpaa2_mac_config,
        .mac_link_up = dpaa2_mac_link_up,
index bdf9433..9f6c4f5 100644 (file)
@@ -1111,7 +1111,6 @@ static void enetc_pl_mac_link_down(struct phylink_config *config,
 }
 
 static const struct phylink_mac_ops enetc_mac_phylink_ops = {
-       .validate = phylink_generic_validate,
        .mac_select_pcs = enetc_pl_mac_select_pcs,
        .mac_config = enetc_pl_mac_config,
        .mac_link_up = enetc_pl_mac_link_up,
index 3c87820..d00bae1 100644 (file)
@@ -986,7 +986,6 @@ static void dtsec_link_down(struct phylink_config *config, unsigned int mode,
 }
 
 static const struct phylink_mac_ops dtsec_mac_ops = {
-       .validate = phylink_generic_validate,
        .mac_select_pcs = dtsec_select_pcs,
        .mac_config = dtsec_mac_config,
        .mac_link_up = dtsec_link_up,
index c265b7f..c2261d2 100644 (file)
@@ -469,7 +469,6 @@ static void tgec_link_down(struct phylink_config *config, unsigned int mode,
 }
 
 static const struct phylink_mac_ops tgec_mac_ops = {
-       .validate = phylink_generic_validate,
        .mac_config = tgec_mac_config,
        .mac_link_up = tgec_link_up,
        .mac_link_down = tgec_link_down,
index 05ff3c5..c2cb98d 100644 (file)
@@ -4228,7 +4228,6 @@ static void mvneta_mac_link_up(struct phylink_config *config,
 }
 
 static const struct phylink_mac_ops mvneta_phylink_ops = {
-       .validate = phylink_generic_validate,
        .mac_select_pcs = mvneta_mac_select_pcs,
        .mac_prepare = mvneta_mac_prepare,
        .mac_config = mvneta_mac_config,
index 116e531..d98f7e9 100644 (file)
@@ -6603,7 +6603,6 @@ static void mvpp2_mac_link_down(struct phylink_config *config,
 }
 
 static const struct phylink_mac_ops mvpp2_phylink_ops = {
-       .validate = phylink_generic_validate,
        .mac_select_pcs = mvpp2_select_pcs,
        .mac_prepare = mvpp2_mac_prepare,
        .mac_config = mvpp2_mac_config,
index edbdda8..f8deaee 100644 (file)
@@ -360,7 +360,6 @@ static void prestera_pcs_an_restart(struct phylink_pcs *pcs)
 }
 
 static const struct phylink_mac_ops prestera_mac_ops = {
-       .validate = phylink_generic_validate,
        .mac_select_pcs = prestera_mac_select_pcs,
        .mac_config = prestera_mac_config,
        .mac_link_down = prestera_mac_link_down,
index 789268b..1cf76fd 100644 (file)
@@ -653,7 +653,6 @@ static void mtk_mac_link_up(struct phylink_config *config,
 }
 
 static const struct phylink_mac_ops mtk_phylink_ops = {
-       .validate = phylink_generic_validate,
        .mac_select_pcs = mtk_mac_select_pcs,
        .mac_pcs_get_state = mtk_mac_pcs_get_state,
        .mac_config = mtk_mac_config,
index f9579a2..c5f9803 100644 (file)
@@ -124,7 +124,6 @@ static void lan966x_pcs_aneg_restart(struct phylink_pcs *pcs)
 }
 
 const struct phylink_mac_ops lan966x_phylink_mac_ops = {
-       .validate = phylink_generic_validate,
        .mac_select_pcs = lan966x_phylink_mac_select,
        .mac_config = lan966x_phylink_mac_config,
        .mac_prepare = lan966x_phylink_mac_prepare,
index 830da0e..bb97d27 100644 (file)
@@ -138,7 +138,6 @@ const struct phylink_pcs_ops sparx5_phylink_pcs_ops = {
 };
 
 const struct phylink_mac_ops sparx5_phylink_mac_ops = {
-       .validate = phylink_generic_validate,
        .mac_select_pcs = sparx5_phylink_mac_select_pcs,
        .mac_config = sparx5_phylink_mac_config,
        .mac_link_down = sparx5_phylink_mac_link_down,
index f50dada..ca4bde8 100644 (file)
@@ -1727,7 +1727,6 @@ static void vsc7514_phylink_mac_link_up(struct phylink_config *config,
 }
 
 static const struct phylink_mac_ops ocelot_phylink_ops = {
-       .validate               = phylink_generic_validate,
        .mac_config             = vsc7514_phylink_mac_config,
        .mac_link_down          = vsc7514_phylink_mac_link_down,
        .mac_link_up            = vsc7514_phylink_mac_link_up,
index f0168fe..4f7af63 100644 (file)
@@ -1190,7 +1190,6 @@ static void rswitch_mac_link_up(struct phylink_config *config,
 }
 
 static const struct phylink_mac_ops rswitch_phylink_ops = {
-       .validate = phylink_generic_validate,
        .mac_config = rswitch_mac_config,
        .mac_link_down = rswitch_mac_link_down,
        .mac_link_up = rswitch_mac_link_up,
index 8273e6a..2fea878 100644 (file)
@@ -1080,7 +1080,6 @@ static void stmmac_mac_link_up(struct phylink_config *config,
 }
 
 static const struct phylink_mac_ops stmmac_phylink_mac_ops = {
-       .validate = phylink_generic_validate,
        .mac_select_pcs = stmmac_mac_select_pcs,
        .mac_config = stmmac_mac_config,
        .mac_link_down = stmmac_mac_link_down,
index c785e01..75429ff 100644 (file)
@@ -1520,7 +1520,6 @@ static void am65_cpsw_nuss_mac_link_up(struct phylink_config *config, struct phy
 }
 
 static const struct phylink_mac_ops am65_cpsw_phylink_mac_ops = {
-       .validate = phylink_generic_validate,
        .mac_config = am65_cpsw_nuss_mac_config,
        .mac_link_down = am65_cpsw_nuss_mac_link_down,
        .mac_link_up = am65_cpsw_nuss_mac_link_up,
index d082f2b..3e310b5 100644 (file)
@@ -1736,7 +1736,6 @@ static void axienet_mac_link_up(struct phylink_config *config,
 }
 
 static const struct phylink_mac_ops axienet_phylink_ops = {
-       .validate = phylink_generic_validate,
        .mac_select_pcs = axienet_mac_select_pcs,
        .mac_config = axienet_mac_config,
        .mac_link_down = axienet_mac_link_down,
index 88f60e9..25feab1 100644 (file)
@@ -649,7 +649,10 @@ static int phylink_validate_mac_and_pcs(struct phylink *pl,
        }
 
        /* Then validate the link parameters with the MAC */
-       pl->mac_ops->validate(pl->config, supported, state);
+       if (pl->mac_ops->validate)
+               pl->mac_ops->validate(pl->config, supported, state);
+       else
+               phylink_generic_validate(pl->config, supported, state);
 
        return phylink_is_empty_linkmode(supported) ? -EINVAL : 0;
 }
index 02941d9..0fe3773 100644 (file)
@@ -773,7 +773,6 @@ static void ax88772_mac_link_up(struct phylink_config *config,
 }
 
 static const struct phylink_mac_ops ax88772_phylink_mac_ops = {
-       .validate = phylink_generic_validate,
        .mac_config = ax88772_mac_config,
        .mac_link_down = ax88772_mac_link_down,
        .mac_link_up = ax88772_mac_link_up,
index 1df3e5e..c492c26 100644 (file)
@@ -207,6 +207,11 @@ struct phylink_mac_ops {
  *
  * If the @state->interface mode is not supported, then the @supported
  * mask must be cleared.
+ *
+ * This member is optional; if not set, the generic validator will be
+ * used making use of @config->mac_capabilities and
+ * @config->supported_interfaces to determine which link modes are
+ * supported.
  */
 void validate(struct phylink_config *config, unsigned long *supported,
              struct phylink_link_state *state);