net: pcs: rzn1-miic: fill in PCS supported_interfaces
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Wed, 5 Feb 2025 15:43:32 +0000 (15:43 +0000)
committerJakub Kicinski <kuba@kernel.org>
Fri, 7 Feb 2025 01:32:59 +0000 (17:32 -0800)
Populate the PCS supported_interfaces bitmap with the interfaces that
this PCS supports. This makes the manual checking in miic_validate()
redundant, so remove that.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/E1tfhYq-003aTm-Nx@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/pcs/pcs-rzn1-miic.c

index 61944574d087d4169f4ca2d223c525054cfc6e73..11a96459a425df0b8150b3e96c302df11341cb1e 100644 (file)
@@ -268,17 +268,6 @@ static void miic_link_up(struct phylink_pcs *pcs, unsigned int neg_mode,
                     (MIIC_CONVCTRL_CONV_SPEED | MIIC_CONVCTRL_FULLD), val);
 }
 
-static int miic_validate(struct phylink_pcs *pcs, unsigned long *supported,
-                        const struct phylink_link_state *state)
-{
-       if (phy_interface_mode_is_rgmii(state->interface) ||
-           state->interface == PHY_INTERFACE_MODE_RMII ||
-           state->interface == PHY_INTERFACE_MODE_MII)
-               return 1;
-
-       return -EINVAL;
-}
-
 static int miic_pre_init(struct phylink_pcs *pcs)
 {
        struct miic_port *miic_port = phylink_pcs_to_miic_port(pcs);
@@ -307,7 +296,6 @@ static int miic_pre_init(struct phylink_pcs *pcs)
 }
 
 static const struct phylink_pcs_ops miic_phylink_ops = {
-       .pcs_validate = miic_validate,
        .pcs_config = miic_config,
        .pcs_link_up = miic_link_up,
        .pcs_pre_init = miic_pre_init,
@@ -363,6 +351,10 @@ struct phylink_pcs *miic_create(struct device *dev, struct device_node *np)
        miic_port->pcs.ops = &miic_phylink_ops;
        miic_port->pcs.neg_mode = true;
 
+       phy_interface_set_rgmii(miic_port->pcs.supported_interfaces);
+       __set_bit(PHY_INTERFACE_MODE_RMII, miic_port->pcs.supported_interfaces);
+       __set_bit(PHY_INTERFACE_MODE_MII, miic_port->pcs.supported_interfaces);
+
        return &miic_port->pcs;
 }
 EXPORT_SYMBOL(miic_create);