Commit acbba0d0 authored by Jiri Pirko's avatar Jiri Pirko Committed by David S. Miller

team: introduce two default team_modeop functions and use them in modes

No need to duplicate code for this.
Signed-off-by: default avatarJiri Pirko <jiri@resnulli.us>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 6fac4115
...@@ -73,11 +73,24 @@ static int team_port_set_orig_dev_addr(struct team_port *port) ...@@ -73,11 +73,24 @@ static int team_port_set_orig_dev_addr(struct team_port *port)
return __set_port_dev_addr(port->dev, port->orig.dev_addr); return __set_port_dev_addr(port->dev, port->orig.dev_addr);
} }
int team_port_set_team_dev_addr(struct team_port *port) static int team_port_set_team_dev_addr(struct team *team,
struct team_port *port)
{
return __set_port_dev_addr(port->dev, team->dev->dev_addr);
}
int team_modeop_port_enter(struct team *team, struct team_port *port)
{
return team_port_set_team_dev_addr(team, port);
}
EXPORT_SYMBOL(team_modeop_port_enter);
void team_modeop_port_change_dev_addr(struct team *team,
struct team_port *port)
{ {
return __set_port_dev_addr(port->dev, port->team->dev->dev_addr); team_port_set_team_dev_addr(team, port);
} }
EXPORT_SYMBOL(team_port_set_team_dev_addr); EXPORT_SYMBOL(team_modeop_port_change_dev_addr);
static void team_refresh_port_linkup(struct team_port *port) static void team_refresh_port_linkup(struct team_port *port)
{ {
......
...@@ -46,20 +46,10 @@ static bool bc_transmit(struct team *team, struct sk_buff *skb) ...@@ -46,20 +46,10 @@ static bool bc_transmit(struct team *team, struct sk_buff *skb)
return sum_ret; return sum_ret;
} }
static int bc_port_enter(struct team *team, struct team_port *port)
{
return team_port_set_team_dev_addr(port);
}
static void bc_port_change_dev_addr(struct team *team, struct team_port *port)
{
team_port_set_team_dev_addr(port);
}
static const struct team_mode_ops bc_mode_ops = { static const struct team_mode_ops bc_mode_ops = {
.transmit = bc_transmit, .transmit = bc_transmit,
.port_enter = bc_port_enter, .port_enter = team_modeop_port_enter,
.port_change_dev_addr = bc_port_change_dev_addr, .port_change_dev_addr = team_modeop_port_change_dev_addr,
}; };
static const struct team_mode bc_mode = { static const struct team_mode bc_mode = {
......
...@@ -64,20 +64,10 @@ static bool rr_transmit(struct team *team, struct sk_buff *skb) ...@@ -64,20 +64,10 @@ static bool rr_transmit(struct team *team, struct sk_buff *skb)
return false; return false;
} }
static int rr_port_enter(struct team *team, struct team_port *port)
{
return team_port_set_team_dev_addr(port);
}
static void rr_port_change_dev_addr(struct team *team, struct team_port *port)
{
team_port_set_team_dev_addr(port);
}
static const struct team_mode_ops rr_mode_ops = { static const struct team_mode_ops rr_mode_ops = {
.transmit = rr_transmit, .transmit = rr_transmit,
.port_enter = rr_port_enter, .port_enter = team_modeop_port_enter,
.port_change_dev_addr = rr_port_change_dev_addr, .port_change_dev_addr = team_modeop_port_change_dev_addr,
}; };
static const struct team_mode rr_mode = { static const struct team_mode rr_mode = {
......
...@@ -112,6 +112,10 @@ struct team_mode_ops { ...@@ -112,6 +112,10 @@ struct team_mode_ops {
void (*port_disabled)(struct team *team, struct team_port *port); void (*port_disabled)(struct team *team, struct team_port *port);
}; };
extern int team_modeop_port_enter(struct team *team, struct team_port *port);
extern void team_modeop_port_change_dev_addr(struct team *team,
struct team_port *port);
enum team_option_type { enum team_option_type {
TEAM_OPTION_TYPE_U32, TEAM_OPTION_TYPE_U32,
TEAM_OPTION_TYPE_STRING, TEAM_OPTION_TYPE_STRING,
...@@ -236,7 +240,6 @@ static inline struct team_port *team_get_port_by_index_rcu(struct team *team, ...@@ -236,7 +240,6 @@ static inline struct team_port *team_get_port_by_index_rcu(struct team *team,
return NULL; return NULL;
} }
extern int team_port_set_team_dev_addr(struct team_port *port);
extern int team_options_register(struct team *team, extern int team_options_register(struct team *team,
const struct team_option *option, const struct team_option *option,
size_t option_count); size_t option_count);
......
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