diff options
Diffstat (limited to 'drivers/net/dsa/ocelot/seville_vsc9953.c')
-rw-r--r-- | drivers/net/dsa/ocelot/seville_vsc9953.c | 10 |
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, |