tree b7cb957d6edee3b07bb7d60270bc9449a17a55dd
parent 746844931ed400eef32edaa069b996eb622bc39a
author Veaceslav Falico <vfalico@redhat.com> 1380291117 +0200
committer David S. Miller <davem@davemloft.net> 1380407279 -0700

bonding: remove __get_next_port()

Currently this function is only used in constructs like

for (port = __get_first_port(bond); port; port = __get_next_port(port))

which is basicly the same as

bond_for_each_slave(bond, slave, iter) {
	port = &(SLAVE_AD_INFO(slave).port);

but a more time consuming.

Remove the function and convert the users to bond_for_each_slave().

CC: Jay Vosburgh <fubar@us.ibm.com>
CC: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: Veaceslav Falico <vfalico@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
