Make core more readable with switch-case for various port flavours.

Signed-off-by: Parav Pandit <pa...@mellanox.com>
---
 net/core/devlink.c | 39 ++++++++++++++++++++++-----------------
 1 file changed, 22 insertions(+), 17 deletions(-)

diff --git a/net/core/devlink.c b/net/core/devlink.c
index b7091329987a..6e52d639dac6 100644
--- a/net/core/devlink.c
+++ b/net/core/devlink.c
@@ -510,32 +510,37 @@ static int devlink_nl_port_attrs_put(struct sk_buff *msg,
                return 0;
        if (nla_put_u16(msg, DEVLINK_ATTR_PORT_FLAVOUR, attrs->flavour))
                return -EMSGSIZE;
-       if (devlink_port->attrs.flavour == DEVLINK_PORT_FLAVOUR_PCI_PF) {
+       switch (devlink_port->attrs.flavour) {
+       case DEVLINK_PORT_FLAVOUR_PCI_PF:
                if (nla_put_u16(msg, DEVLINK_ATTR_PORT_PCI_PF_NUMBER,
                                attrs->pci_pf.pf))
                        return -EMSGSIZE;
-       } else if (devlink_port->attrs.flavour == DEVLINK_PORT_FLAVOUR_PCI_VF) {
+               break;
+       case DEVLINK_PORT_FLAVOUR_PCI_VF:
                if (nla_put_u16(msg, DEVLINK_ATTR_PORT_PCI_PF_NUMBER,
                                attrs->pci_vf.pf) ||
                    nla_put_u16(msg, DEVLINK_ATTR_PORT_PCI_VF_NUMBER,
                                attrs->pci_vf.vf))
                        return -EMSGSIZE;
+               break;
+       case DEVLINK_PORT_FLAVOUR_PHYSICAL:
+       case DEVLINK_PORT_FLAVOUR_CPU:
+       case DEVLINK_PORT_FLAVOUR_DSA:
+               if (nla_put_u32(msg, DEVLINK_ATTR_PORT_NUMBER,
+                               attrs->phys.port_number))
+                       return -EMSGSIZE;
+               if (!attrs->split)
+                       return 0;
+               if (nla_put_u32(msg, DEVLINK_ATTR_PORT_SPLIT_GROUP,
+                               attrs->phys.port_number))
+                       return -EMSGSIZE;
+               if (nla_put_u32(msg, DEVLINK_ATTR_PORT_SPLIT_SUBPORT_NUMBER,
+                               attrs->phys.split_subport_number))
+                       return -EMSGSIZE;
+               break;
+       default:
+               break;
        }
-       if (devlink_port->attrs.flavour != DEVLINK_PORT_FLAVOUR_PHYSICAL &&
-           devlink_port->attrs.flavour != DEVLINK_PORT_FLAVOUR_CPU &&
-           devlink_port->attrs.flavour != DEVLINK_PORT_FLAVOUR_DSA)
-               return 0;
-       if (nla_put_u32(msg, DEVLINK_ATTR_PORT_NUMBER,
-                       attrs->phys.port_number))
-               return -EMSGSIZE;
-       if (!attrs->split)
-               return 0;
-       if (nla_put_u32(msg, DEVLINK_ATTR_PORT_SPLIT_GROUP,
-                       attrs->phys.port_number))
-               return -EMSGSIZE;
-       if (nla_put_u32(msg, DEVLINK_ATTR_PORT_SPLIT_SUBPORT_NUMBER,
-                       attrs->phys.split_subport_number))
-               return -EMSGSIZE;
        return 0;
 }
 
-- 
2.19.2

Reply via email to