Commit db2c6d5f authored by Russell King (Oracle)'s avatar Russell King (Oracle) Committed by David S. Miller
Browse files

net: dsa: dsa_loop: add phylink capabilities



Add phylink capabilities for dsa_loop, which I believe being a software
construct means that it supports essentially all interface types and
all speeds.

Signed-off-by: default avatarRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: default avatarFlorian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent a026809c
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -277,6 +277,14 @@ static int dsa_loop_port_max_mtu(struct dsa_switch *ds, int port)
	return ETH_MAX_MTU;
}

static void dsa_loop_phylink_get_caps(struct dsa_switch *dsa, int port,
				      struct phylink_config *config)
{
	bitmap_fill(config->supported_interfaces, PHY_INTERFACE_MODE_MAX);
	__clear_bit(PHY_INTERFACE_MODE_NA, config->supported_interfaces);
	config->mac_capabilities = ~0;
}

static const struct dsa_switch_ops dsa_loop_driver = {
	.get_tag_protocol	= dsa_loop_get_protocol,
	.setup			= dsa_loop_setup,
@@ -295,6 +303,7 @@ static const struct dsa_switch_ops dsa_loop_driver = {
	.port_vlan_del		= dsa_loop_port_vlan_del,
	.port_change_mtu	= dsa_loop_port_change_mtu,
	.port_max_mtu		= dsa_loop_port_max_mtu,
	.phylink_get_caps	= dsa_loop_phylink_get_caps,
};

static int dsa_loop_drv_probe(struct mdio_device *mdiodev)