Commit 662981bb authored by Vladimir Oltean's avatar Vladimir Oltean Committed by Jakub Kicinski

net: mscc: ocelot: rename ocelot_netdevice_port_event to ocelot_netdevice_changeupper

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: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 8d9dbce4
...@@ -1110,9 +1110,8 @@ static int ocelot_port_obj_del(struct net_device *dev, ...@@ -1110,9 +1110,8 @@ static int ocelot_port_obj_del(struct net_device *dev,
return ret; return ret;
} }
static int ocelot_netdevice_port_event(struct net_device *dev, static int ocelot_netdevice_changeupper(struct net_device *dev,
unsigned long event, struct netdev_notifier_changeupper_info *info)
struct netdev_notifier_changeupper_info *info)
{ {
struct ocelot_port_private *priv = netdev_priv(dev); struct ocelot_port_private *priv = netdev_priv(dev);
struct ocelot_port *ocelot_port = &priv->port; struct ocelot_port *ocelot_port = &priv->port;
...@@ -1120,28 +1119,22 @@ static int ocelot_netdevice_port_event(struct net_device *dev, ...@@ -1120,28 +1119,22 @@ static int ocelot_netdevice_port_event(struct net_device *dev,
int port = priv->chip_port; int port = priv->chip_port;
int err = 0; int err = 0;
switch (event) { if (netif_is_bridge_master(info->upper_dev)) {
case NETDEV_CHANGEUPPER: if (info->linking) {
if (netif_is_bridge_master(info->upper_dev)) { err = ocelot_port_bridge_join(ocelot, port,
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,
info->upper_dev); info->upper_dev);
} else {
err = ocelot_port_bridge_leave(ocelot, port,
info->upper_dev);
} }
break; }
default: if (netif_is_lag_master(info->upper_dev)) {
break; 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; return err;
...@@ -1170,17 +1163,19 @@ static int ocelot_netdevice_event(struct notifier_block *unused, ...@@ -1170,17 +1163,19 @@ static int ocelot_netdevice_event(struct notifier_block *unused,
} }
} }
if (netif_is_lag_master(dev)) { if (event == NETDEV_CHANGEUPPER) {
struct net_device *slave; if (netif_is_lag_master(dev)) {
struct list_head *iter; struct net_device *slave;
struct list_head *iter;
netdev_for_each_lower_dev(dev, slave, iter) { netdev_for_each_lower_dev(dev, slave, iter) {
ret = ocelot_netdevice_port_event(slave, event, info); ret = ocelot_netdevice_changeupper(slave, info);
if (ret) if (ret)
goto notify; goto notify;
}
} else {
ret = ocelot_netdevice_changeupper(dev, info);
} }
} else {
ret = ocelot_netdevice_port_event(dev, event, info);
} }
notify: notify:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment