summaryrefslogtreecommitdiff
path: root/drivers/net/dsa/ocelot/seville_vsc9953.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/dsa/ocelot/seville_vsc9953.c')
-rw-r--r--drivers/net/dsa/ocelot/seville_vsc9953.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/dsa/ocelot/seville_vsc9953.c b/drivers/net/dsa/ocelot/seville_vsc9953.c
index f2f1608a476c..2db51494b1a9 100644
--- a/drivers/net/dsa/ocelot/seville_vsc9953.c
+++ b/drivers/net/dsa/ocelot/seville_vsc9953.c
@@ -913,6 +913,15 @@ static int vsc9953_reset(struct ocelot *ocelot)
return 0;
}
+static void vsc9953_phylink_get_caps(struct ocelot *ocelot, int port,
+ struct phylink_config *config)
+{
+ struct ocelot_port *ocelot_port = ocelot->ports[port];
+
+ __set_bit(ocelot_port->phy_mode,
+ config->supported_interfaces);
+}
+
static void vsc9953_phylink_validate(struct ocelot *ocelot, int port,
unsigned long *supported,
struct phylink_link_state *state)
@@ -1105,6 +1114,7 @@ static const struct felix_info seville_info_vsc9953 = {
.num_tx_queues = OCELOT_NUM_TC,
.mdio_bus_alloc = vsc9953_mdio_bus_alloc,
.mdio_bus_free = vsc9953_mdio_bus_free,
+ .phylink_get_caps = vsc9953_phylink_get_caps,
.phylink_validate = vsc9953_phylink_validate,
.prevalidate_phy_mode = vsc9953_prevalidate_phy_mode,
.init_regmap = ocelot_regmap_init,