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: David Ahern <dsa@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
David Ahern 2016-10-17 19:15:50 -07:00 committed by David S. Miller
parent dd82364c3a
commit cf2d67408b

View File

@ -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,