Commit 5a448905 authored by Amit Cohen's avatar Amit Cohen Committed by Paolo Abeni

mlxsw: spectrum: Remove mlxsw_sp_lag_get()

A next patch will add mlxsw_sp_lag_{get,put}() functions to handle LAG
reference counting and create/destroy it only for first user/last user.
Remove mlxsw_sp_lag_get() function and access LAG array directly.
Signed-off-by: default avatarAmit Cohen <amcohen@nvidia.com>
Reviewed-by: default avatarIdo Schimmel <idosch@nvidia.com>
Signed-off-by: default avatarIdo Schimmel <idosch@nvidia.com>
Signed-off-by: default avatarPetr Machata <petrm@nvidia.com>
Reviewed-by: default avatarSimon Horman <horms@kernel.org>
Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent 6dce962c
...@@ -4334,12 +4334,6 @@ static int mlxsw_sp_lag_col_port_disable(struct mlxsw_sp_port *mlxsw_sp_port, ...@@ -4334,12 +4334,6 @@ static int mlxsw_sp_lag_col_port_disable(struct mlxsw_sp_port *mlxsw_sp_port,
return mlxsw_reg_write(mlxsw_sp->core, MLXSW_REG(slcor), slcor_pl); return mlxsw_reg_write(mlxsw_sp->core, MLXSW_REG(slcor), slcor_pl);
} }
static struct mlxsw_sp_lag *
mlxsw_sp_lag_get(struct mlxsw_sp *mlxsw_sp, u16 lag_id)
{
return &mlxsw_sp->lags[lag_id];
}
static int mlxsw_sp_lag_index_get(struct mlxsw_sp *mlxsw_sp, static int mlxsw_sp_lag_index_get(struct mlxsw_sp *mlxsw_sp,
struct net_device *lag_dev, struct net_device *lag_dev,
u16 *p_lag_id) u16 *p_lag_id)
...@@ -4354,7 +4348,7 @@ static int mlxsw_sp_lag_index_get(struct mlxsw_sp *mlxsw_sp, ...@@ -4354,7 +4348,7 @@ static int mlxsw_sp_lag_index_get(struct mlxsw_sp *mlxsw_sp,
return err; return err;
for (i = 0; i < max_lag; i++) { for (i = 0; i < max_lag; i++) {
lag = mlxsw_sp_lag_get(mlxsw_sp, i); lag = &mlxsw_sp->lags[i];
if (lag->ref_count) { if (lag->ref_count) {
if (lag->dev == lag_dev) { if (lag->dev == lag_dev) {
*p_lag_id = i; *p_lag_id = i;
...@@ -4501,7 +4495,7 @@ static int mlxsw_sp_port_lag_join(struct mlxsw_sp_port *mlxsw_sp_port, ...@@ -4501,7 +4495,7 @@ static int mlxsw_sp_port_lag_join(struct mlxsw_sp_port *mlxsw_sp_port,
err = mlxsw_sp_lag_index_get(mlxsw_sp, lag_dev, &lag_id); err = mlxsw_sp_lag_index_get(mlxsw_sp, lag_dev, &lag_id);
if (err) if (err)
return err; return err;
lag = mlxsw_sp_lag_get(mlxsw_sp, lag_id); lag = &mlxsw_sp->lags[lag_id];
if (!lag->ref_count) { if (!lag->ref_count) {
err = mlxsw_sp_lag_create(mlxsw_sp, lag_id); err = mlxsw_sp_lag_create(mlxsw_sp, lag_id);
if (err) if (err)
...@@ -4575,7 +4569,7 @@ static void mlxsw_sp_port_lag_leave(struct mlxsw_sp_port *mlxsw_sp_port, ...@@ -4575,7 +4569,7 @@ static void mlxsw_sp_port_lag_leave(struct mlxsw_sp_port *mlxsw_sp_port,
if (!mlxsw_sp_port->lagged) if (!mlxsw_sp_port->lagged)
return; return;
lag = mlxsw_sp_lag_get(mlxsw_sp, lag_id); lag = &mlxsw_sp->lags[lag_id];
WARN_ON(lag->ref_count == 0); WARN_ON(lag->ref_count == 0);
mlxsw_sp_lag_col_port_remove(mlxsw_sp_port, lag_id); mlxsw_sp_lag_col_port_remove(mlxsw_sp_port, lag_id);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment