summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorScott Feldman <sfeldma@gmail.com>2015-05-13 21:16:50 +0300
committerDavid S. Miller <davem@davemloft.net>2015-05-13 21:20:59 +0300
commit42275bd8fcb351f951781d8882f359d25976824b (patch)
tree9689357f34d19a10544b03047df26b2031364664 /drivers
parent1f7bd29bc0559aedae857639ca391c815e47f1d9 (diff)
downloadlinux-42275bd8fcb351f951781d8882f359d25976824b.tar.xz
switchdev: don't use anonymous union on switchdev attr/obj structs
Older gcc versions (e.g. gcc version 4.4.6) don't like anonymous unions which was causing build issues on the newly added switchdev attr/obj structs. Fix this by using named union on structs. Signed-off-by: Scott Feldman <sfeldma@gmail.com> Reported-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/ethernet/rocker/rocker.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/net/ethernet/rocker/rocker.c b/drivers/net/ethernet/rocker/rocker.c
index ca533936658b..f0a9cb44be6b 100644
--- a/drivers/net/ethernet/rocker/rocker.c
+++ b/drivers/net/ethernet/rocker/rocker.c
@@ -4339,11 +4339,11 @@ static int rocker_port_attr_get(struct net_device *dev,
switch (attr->id) {
case SWITCHDEV_ATTR_PORT_PARENT_ID:
- attr->ppid.id_len = sizeof(rocker->hw.id);
- memcpy(&attr->ppid.id, &rocker->hw.id, attr->ppid.id_len);
+ attr->u.ppid.id_len = sizeof(rocker->hw.id);
+ memcpy(&attr->u.ppid.id, &rocker->hw.id, attr->u.ppid.id_len);
break;
case SWITCHDEV_ATTR_PORT_BRIDGE_FLAGS:
- attr->brport_flags = rocker_port->brport_flags;
+ attr->u.brport_flags = rocker_port->brport_flags;
break;
default:
return -EOPNOTSUPP;
@@ -4400,11 +4400,11 @@ static int rocker_port_attr_set(struct net_device *dev,
switch (attr->id) {
case SWITCHDEV_ATTR_PORT_STP_STATE:
err = rocker_port_stp_update(rocker_port, attr->trans,
- attr->stp_state);
+ attr->u.stp_state);
break;
case SWITCHDEV_ATTR_PORT_BRIDGE_FLAGS:
err = rocker_port_brport_flags_set(rocker_port, attr->trans,
- attr->brport_flags);
+ attr->u.brport_flags);
break;
default:
err = -EOPNOTSUPP;
@@ -4466,10 +4466,10 @@ static int rocker_port_obj_add(struct net_device *dev,
switch (obj->id) {
case SWITCHDEV_OBJ_PORT_VLAN:
err = rocker_port_vlans_add(rocker_port, obj->trans,
- &obj->vlan);
+ &obj->u.vlan);
break;
case SWITCHDEV_OBJ_IPV4_FIB:
- fib4 = &obj->ipv4_fib;
+ fib4 = &obj->u.ipv4_fib;
err = rocker_port_fib_ipv4(rocker_port, obj->trans,
htonl(fib4->dst), fib4->dst_len,
fib4->fi, fib4->tb_id, 0);
@@ -4520,10 +4520,10 @@ static int rocker_port_obj_del(struct net_device *dev,
switch (obj->id) {
case SWITCHDEV_OBJ_PORT_VLAN:
- err = rocker_port_vlans_del(rocker_port, &obj->vlan);
+ err = rocker_port_vlans_del(rocker_port, &obj->u.vlan);
break;
case SWITCHDEV_OBJ_IPV4_FIB:
- fib4 = &obj->ipv4_fib;
+ fib4 = &obj->u.ipv4_fib;
err = rocker_port_fib_ipv4(rocker_port, SWITCHDEV_TRANS_NONE,
htonl(fib4->dst), fib4->dst_len,
fib4->fi, fib4->tb_id,