dsa: use prepare/commit switchdev transaction helpers

The enum is going to disappear, use the helpers instead.

Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Jiri Pirko 2015-09-24 10:02:48 +02:00 committed by David S. Miller
parent 9f6467cf22
commit 79a62eb22a
1 changed files with 5 additions and 10 deletions

View File

@ -251,8 +251,7 @@ static int dsa_slave_port_vlan_add(struct net_device *dev,
u16 vid;
int err;
switch (trans->ph) {
case SWITCHDEV_TRANS_PREPARE:
if (switchdev_trans_ph_prepare(trans)) {
if (!ds->drv->port_vlan_add || !ds->drv->port_pvid_set)
return -EOPNOTSUPP;
@ -264,8 +263,7 @@ static int dsa_slave_port_vlan_add(struct net_device *dev,
vlan->vid_end);
if (err)
return err;
break;
case SWITCHDEV_TRANS_COMMIT:
} else {
for (vid = vlan->vid_begin; vid <= vlan->vid_end; ++vid) {
err = ds->drv->port_vlan_add(ds, p->port, vid,
vlan->flags &
@ -275,9 +273,6 @@ static int dsa_slave_port_vlan_add(struct net_device *dev,
if (err)
return err;
}
break;
default:
return -EOPNOTSUPP;
}
return 0;
@ -356,9 +351,9 @@ static int dsa_slave_port_fdb_add(struct net_device *dev,
struct dsa_switch *ds = p->parent;
int ret = -EOPNOTSUPP;
if (trans->ph == SWITCHDEV_TRANS_PREPARE)
if (switchdev_trans_ph_prepare(trans))
ret = ds->drv->port_fdb_add ? 0 : -EOPNOTSUPP;
else if (trans->ph == SWITCHDEV_TRANS_COMMIT)
else
ret = ds->drv->port_fdb_add(ds, p->port, fdb->addr, fdb->vid);
return ret;
@ -465,7 +460,7 @@ static int dsa_slave_port_attr_set(struct net_device *dev,
switch (attr->id) {
case SWITCHDEV_ATTR_PORT_STP_STATE:
if (trans->ph == SWITCHDEV_TRANS_COMMIT)
if (switchdev_trans_ph_commit(trans))
ret = dsa_slave_stp_update(dev, attr->u.stp_state);
break;
default: