net: dsa: ocelot: populate supported_interfaces
Populate the supported interfaces bitmap for the Ocelot DSA switches. Since all sub-drivers only support a single interface mode, defined by ocelot_port->phy_mode, we can handle this in the main driver code without reference to the sub-driver. Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com> Tested-by: Vladimir Oltean <vladimir.oltean@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
3e120e4580
commit
79fda660bd
1 changed files with 10 additions and 0 deletions
|
|
@ -778,6 +778,15 @@ static int felix_vlan_del(struct dsa_switch *ds, int port,
|
|||
return ocelot_vlan_del(ocelot, port, vlan->vid);
|
||||
}
|
||||
|
||||
static void felix_phylink_get_caps(struct dsa_switch *ds, int port,
|
||||
struct phylink_config *config)
|
||||
{
|
||||
struct ocelot *ocelot = ds->priv;
|
||||
|
||||
__set_bit(ocelot->ports[port]->phy_mode,
|
||||
config->supported_interfaces);
|
||||
}
|
||||
|
||||
static void felix_phylink_validate(struct dsa_switch *ds, int port,
|
||||
unsigned long *supported,
|
||||
struct phylink_link_state *state)
|
||||
|
|
@ -1587,6 +1596,7 @@ const struct dsa_switch_ops felix_switch_ops = {
|
|||
.get_ethtool_stats = felix_get_ethtool_stats,
|
||||
.get_sset_count = felix_get_sset_count,
|
||||
.get_ts_info = felix_get_ts_info,
|
||||
.phylink_get_caps = felix_phylink_get_caps,
|
||||
.phylink_validate = felix_phylink_validate,
|
||||
.phylink_mac_config = felix_phylink_mac_config,
|
||||
.phylink_mac_link_down = felix_phylink_mac_link_down,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue