We have all the information we need in dsa_port, so use it instead of
repeating the same arguments over and over again.
Suggested-by: Vivien Didelot
Signed-off-by: Florian Fainelli
---
net/dsa/dsa2.c | 90 ++
1 file changed, 41 insertions(+), 49 deletions(-)
diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c
index 7f9bf1456a65..067daec644c1 100644
--- a/net/dsa/dsa2.c
+++ b/net/dsa/dsa2.c
@@ -214,66 +214,61 @@ static int dsa_dst_complete(struct dsa_switch_tree *dst)
return 0;
}
-static int dsa_dsa_port_apply(struct dsa_port *port, u32 index,
- struct dsa_switch *ds)
+static int dsa_dsa_port_apply(struct dsa_port *port)
{
+ struct dsa_switch *ds = port->ds;
int err;
- err = dsa_cpu_dsa_setup(ds, ds->dev, port, index);
+ err = dsa_cpu_dsa_setup(ds, ds->dev, port, port->index);
if (err) {
dev_warn(ds->dev, "Failed to setup dsa port %d: %d\n",
-index, err);
+port->index, err);
return err;
}
- memset(>ports[index].devlink_port, 0,
- sizeof(ds->ports[index].devlink_port));
+ memset(>devlink_port, 0, sizeof(port->devlink_port));
- return devlink_port_register(ds->devlink,
->ports[index].devlink_port,
-index);
+ return devlink_port_register(ds->devlink, >devlink_port,
+port->index);
}
-static void dsa_dsa_port_unapply(struct dsa_port *port, u32 index,
-struct dsa_switch *ds)
+static void dsa_dsa_port_unapply(struct dsa_port *port)
{
- devlink_port_unregister(>ports[index].devlink_port);
+ devlink_port_unregister(>devlink_port);
dsa_cpu_dsa_destroy(port);
}
-static int dsa_cpu_port_apply(struct dsa_port *port, u32 index,
- struct dsa_switch *ds)
+static int dsa_cpu_port_apply(struct dsa_port *port)
{
+ struct dsa_switch *ds = port->ds;
int err;
- err = dsa_cpu_dsa_setup(ds, ds->dev, port, index);
+ err = dsa_cpu_dsa_setup(ds, ds->dev, port, port->index);
if (err) {
dev_warn(ds->dev, "Failed to setup cpu port %d: %d\n",
-index, err);
+port->index, err);
return err;
}
- ds->cpu_port_mask |= BIT(index);
+ ds->cpu_port_mask |= BIT(port->index);
- memset(>ports[index].devlink_port, 0,
- sizeof(ds->ports[index].devlink_port));
- err = devlink_port_register(ds->devlink, >ports[index].devlink_port,
- index);
+ memset(>devlink_port, 0, sizeof(port->devlink_port));
+ err = devlink_port_register(ds->devlink, >devlink_port,
+ port->index);
return err;
}
-static void dsa_cpu_port_unapply(struct dsa_port *port, u32 index,
-struct dsa_switch *ds)
+static void dsa_cpu_port_unapply(struct dsa_port *port)
{
- devlink_port_unregister(>ports[index].devlink_port);
+ devlink_port_unregister(>devlink_port);
dsa_cpu_dsa_destroy(port);
- ds->cpu_port_mask &= ~BIT(index);
+ port->ds->cpu_port_mask &= ~BIT(port->index);
}
-static int dsa_user_port_apply(struct dsa_port *port, u32 index,
- struct dsa_switch *ds)
+static int dsa_user_port_apply(struct dsa_port *port)
{
+ struct dsa_switch *ds = port->ds;
const char *name = port->name;
int err;
@@ -282,35 +277,32 @@ static int dsa_user_port_apply(struct dsa_port *port, u32
index,
if (!name)
name = "eth%d";
- err = dsa_slave_create(ds, ds->dev, index, name);
+ err = dsa_slave_create(ds, ds->dev, port->index, name);
if (err) {
dev_warn(ds->dev, "Failed to create slave %d: %d\n",
-index, err);
- ds->ports[index].netdev = NULL;
+port->index, err);
+ port->netdev = NULL;
return err;
}
- memset(>ports[index].devlink_port, 0,
- sizeof(ds->ports[index].devlink_port));
- err = devlink_port_register(ds->devlink, >ports[index].devlink_port,
- index);
+ memset(>devlink_port, 0, sizeof(port->devlink_port));
+ err = devlink_port_register(ds->devlink, >devlink_port,
+ port->index);
if (err)
return err;
- devlink_port_type_eth_set(>ports[index].devlink_port,
- ds->ports[index].netdev);
+ devlink_port_type_eth_set(>devlink_port, port->netdev);
return 0;
}
-static void