]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
devlink: Move switch_port attribute of devlink_port_attrs to devlink_port
authorDanielle Ratson <danieller@mellanox.com>
Thu, 9 Jul 2020 13:18:15 +0000 (16:18 +0300)
committerDavid S. Miller <davem@davemloft.net>
Thu, 9 Jul 2020 20:15:29 +0000 (13:15 -0700)
The struct devlink_port_attrs holds the attributes of devlink_port.

Similarly to the previous patch, 'switch_port' attribute is another
exception.

Move 'switch_port' to be devlink_port's field.

Signed-off-by: Danielle Ratson <danieller@mellanox.com>
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/devlink.h
net/core/devlink.c

index 28f8d92c5741711d1f839a908bde237f2094a498..de4b5dcdb4a5ad7084f4a0fc5341093ccc34629b 100644 (file)
@@ -65,8 +65,7 @@ struct devlink_port_pci_vf_attrs {
 };
 
 struct devlink_port_attrs {
-       u8 split:1,
-          switch_port:1;
+       u8 split:1;
        enum devlink_port_flavour flavour;
        struct netdev_phys_item_id switch_id;
        union {
@@ -89,7 +88,8 @@ struct devlink_port {
        enum devlink_port_type desired_type;
        void *type_dev;
        struct devlink_port_attrs attrs;
-       u8 attrs_set:1;
+       u8 attrs_set:1,
+          switch_port:1;
        struct delayed_work type_warn_dw;
 };
 
index f28ae63cdb6b158dc77c67d5075e7c8b14760233..452b2f8a054e4fcd234779e8aaefdc48505dda5e 100644 (file)
@@ -7521,13 +7521,13 @@ static int __devlink_port_attrs_set(struct devlink_port *devlink_port,
        devlink_port->attrs_set = true;
        attrs->flavour = flavour;
        if (switch_id) {
-               attrs->switch_port = true;
+               devlink_port->switch_port = true;
                if (WARN_ON(switch_id_len > MAX_PHYS_ITEM_ID_LEN))
                        switch_id_len = MAX_PHYS_ITEM_ID_LEN;
                memcpy(attrs->switch_id.id, switch_id, switch_id_len);
                attrs->switch_id.id_len = switch_id_len;
        } else {
-               attrs->switch_port = false;
+               devlink_port->switch_port = false;
        }
        return 0;
 }
@@ -9461,7 +9461,7 @@ int devlink_compat_switch_id_get(struct net_device *dev,
         * any devlink lock as only permanent values are accessed.
         */
        devlink_port = netdev_to_devlink_port(dev);
-       if (!devlink_port || !devlink_port->attrs.switch_port)
+       if (!devlink_port || !devlink_port->switch_port)
                return -EOPNOTSUPP;
 
        memcpy(ppid, &devlink_port->attrs.switch_id, sizeof(*ppid));