diff options
author | Russell King (Oracle) <rmk+kernel@armlinux.org.uk> | 2023-10-09 11:39:50 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2023-10-11 10:06:05 +0100 |
commit | db2c6d5fc4bddd15a98cc7964cec0af7a51160c0 (patch) | |
tree | 66d19dadfb511baeb32536240249c9a9ab21a887 /drivers/net | |
parent | a026809c261b7240a243ae1c2a7dccec3c316761 (diff) | |
download | linux-stable-db2c6d5fc4bddd15a98cc7964cec0af7a51160c0.tar.gz linux-stable-db2c6d5fc4bddd15a98cc7964cec0af7a51160c0.tar.bz2 linux-stable-db2c6d5fc4bddd15a98cc7964cec0af7a51160c0.zip |
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: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/dsa/dsa_loop.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/dsa/dsa_loop.c b/drivers/net/dsa/dsa_loop.c index 5b139f2206b6..c70ed67cc188 100644 --- a/drivers/net/dsa/dsa_loop.c +++ b/drivers/net/dsa/dsa_loop.c @@ -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) |