mirror of
https://github.com/torvalds/linux.git
synced 2026-06-03 12:03:54 +02:00
net: dsa: lantiq_gswip: deduplicate dsa_switch_ops
The two instances of struct dsa_switch_ops differ only by their .phylink_get_caps op. Instead of having two instances of dsa_switch_ops, rather just have a pointer to the phylink_get_caps function in struct gswip_hw_info. Signed-off-by: Daniel Golle <daniel@makrotopia.org> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Reviewed-by: Vladimir Oltean <olteanv@gmail.com> Link: https://patch.msgid.link/03d72eceeb3faecdbe03ce58aab40861cf6b77c1.1755878232.git.daniel@makrotopia.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
992e9f53a0
commit
fa1439a865
|
|
@ -254,7 +254,8 @@
|
|||
struct gswip_hw_info {
|
||||
int max_ports;
|
||||
int cpu_port;
|
||||
const struct dsa_switch_ops *ops;
|
||||
void (*phylink_get_caps)(struct dsa_switch *ds, int port,
|
||||
struct phylink_config *config);
|
||||
};
|
||||
|
||||
struct xway_gphy_match_data {
|
||||
|
|
@ -1554,6 +1555,14 @@ static void gswip_xrx300_phylink_get_caps(struct dsa_switch *ds, int port,
|
|||
MAC_10 | MAC_100 | MAC_1000;
|
||||
}
|
||||
|
||||
static void gswip_phylink_get_caps(struct dsa_switch *ds, int port,
|
||||
struct phylink_config *config)
|
||||
{
|
||||
struct gswip_priv *priv = ds->priv;
|
||||
|
||||
priv->hw_info->phylink_get_caps(ds, port, config);
|
||||
}
|
||||
|
||||
static void gswip_port_set_link(struct gswip_priv *priv, int port, bool link)
|
||||
{
|
||||
u32 mdio_phy;
|
||||
|
|
@ -1826,7 +1835,7 @@ static const struct phylink_mac_ops gswip_phylink_mac_ops = {
|
|||
.mac_link_up = gswip_phylink_mac_link_up,
|
||||
};
|
||||
|
||||
static const struct dsa_switch_ops gswip_xrx200_switch_ops = {
|
||||
static const struct dsa_switch_ops gswip_switch_ops = {
|
||||
.get_tag_protocol = gswip_get_tag_protocol,
|
||||
.setup = gswip_setup,
|
||||
.port_enable = gswip_port_enable,
|
||||
|
|
@ -1843,30 +1852,7 @@ static const struct dsa_switch_ops gswip_xrx200_switch_ops = {
|
|||
.port_fdb_dump = gswip_port_fdb_dump,
|
||||
.port_change_mtu = gswip_port_change_mtu,
|
||||
.port_max_mtu = gswip_port_max_mtu,
|
||||
.phylink_get_caps = gswip_xrx200_phylink_get_caps,
|
||||
.get_strings = gswip_get_strings,
|
||||
.get_ethtool_stats = gswip_get_ethtool_stats,
|
||||
.get_sset_count = gswip_get_sset_count,
|
||||
};
|
||||
|
||||
static const struct dsa_switch_ops gswip_xrx300_switch_ops = {
|
||||
.get_tag_protocol = gswip_get_tag_protocol,
|
||||
.setup = gswip_setup,
|
||||
.port_enable = gswip_port_enable,
|
||||
.port_disable = gswip_port_disable,
|
||||
.port_bridge_join = gswip_port_bridge_join,
|
||||
.port_bridge_leave = gswip_port_bridge_leave,
|
||||
.port_fast_age = gswip_port_fast_age,
|
||||
.port_vlan_filtering = gswip_port_vlan_filtering,
|
||||
.port_vlan_add = gswip_port_vlan_add,
|
||||
.port_vlan_del = gswip_port_vlan_del,
|
||||
.port_stp_state_set = gswip_port_stp_state_set,
|
||||
.port_fdb_add = gswip_port_fdb_add,
|
||||
.port_fdb_del = gswip_port_fdb_del,
|
||||
.port_fdb_dump = gswip_port_fdb_dump,
|
||||
.port_change_mtu = gswip_port_change_mtu,
|
||||
.port_max_mtu = gswip_port_max_mtu,
|
||||
.phylink_get_caps = gswip_xrx300_phylink_get_caps,
|
||||
.phylink_get_caps = gswip_phylink_get_caps,
|
||||
.get_strings = gswip_get_strings,
|
||||
.get_ethtool_stats = gswip_get_ethtool_stats,
|
||||
.get_sset_count = gswip_get_sset_count,
|
||||
|
|
@ -2128,7 +2114,7 @@ static int gswip_probe(struct platform_device *pdev)
|
|||
priv->ds->dev = dev;
|
||||
priv->ds->num_ports = priv->hw_info->max_ports;
|
||||
priv->ds->priv = priv;
|
||||
priv->ds->ops = priv->hw_info->ops;
|
||||
priv->ds->ops = &gswip_switch_ops;
|
||||
priv->ds->phylink_mac_ops = &gswip_phylink_mac_ops;
|
||||
priv->dev = dev;
|
||||
mutex_init(&priv->pce_table_lock);
|
||||
|
|
@ -2229,13 +2215,13 @@ static void gswip_shutdown(struct platform_device *pdev)
|
|||
static const struct gswip_hw_info gswip_xrx200 = {
|
||||
.max_ports = 7,
|
||||
.cpu_port = 6,
|
||||
.ops = &gswip_xrx200_switch_ops,
|
||||
.phylink_get_caps = gswip_xrx200_phylink_get_caps,
|
||||
};
|
||||
|
||||
static const struct gswip_hw_info gswip_xrx300 = {
|
||||
.max_ports = 7,
|
||||
.cpu_port = 6,
|
||||
.ops = &gswip_xrx300_switch_ops,
|
||||
.phylink_get_caps = gswip_xrx300_phylink_get_caps,
|
||||
};
|
||||
|
||||
static const struct of_device_id gswip_of_match[] = {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user