diff options
| author | 2021-11-30 13:10:01 +0000 | |
|---|---|---|
| committer | 2021-12-01 18:58:00 -0800 | |
| commit | 072eea6c22b2af680c3949e64f9adde278c71e68 (patch) | |
| tree | e8ff1f87b9c52127e576a41194adaeb37bfe32c4 | |
| parent | net: dsa: consolidate phylink creation (diff) | |
| download | linux-dev-072eea6c22b2af680c3949e64f9adde278c71e68.tar.xz linux-dev-072eea6c22b2af680c3949e64f9adde278c71e68.zip | |
net: dsa: replace phylink_get_interfaces() with phylink_get_caps()
Phylink needs slightly more information than phylink_get_interfaces()
allows us to get from the DSA drivers - we need the MAC capabilities.
Replace the phylink_get_interfaces() method with phylink_get_caps() to
allow DSA drivers to fill in the phylink_config MAC capabilities field
as well.
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: Marek BehĂșn <kabel@kernel.org>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
| -rw-r--r-- | include/net/dsa.h | 4 | ||||
| -rw-r--r-- | net/dsa/port.c | 5 |
2 files changed, 4 insertions, 5 deletions
diff --git a/include/net/dsa.h b/include/net/dsa.h index eff5c44ba377..8ca9d50cbbc2 100644 --- a/include/net/dsa.h +++ b/include/net/dsa.h @@ -645,8 +645,8 @@ struct dsa_switch_ops { /* * PHYLINK integration */ - void (*phylink_get_interfaces)(struct dsa_switch *ds, int port, - unsigned long *supported_interfaces); + void (*phylink_get_caps)(struct dsa_switch *ds, int port, + struct phylink_config *config); void (*phylink_validate)(struct dsa_switch *ds, int port, unsigned long *supported, struct phylink_link_state *state); diff --git a/net/dsa/port.c b/net/dsa/port.c index eaa66114924b..ef0acf005f8f 100644 --- a/net/dsa/port.c +++ b/net/dsa/port.c @@ -1091,9 +1091,8 @@ int dsa_port_phylink_create(struct dsa_port *dp) if (err) mode = PHY_INTERFACE_MODE_NA; - if (ds->ops->phylink_get_interfaces) - ds->ops->phylink_get_interfaces(ds, dp->index, - dp->pl_config.supported_interfaces); + if (ds->ops->phylink_get_caps) + ds->ops->phylink_get_caps(ds, dp->index, &dp->pl_config); dp->pl = phylink_create(&dp->pl_config, of_fwnode_handle(dp->dn), mode, &dsa_port_phylink_mac_ops); |
