net: dsa: make the STP state function return void
The DSA layer doesn't care about the return code of the port_stp_update routine, so make it void in the layer and the DSA drivers. Replace the useless dsa_slave_stp_update function with a dsa_slave_stp_state function used to reply to the switchdev SWITCHDEV_ATTR_ID_PORT_STP_STATE attribute. In the meantime, rename port_stp_update to port_stp_state_set to explicit the state change. Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
f453939c1a
commit
43c44a9f65
@@ -545,12 +545,11 @@ static void bcm_sf2_sw_br_leave(struct dsa_switch *ds, int port)
|
||||
priv->port_sts[port].bridge_dev = NULL;
|
||||
}
|
||||
|
||||
static int bcm_sf2_sw_br_set_stp_state(struct dsa_switch *ds, int port,
|
||||
u8 state)
|
||||
static void bcm_sf2_sw_br_set_stp_state(struct dsa_switch *ds, int port,
|
||||
u8 state)
|
||||
{
|
||||
struct bcm_sf2_priv *priv = ds_to_priv(ds);
|
||||
u8 hw_state, cur_hw_state;
|
||||
int ret = 0;
|
||||
u32 reg;
|
||||
|
||||
reg = core_readl(priv, CORE_G_PCTL_PORT(port));
|
||||
@@ -574,7 +573,7 @@ static int bcm_sf2_sw_br_set_stp_state(struct dsa_switch *ds, int port,
|
||||
break;
|
||||
default:
|
||||
pr_err("%s: invalid STP state: %d\n", __func__, state);
|
||||
return -EINVAL;
|
||||
return;
|
||||
}
|
||||
|
||||
/* Fast-age ARL entries if we are moving a port from Learning or
|
||||
@@ -584,10 +583,9 @@ static int bcm_sf2_sw_br_set_stp_state(struct dsa_switch *ds, int port,
|
||||
if (cur_hw_state != hw_state) {
|
||||
if (cur_hw_state >= G_MISTP_LEARN_STATE &&
|
||||
hw_state <= G_MISTP_LISTEN_STATE) {
|
||||
ret = bcm_sf2_sw_fast_age_port(ds, port);
|
||||
if (ret) {
|
||||
if (bcm_sf2_sw_fast_age_port(ds, port)) {
|
||||
pr_err("%s: fast-ageing failed\n", __func__);
|
||||
return ret;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -596,8 +594,6 @@ static int bcm_sf2_sw_br_set_stp_state(struct dsa_switch *ds, int port,
|
||||
reg &= ~(G_MISTP_STATE_MASK << G_MISTP_STATE_SHIFT);
|
||||
reg |= hw_state;
|
||||
core_writel(priv, reg, CORE_G_PCTL_PORT(port));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Address Resolution Logic routines */
|
||||
@@ -1387,7 +1383,7 @@ static struct dsa_switch_driver bcm_sf2_switch_driver = {
|
||||
.set_eee = bcm_sf2_sw_set_eee,
|
||||
.port_bridge_join = bcm_sf2_sw_br_join,
|
||||
.port_bridge_leave = bcm_sf2_sw_br_leave,
|
||||
.port_stp_update = bcm_sf2_sw_br_set_stp_state,
|
||||
.port_stp_state_set = bcm_sf2_sw_br_set_stp_state,
|
||||
.port_fdb_prepare = bcm_sf2_sw_fdb_prepare,
|
||||
.port_fdb_add = bcm_sf2_sw_fdb_add,
|
||||
.port_fdb_del = bcm_sf2_sw_fdb_del,
|
||||
|
Reference in New Issue
Block a user