Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+24 −7
Original line number Original line Diff line number Diff line
@@ -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,