mlxsw: spectrum: Change mlxsw_sp_upper to LAG structure
authorAmit Cohen <amcohen@nvidia.com>
Fri, 26 Jan 2024 18:58:26 +0000 (19:58 +0100)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 30 Jan 2024 14:47:35 +0000 (15:47 +0100)
The structure mlxsw_sp_upper is used only as LAG. Rename it to
mlxsw_sp_lag and move it to spectrum.c file, as it is used only there.
Move the function mlxsw_sp_lag_get() with the structure.

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
drivers/net/ethernet/mellanox/mlxsw/spectrum.h

index 5d3413636a624503d7d15d33d7626eb579b6bbdc..38428d2ef0e233dee2a0fa5ce5553caf4409f34e 100644 (file)
@@ -2751,6 +2751,11 @@ static void mlxsw_sp_lag_pgt_fini(struct mlxsw_sp *mlxsw_sp)
 
 #define MLXSW_SP_LAG_SEED_INIT 0xcafecafe
 
+struct mlxsw_sp_lag {
+       struct net_device *dev;
+       unsigned int ref_count;
+};
+
 static int mlxsw_sp_lag_init(struct mlxsw_sp *mlxsw_sp)
 {
        char slcr_pl[MLXSW_REG_SLCR_LEN];
@@ -2784,7 +2789,7 @@ static int mlxsw_sp_lag_init(struct mlxsw_sp *mlxsw_sp)
        if (err)
                return err;
 
-       mlxsw_sp->lags = kcalloc(max_lag, sizeof(struct mlxsw_sp_upper),
+       mlxsw_sp->lags = kcalloc(max_lag, sizeof(struct mlxsw_sp_lag),
                                 GFP_KERNEL);
        if (!mlxsw_sp->lags) {
                err = -ENOMEM;
@@ -4329,11 +4334,17 @@ 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)
 {
-       struct mlxsw_sp_upper *lag;
+       struct mlxsw_sp_lag *lag;
        int free_lag_id = -1;
        u16 max_lag;
        int err, i;
@@ -4482,7 +4493,7 @@ static int mlxsw_sp_port_lag_join(struct mlxsw_sp_port *mlxsw_sp_port,
                                  struct netlink_ext_ack *extack)
 {
        struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
-       struct mlxsw_sp_upper *lag;
+       struct mlxsw_sp_lag *lag;
        u16 lag_id;
        u8 port_index;
        int err;
@@ -4560,7 +4571,7 @@ static void mlxsw_sp_port_lag_leave(struct mlxsw_sp_port *mlxsw_sp_port,
 {
        struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
        u16 lag_id = mlxsw_sp_port->lag_id;
-       struct mlxsw_sp_upper *lag;
+       struct mlxsw_sp_lag *lag;
 
        if (!mlxsw_sp_port->lagged)
                return;
index a0c9775fa9552c70fb0c11f6056f4b692146ba70..dd2f05a6d909fa3b3be9433d14f3fd35650f767c 100644 (file)
@@ -78,11 +78,6 @@ struct mlxsw_sp_span_entry;
 enum mlxsw_sp_l3proto;
 union mlxsw_sp_l3addr;
 
-struct mlxsw_sp_upper {
-       struct net_device *dev;
-       unsigned int ref_count;
-};
-
 enum mlxsw_sp_rif_type {
        MLXSW_SP_RIF_TYPE_SUBPORT,
        MLXSW_SP_RIF_TYPE_VLAN,
@@ -136,6 +131,7 @@ struct mlxsw_sp_span_ops;
 struct mlxsw_sp_qdisc_state;
 struct mlxsw_sp_mall_entry;
 struct mlxsw_sp_pgt;
+struct mlxsw_sp_lag;
 
 struct mlxsw_sp_port_mapping {
        u8 module;
@@ -164,7 +160,7 @@ struct mlxsw_sp {
        const struct mlxsw_bus_info *bus_info;
        unsigned char base_mac[ETH_ALEN];
        const unsigned char *mac_mask;
-       struct mlxsw_sp_upper *lags;
+       struct mlxsw_sp_lag *lags;
        struct mlxsw_sp_port_mapping *port_mapping;
        struct mlxsw_sp_port_mapping_events port_mapping_events;
        struct rhashtable sample_trigger_ht;
@@ -257,12 +253,6 @@ struct mlxsw_sp_fid_core_ops {
        void (*fini)(struct mlxsw_sp *mlxsw_sp);
 };
 
-static inline struct mlxsw_sp_upper *
-mlxsw_sp_lag_get(struct mlxsw_sp *mlxsw_sp, u16 lag_id)
-{
-       return &mlxsw_sp->lags[lag_id];
-}
-
 struct mlxsw_sp_port_pcpu_stats {
        u64                     rx_packets;
        u64                     rx_bytes;