Commit c3b41f4c authored by Zhengchao Shao's avatar Zhengchao Shao Committed by Jakub Kicinski

team: change the getter function in the team_option structure to void

Because the getter function in the team_option structure always returns 0,
so change the getter function to void and remove redundant code.
Signed-off-by: default avatarZhengchao Shao <shaozhengchao@huawei.com>
Reviewed-by: default avatarHangbin Liu <liuhangbin@gmail.com>
Reviewed-by: default avatarJiri Pirko <jiri@nvidia.com>
Link: https://lore.kernel.org/r/20230807012556.3146071-5-shaozhengchao@huawei.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent de3ecc4f
...@@ -358,7 +358,9 @@ static int team_option_get(struct team *team, ...@@ -358,7 +358,9 @@ static int team_option_get(struct team *team,
{ {
if (!opt_inst->option->getter) if (!opt_inst->option->getter)
return -EOPNOTSUPP; return -EOPNOTSUPP;
return opt_inst->option->getter(team, ctx);
opt_inst->option->getter(team, ctx);
return 0;
} }
static int team_option_set(struct team *team, static int team_option_set(struct team *team,
...@@ -1373,10 +1375,9 @@ static int team_port_del(struct team *team, struct net_device *port_dev) ...@@ -1373,10 +1375,9 @@ static int team_port_del(struct team *team, struct net_device *port_dev)
* Net device ops * Net device ops
*****************/ *****************/
static int team_mode_option_get(struct team *team, struct team_gsetter_ctx *ctx) static void team_mode_option_get(struct team *team, struct team_gsetter_ctx *ctx)
{ {
ctx->data.str_val = team->mode->kind; ctx->data.str_val = team->mode->kind;
return 0;
} }
static int team_mode_option_set(struct team *team, struct team_gsetter_ctx *ctx) static int team_mode_option_set(struct team *team, struct team_gsetter_ctx *ctx)
...@@ -1384,11 +1385,10 @@ static int team_mode_option_set(struct team *team, struct team_gsetter_ctx *ctx) ...@@ -1384,11 +1385,10 @@ static int team_mode_option_set(struct team *team, struct team_gsetter_ctx *ctx)
return team_change_mode(team, ctx->data.str_val); return team_change_mode(team, ctx->data.str_val);
} }
static int team_notify_peers_count_get(struct team *team, static void team_notify_peers_count_get(struct team *team,
struct team_gsetter_ctx *ctx) struct team_gsetter_ctx *ctx)
{ {
ctx->data.u32_val = team->notify_peers.count; ctx->data.u32_val = team->notify_peers.count;
return 0;
} }
static int team_notify_peers_count_set(struct team *team, static int team_notify_peers_count_set(struct team *team,
...@@ -1398,11 +1398,10 @@ static int team_notify_peers_count_set(struct team *team, ...@@ -1398,11 +1398,10 @@ static int team_notify_peers_count_set(struct team *team,
return 0; return 0;
} }
static int team_notify_peers_interval_get(struct team *team, static void team_notify_peers_interval_get(struct team *team,
struct team_gsetter_ctx *ctx) struct team_gsetter_ctx *ctx)
{ {
ctx->data.u32_val = team->notify_peers.interval; ctx->data.u32_val = team->notify_peers.interval;
return 0;
} }
static int team_notify_peers_interval_set(struct team *team, static int team_notify_peers_interval_set(struct team *team,
...@@ -1412,11 +1411,10 @@ static int team_notify_peers_interval_set(struct team *team, ...@@ -1412,11 +1411,10 @@ static int team_notify_peers_interval_set(struct team *team,
return 0; return 0;
} }
static int team_mcast_rejoin_count_get(struct team *team, static void team_mcast_rejoin_count_get(struct team *team,
struct team_gsetter_ctx *ctx) struct team_gsetter_ctx *ctx)
{ {
ctx->data.u32_val = team->mcast_rejoin.count; ctx->data.u32_val = team->mcast_rejoin.count;
return 0;
} }
static int team_mcast_rejoin_count_set(struct team *team, static int team_mcast_rejoin_count_set(struct team *team,
...@@ -1426,11 +1424,10 @@ static int team_mcast_rejoin_count_set(struct team *team, ...@@ -1426,11 +1424,10 @@ static int team_mcast_rejoin_count_set(struct team *team,
return 0; return 0;
} }
static int team_mcast_rejoin_interval_get(struct team *team, static void team_mcast_rejoin_interval_get(struct team *team,
struct team_gsetter_ctx *ctx) struct team_gsetter_ctx *ctx)
{ {
ctx->data.u32_val = team->mcast_rejoin.interval; ctx->data.u32_val = team->mcast_rejoin.interval;
return 0;
} }
static int team_mcast_rejoin_interval_set(struct team *team, static int team_mcast_rejoin_interval_set(struct team *team,
...@@ -1440,13 +1437,12 @@ static int team_mcast_rejoin_interval_set(struct team *team, ...@@ -1440,13 +1437,12 @@ static int team_mcast_rejoin_interval_set(struct team *team,
return 0; return 0;
} }
static int team_port_en_option_get(struct team *team, static void team_port_en_option_get(struct team *team,
struct team_gsetter_ctx *ctx) struct team_gsetter_ctx *ctx)
{ {
struct team_port *port = ctx->info->port; struct team_port *port = ctx->info->port;
ctx->data.bool_val = team_port_enabled(port); ctx->data.bool_val = team_port_enabled(port);
return 0;
} }
static int team_port_en_option_set(struct team *team, static int team_port_en_option_set(struct team *team,
...@@ -1461,13 +1457,12 @@ static int team_port_en_option_set(struct team *team, ...@@ -1461,13 +1457,12 @@ static int team_port_en_option_set(struct team *team,
return 0; return 0;
} }
static int team_user_linkup_option_get(struct team *team, static void team_user_linkup_option_get(struct team *team,
struct team_gsetter_ctx *ctx) struct team_gsetter_ctx *ctx)
{ {
struct team_port *port = ctx->info->port; struct team_port *port = ctx->info->port;
ctx->data.bool_val = port->user.linkup; ctx->data.bool_val = port->user.linkup;
return 0;
} }
static void __team_carrier_check(struct team *team); static void __team_carrier_check(struct team *team);
...@@ -1483,13 +1478,12 @@ static int team_user_linkup_option_set(struct team *team, ...@@ -1483,13 +1478,12 @@ static int team_user_linkup_option_set(struct team *team,
return 0; return 0;
} }
static int team_user_linkup_en_option_get(struct team *team, static void team_user_linkup_en_option_get(struct team *team,
struct team_gsetter_ctx *ctx) struct team_gsetter_ctx *ctx)
{ {
struct team_port *port = ctx->info->port; struct team_port *port = ctx->info->port;
ctx->data.bool_val = port->user.linkup_enabled; ctx->data.bool_val = port->user.linkup_enabled;
return 0;
} }
static int team_user_linkup_en_option_set(struct team *team, static int team_user_linkup_en_option_set(struct team *team,
...@@ -1503,13 +1497,12 @@ static int team_user_linkup_en_option_set(struct team *team, ...@@ -1503,13 +1497,12 @@ static int team_user_linkup_en_option_set(struct team *team,
return 0; return 0;
} }
static int team_priority_option_get(struct team *team, static void team_priority_option_get(struct team *team,
struct team_gsetter_ctx *ctx) struct team_gsetter_ctx *ctx)
{ {
struct team_port *port = ctx->info->port; struct team_port *port = ctx->info->port;
ctx->data.s32_val = port->priority; ctx->data.s32_val = port->priority;
return 0;
} }
static int team_priority_option_set(struct team *team, static int team_priority_option_set(struct team *team,
...@@ -1525,13 +1518,12 @@ static int team_priority_option_set(struct team *team, ...@@ -1525,13 +1518,12 @@ static int team_priority_option_set(struct team *team,
return 0; return 0;
} }
static int team_queue_id_option_get(struct team *team, static void team_queue_id_option_get(struct team *team,
struct team_gsetter_ctx *ctx) struct team_gsetter_ctx *ctx)
{ {
struct team_port *port = ctx->info->port; struct team_port *port = ctx->info->port;
ctx->data.u32_val = port->queue_id; ctx->data.u32_val = port->queue_id;
return 0;
} }
static int team_queue_id_option_set(struct team *team, static int team_queue_id_option_set(struct team *team,
......
...@@ -63,7 +63,7 @@ static void ab_active_port_init(struct team *team, ...@@ -63,7 +63,7 @@ static void ab_active_port_init(struct team *team,
ab_priv(team)->ap_opt_inst_info = info; ab_priv(team)->ap_opt_inst_info = info;
} }
static int ab_active_port_get(struct team *team, struct team_gsetter_ctx *ctx) static void ab_active_port_get(struct team *team, struct team_gsetter_ctx *ctx)
{ {
struct team_port *active_port; struct team_port *active_port;
...@@ -73,7 +73,6 @@ static int ab_active_port_get(struct team *team, struct team_gsetter_ctx *ctx) ...@@ -73,7 +73,6 @@ static int ab_active_port_get(struct team *team, struct team_gsetter_ctx *ctx)
ctx->data.u32_val = active_port->dev->ifindex; ctx->data.u32_val = active_port->dev->ifindex;
else else
ctx->data.u32_val = 0; ctx->data.u32_val = 0;
return 0;
} }
static int ab_active_port_set(struct team *team, struct team_gsetter_ctx *ctx) static int ab_active_port_set(struct team *team, struct team_gsetter_ctx *ctx)
......
...@@ -242,19 +242,18 @@ static bool lb_transmit(struct team *team, struct sk_buff *skb) ...@@ -242,19 +242,18 @@ static bool lb_transmit(struct team *team, struct sk_buff *skb)
return false; return false;
} }
static int lb_bpf_func_get(struct team *team, struct team_gsetter_ctx *ctx) static void lb_bpf_func_get(struct team *team, struct team_gsetter_ctx *ctx)
{ {
struct lb_priv *lb_priv = get_lb_priv(team); struct lb_priv *lb_priv = get_lb_priv(team);
if (!lb_priv->ex->orig_fprog) { if (!lb_priv->ex->orig_fprog) {
ctx->data.bin_val.len = 0; ctx->data.bin_val.len = 0;
ctx->data.bin_val.ptr = NULL; ctx->data.bin_val.ptr = NULL;
return 0; return;
} }
ctx->data.bin_val.len = lb_priv->ex->orig_fprog->len * ctx->data.bin_val.len = lb_priv->ex->orig_fprog->len *
sizeof(struct sock_filter); sizeof(struct sock_filter);
ctx->data.bin_val.ptr = lb_priv->ex->orig_fprog->filter; ctx->data.bin_val.ptr = lb_priv->ex->orig_fprog->filter;
return 0;
} }
static int __fprog_create(struct sock_fprog_kern **pfprog, u32 data_len, static int __fprog_create(struct sock_fprog_kern **pfprog, u32 data_len,
...@@ -335,7 +334,7 @@ static void lb_bpf_func_free(struct team *team) ...@@ -335,7 +334,7 @@ static void lb_bpf_func_free(struct team *team)
bpf_prog_destroy(fp); bpf_prog_destroy(fp);
} }
static int lb_tx_method_get(struct team *team, struct team_gsetter_ctx *ctx) static void lb_tx_method_get(struct team *team, struct team_gsetter_ctx *ctx)
{ {
struct lb_priv *lb_priv = get_lb_priv(team); struct lb_priv *lb_priv = get_lb_priv(team);
lb_select_tx_port_func_t *func; lb_select_tx_port_func_t *func;
...@@ -346,7 +345,6 @@ static int lb_tx_method_get(struct team *team, struct team_gsetter_ctx *ctx) ...@@ -346,7 +345,6 @@ static int lb_tx_method_get(struct team *team, struct team_gsetter_ctx *ctx)
name = lb_select_tx_port_get_name(func); name = lb_select_tx_port_get_name(func);
BUG_ON(!name); BUG_ON(!name);
ctx->data.str_val = name; ctx->data.str_val = name;
return 0;
} }
static int lb_tx_method_set(struct team *team, struct team_gsetter_ctx *ctx) static int lb_tx_method_set(struct team *team, struct team_gsetter_ctx *ctx)
...@@ -370,8 +368,8 @@ static void lb_tx_hash_to_port_mapping_init(struct team *team, ...@@ -370,8 +368,8 @@ static void lb_tx_hash_to_port_mapping_init(struct team *team,
LB_HTPM_OPT_INST_INFO_BY_HASH(lb_priv, hash) = info; LB_HTPM_OPT_INST_INFO_BY_HASH(lb_priv, hash) = info;
} }
static int lb_tx_hash_to_port_mapping_get(struct team *team, static void lb_tx_hash_to_port_mapping_get(struct team *team,
struct team_gsetter_ctx *ctx) struct team_gsetter_ctx *ctx)
{ {
struct lb_priv *lb_priv = get_lb_priv(team); struct lb_priv *lb_priv = get_lb_priv(team);
struct team_port *port; struct team_port *port;
...@@ -379,7 +377,6 @@ static int lb_tx_hash_to_port_mapping_get(struct team *team, ...@@ -379,7 +377,6 @@ static int lb_tx_hash_to_port_mapping_get(struct team *team,
port = LB_HTPM_PORT_BY_HASH(lb_priv, hash); port = LB_HTPM_PORT_BY_HASH(lb_priv, hash);
ctx->data.u32_val = port ? port->dev->ifindex : 0; ctx->data.u32_val = port ? port->dev->ifindex : 0;
return 0;
} }
static int lb_tx_hash_to_port_mapping_set(struct team *team, static int lb_tx_hash_to_port_mapping_set(struct team *team,
...@@ -409,14 +406,13 @@ static void lb_hash_stats_init(struct team *team, ...@@ -409,14 +406,13 @@ static void lb_hash_stats_init(struct team *team,
lb_priv->ex->stats.info[hash].opt_inst_info = info; lb_priv->ex->stats.info[hash].opt_inst_info = info;
} }
static int lb_hash_stats_get(struct team *team, struct team_gsetter_ctx *ctx) static void lb_hash_stats_get(struct team *team, struct team_gsetter_ctx *ctx)
{ {
struct lb_priv *lb_priv = get_lb_priv(team); struct lb_priv *lb_priv = get_lb_priv(team);
unsigned char hash = ctx->info->array_index; unsigned char hash = ctx->info->array_index;
ctx->data.bin_val.ptr = &lb_priv->ex->stats.info[hash].stats; ctx->data.bin_val.ptr = &lb_priv->ex->stats.info[hash].stats;
ctx->data.bin_val.len = sizeof(struct lb_stats); ctx->data.bin_val.len = sizeof(struct lb_stats);
return 0;
} }
static void lb_port_stats_init(struct team *team, static void lb_port_stats_init(struct team *team,
...@@ -428,14 +424,13 @@ static void lb_port_stats_init(struct team *team, ...@@ -428,14 +424,13 @@ static void lb_port_stats_init(struct team *team,
lb_port_priv->stats_info.opt_inst_info = info; lb_port_priv->stats_info.opt_inst_info = info;
} }
static int lb_port_stats_get(struct team *team, struct team_gsetter_ctx *ctx) static void lb_port_stats_get(struct team *team, struct team_gsetter_ctx *ctx)
{ {
struct team_port *port = ctx->info->port; struct team_port *port = ctx->info->port;
struct lb_port_priv *lb_port_priv = get_lb_port_priv(port); struct lb_port_priv *lb_port_priv = get_lb_port_priv(port);
ctx->data.bin_val.ptr = &lb_port_priv->stats_info.stats; ctx->data.bin_val.ptr = &lb_port_priv->stats_info.stats;
ctx->data.bin_val.len = sizeof(struct lb_stats); ctx->data.bin_val.len = sizeof(struct lb_stats);
return 0;
} }
static void __lb_stats_info_refresh_prepare(struct lb_stats_info *s_info) static void __lb_stats_info_refresh_prepare(struct lb_stats_info *s_info)
...@@ -528,13 +523,12 @@ static void lb_stats_refresh(struct work_struct *work) ...@@ -528,13 +523,12 @@ static void lb_stats_refresh(struct work_struct *work)
mutex_unlock(&team->lock); mutex_unlock(&team->lock);
} }
static int lb_stats_refresh_interval_get(struct team *team, static void lb_stats_refresh_interval_get(struct team *team,
struct team_gsetter_ctx *ctx) struct team_gsetter_ctx *ctx)
{ {
struct lb_priv *lb_priv = get_lb_priv(team); struct lb_priv *lb_priv = get_lb_priv(team);
ctx->data.u32_val = lb_priv->ex->stats.refresh_interval; ctx->data.u32_val = lb_priv->ex->stats.refresh_interval;
return 0;
} }
static int lb_stats_refresh_interval_set(struct team *team, static int lb_stats_refresh_interval_set(struct team *team,
......
...@@ -163,7 +163,7 @@ struct team_option { ...@@ -163,7 +163,7 @@ struct team_option {
unsigned int array_size; /* != 0 means the option is array */ unsigned int array_size; /* != 0 means the option is array */
enum team_option_type type; enum team_option_type type;
void (*init)(struct team *team, struct team_option_inst_info *info); void (*init)(struct team *team, struct team_option_inst_info *info);
int (*getter)(struct team *team, struct team_gsetter_ctx *ctx); void (*getter)(struct team *team, struct team_gsetter_ctx *ctx);
int (*setter)(struct team *team, struct team_gsetter_ctx *ctx); int (*setter)(struct team *team, struct team_gsetter_ctx *ctx);
}; };
......
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