Commit cf2d67408b2f9a840f27d25a0219070b5b5deec4
Committed by
David S. Miller
1 parent
dd82364c3a
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>
Showing 1 changed file with 24 additions and 7 deletions Side-by-side Diff
drivers/net/ethernet/rocker/rocker_main.c
... | ... | @@ -2839,20 +2839,37 @@ |
2839 | 2839 | return true; |
2840 | 2840 | } |
2841 | 2841 | |
2842 | +struct rocker_walk_data { | |
2843 | + struct rocker *rocker; | |
2844 | + struct rocker_port *port; | |
2845 | +}; | |
2846 | + | |
2847 | +static int rocker_lower_dev_walk(struct net_device *lower_dev, void *_data) | |
2848 | +{ | |
2849 | + struct rocker_walk_data *data = _data; | |
2850 | + int ret = 0; | |
2851 | + | |
2852 | + if (rocker_port_dev_check_under(lower_dev, data->rocker)) { | |
2853 | + data->port = netdev_priv(lower_dev); | |
2854 | + ret = 1; | |
2855 | + } | |
2856 | + | |
2857 | + return ret; | |
2858 | +} | |
2859 | + | |
2842 | 2860 | struct rocker_port *rocker_port_dev_lower_find(struct net_device *dev, |
2843 | 2861 | struct rocker *rocker) |
2844 | 2862 | { |
2845 | - struct net_device *lower_dev; | |
2846 | - struct list_head *iter; | |
2863 | + struct rocker_walk_data data; | |
2847 | 2864 | |
2848 | 2865 | if (rocker_port_dev_check_under(dev, rocker)) |
2849 | 2866 | return netdev_priv(dev); |
2850 | 2867 | |
2851 | - netdev_for_each_all_lower_dev(dev, lower_dev, iter) { | |
2852 | - if (rocker_port_dev_check_under(lower_dev, rocker)) | |
2853 | - return netdev_priv(lower_dev); | |
2854 | - } | |
2855 | - return NULL; | |
2868 | + data.rocker = rocker; | |
2869 | + data.port = NULL; | |
2870 | + netdev_walk_all_lower_dev(dev, rocker_lower_dev_walk, &data); | |
2871 | + | |
2872 | + return data.port; | |
2856 | 2873 | } |
2857 | 2874 | |
2858 | 2875 | static int rocker_netdevice_event(struct notifier_block *unused, |