summaryrefslogtreecommitdiffstats
path: root/net/dsa
diff options
context:
space:
mode:
authorJiri Pirko <jiri@mellanox.com>2015-09-24 04:02:48 -0400
committerDavid S. Miller <davem@davemloft.net>2015-09-25 01:59:22 -0400
commit79a62eb22a5fa4ee5e1f21af5e1f19f493dac5e0 (patch)
treeea046def57317217e97d7ed1a28c71e86a38e077 /net/dsa
parent9f6467cf229a0e8a7580401b07de2a76e4c8618d (diff)
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>
Diffstat (limited to 'net/dsa')
-rw-r--r--net/dsa/slave.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/net/dsa/slave.c b/net/dsa/slave.c
index 748cc6394bbb..71a11559b65f 100644
--- a/net/dsa/slave.c
+++ b/net/dsa/slave.c
@@ -251,8 +251,7 @@ static int dsa_slave_port_vlan_add(struct net_device *dev,
251 u16 vid; 251 u16 vid;
252 int err; 252 int err;
253 253
254 switch (trans->ph) { 254 if (switchdev_trans_ph_prepare(trans)) {
255 case SWITCHDEV_TRANS_PREPARE:
256 if (!ds->drv->port_vlan_add || !ds->drv->port_pvid_set) 255 if (!ds->drv->port_vlan_add || !ds->drv->port_pvid_set)
257 return -EOPNOTSUPP; 256 return -EOPNOTSUPP;
258 257
@@ -264,8 +263,7 @@ static int dsa_slave_port_vlan_add(struct net_device *dev,
264 vlan->vid_end); 263 vlan->vid_end);
265 if (err) 264 if (err)
266 return err; 265 return err;
267 break; 266 } else {
268 case SWITCHDEV_TRANS_COMMIT:
269 for (vid = vlan->vid_begin; vid <= vlan->vid_end; ++vid) { 267 for (vid = vlan->vid_begin; vid <= vlan->vid_end; ++vid) {
270 err = ds->drv->port_vlan_add(ds, p->port, vid, 268 err = ds->drv->port_vlan_add(ds, p->port, vid,
271 vlan->flags & 269 vlan->flags &
@@ -275,9 +273,6 @@ static int dsa_slave_port_vlan_add(struct net_device *dev,
275 if (err) 273 if (err)
276 return err; 274 return err;
277 } 275 }
278 break;
279 default:
280 return -EOPNOTSUPP;
281 } 276 }
282 277
283 return 0; 278 return 0;
@@ -356,9 +351,9 @@ static int dsa_slave_port_fdb_add(struct net_device *dev,
356 struct dsa_switch *ds = p->parent; 351 struct dsa_switch *ds = p->parent;
357 int ret = -EOPNOTSUPP; 352 int ret = -EOPNOTSUPP;
358 353
359 if (trans->ph == SWITCHDEV_TRANS_PREPARE) 354 if (switchdev_trans_ph_prepare(trans))
360 ret = ds->drv->port_fdb_add ? 0 : -EOPNOTSUPP; 355 ret = ds->drv->port_fdb_add ? 0 : -EOPNOTSUPP;
361 else if (trans->ph == SWITCHDEV_TRANS_COMMIT) 356 else
362 ret = ds->drv->port_fdb_add(ds, p->port, fdb->addr, fdb->vid); 357 ret = ds->drv->port_fdb_add(ds, p->port, fdb->addr, fdb->vid);
363 358
364 return ret; 359 return ret;
@@ -465,7 +460,7 @@ static int dsa_slave_port_attr_set(struct net_device *dev,
465 460
466 switch (attr->id) { 461 switch (attr->id) {
467 case SWITCHDEV_ATTR_PORT_STP_STATE: 462 case SWITCHDEV_ATTR_PORT_STP_STATE:
468 if (trans->ph == SWITCHDEV_TRANS_COMMIT) 463 if (switchdev_trans_ph_commit(trans))
469 ret = dsa_slave_stp_update(dev, attr->u.stp_state); 464 ret = dsa_slave_stp_update(dev, attr->u.stp_state);
470 break; 465 break;
471 default: 466 default: