Commit cf2d6740 authored by David Ahern's avatar David Ahern Committed by David S. Miller

rocker: Flip to the new dev walk API

Convert rocker to the new dev walk API. This is just a code conversion;
no functional change is intended.

v2
- removed typecast of data
Signed-off-by: default avatarDavid Ahern <dsa@cumulusnetworks.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent dd82364c
...@@ -2839,20 +2839,37 @@ static bool rocker_port_dev_check_under(const struct net_device *dev, ...@@ -2839,20 +2839,37 @@ static bool rocker_port_dev_check_under(const struct net_device *dev,
return true; return true;
} }
struct rocker_walk_data {
struct rocker *rocker;
struct rocker_port *port;
};
static int rocker_lower_dev_walk(struct net_device *lower_dev, void *_data)
{
struct rocker_walk_data *data = _data;
int ret = 0;
if (rocker_port_dev_check_under(lower_dev, data->rocker)) {
data->port = netdev_priv(lower_dev);
ret = 1;
}
return ret;
}
struct rocker_port *rocker_port_dev_lower_find(struct net_device *dev, struct rocker_port *rocker_port_dev_lower_find(struct net_device *dev,
struct rocker *rocker) struct rocker *rocker)
{ {
struct net_device *lower_dev; struct rocker_walk_data data;
struct list_head *iter;
if (rocker_port_dev_check_under(dev, rocker)) if (rocker_port_dev_check_under(dev, rocker))
return netdev_priv(dev); return netdev_priv(dev);
netdev_for_each_all_lower_dev(dev, lower_dev, iter) { data.rocker = rocker;
if (rocker_port_dev_check_under(lower_dev, rocker)) data.port = NULL;
return netdev_priv(lower_dev); netdev_walk_all_lower_dev(dev, rocker_lower_dev_walk, &data);
}
return NULL; return data.port;
} }
static int rocker_netdevice_event(struct notifier_block *unused, static int rocker_netdevice_event(struct notifier_block *unused,
......
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