mlxsw: spectrum: Remove mlxsw_sp_lag_get()
authorAmit Cohen <amcohen@nvidia.com>
Fri, 26 Jan 2024 18:58:27 +0000 (19:58 +0100)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 30 Jan 2024 14:47:35 +0000 (15:47 +0100)
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: Amit Cohen <amcohen@nvidia.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/mellanox/mlxsw/spectrum.c

index 38428d2ef0e233dee2a0fa5ce5553caf4409f34e..ff52028a957bd36a9132bb3ca7b87c821342d71a 100644 (file)
@@ -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);
 }
 
-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,
                                  struct net_device *lag_dev,
                                  u16 *p_lag_id)
@@ -4354,7 +4348,7 @@ static int mlxsw_sp_lag_index_get(struct mlxsw_sp *mlxsw_sp,
                return err;
 
        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->dev == lag_dev) {
                                *p_lag_id = i;
@@ -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);
        if (err)
                return err;
-       lag = mlxsw_sp_lag_get(mlxsw_sp, lag_id);
+       lag = &mlxsw_sp->lags[lag_id];
        if (!lag->ref_count) {
                err = mlxsw_sp_lag_create(mlxsw_sp, lag_id);
                if (err)
@@ -4575,7 +4569,7 @@ static void mlxsw_sp_port_lag_leave(struct mlxsw_sp_port *mlxsw_sp_port,
 
        if (!mlxsw_sp_port->lagged)
                return;
-       lag = mlxsw_sp_lag_get(mlxsw_sp, lag_id);
+       lag = &mlxsw_sp->lags[lag_id];
        WARN_ON(lag->ref_count == 0);
 
        mlxsw_sp_lag_col_port_remove(mlxsw_sp_port, lag_id);