ocelot_netdevice_port_event treats a single event, NETDEV_CHANGEUPPER.
So we can remove the check for the type of event, and rename the
function to be more suggestive, since there already is a function with a
very similar name of ocelot_netdevice_event.

Signed-off-by: Vladimir Oltean <vladimir.olt...@nxp.com>
---
 drivers/net/ethernet/mscc/ocelot_net.c | 59 ++++++++++++--------------
 1 file changed, 27 insertions(+), 32 deletions(-)

diff --git a/drivers/net/ethernet/mscc/ocelot_net.c 
b/drivers/net/ethernet/mscc/ocelot_net.c
index 6fb2a813e694..50765a3b1c44 100644
--- a/drivers/net/ethernet/mscc/ocelot_net.c
+++ b/drivers/net/ethernet/mscc/ocelot_net.c
@@ -1003,9 +1003,8 @@ static int ocelot_port_obj_del(struct net_device *dev,
        return ret;
 }
 
-static int ocelot_netdevice_port_event(struct net_device *dev,
-                                      unsigned long event,
-                                      struct netdev_notifier_changeupper_info 
*info)
+static int ocelot_netdevice_changeupper(struct net_device *dev,
+                                       struct netdev_notifier_changeupper_info 
*info)
 {
        struct ocelot_port_private *priv = netdev_priv(dev);
        struct ocelot_port *ocelot_port = &priv->port;
@@ -1013,28 +1012,22 @@ static int ocelot_netdevice_port_event(struct 
net_device *dev,
        int port = priv->chip_port;
        int err = 0;
 
-       switch (event) {
-       case NETDEV_CHANGEUPPER:
-               if (netif_is_bridge_master(info->upper_dev)) {
-                       if (info->linking) {
-                               err = ocelot_port_bridge_join(ocelot, port,
-                                                             info->upper_dev);
-                       } else {
-                               err = ocelot_port_bridge_leave(ocelot, port,
-                                                              info->upper_dev);
-                       }
-               }
-               if (netif_is_lag_master(info->upper_dev)) {
-                       if (info->linking)
-                               err = ocelot_port_lag_join(ocelot, port,
-                                                          info->upper_dev);
-                       else
-                               ocelot_port_lag_leave(ocelot, port,
+       if (netif_is_bridge_master(info->upper_dev)) {
+               if (info->linking) {
+                       err = ocelot_port_bridge_join(ocelot, port,
                                                      info->upper_dev);
+               } else {
+                       err = ocelot_port_bridge_leave(ocelot, port,
+                                                      info->upper_dev);
                }
-               break;
-       default:
-               break;
+       }
+       if (netif_is_lag_master(info->upper_dev)) {
+               if (info->linking)
+                       err = ocelot_port_lag_join(ocelot, port,
+                                                  info->upper_dev);
+               else
+                       ocelot_port_lag_leave(ocelot, port,
+                                             info->upper_dev);
        }
 
        return err;
@@ -1063,17 +1056,19 @@ static int ocelot_netdevice_event(struct notifier_block 
*unused,
                }
        }
 
-       if (netif_is_lag_master(dev)) {
-               struct net_device *slave;
-               struct list_head *iter;
+       if (event == NETDEV_CHANGEUPPER) {
+               if (netif_is_lag_master(dev)) {
+                       struct net_device *slave;
+                       struct list_head *iter;
 
-               netdev_for_each_lower_dev(dev, slave, iter) {
-                       ret = ocelot_netdevice_port_event(slave, event, info);
-                       if (ret)
-                               goto notify;
+                       netdev_for_each_lower_dev(dev, slave, iter) {
+                               ret = ocelot_netdevice_changeupper(slave, 
event, info);
+                               if (ret)
+                                       goto notify;
+                       }
+               } else {
+                       ret = ocelot_netdevice_changeupper(dev, event, info);
                }
-       } else {
-               ret = ocelot_netdevice_port_event(dev, event, info);
        }
 
 notify:
-- 
2.25.1

Reply via email to