RDMA: Add and use rdma_for_each_port
We have many loops iterating over all of the end port numbers on a struct ib_device, simplify them with a for_each helper. Reviewed-by: Parav Pandit <parav@mellanox.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
@@ -2827,6 +2827,16 @@ static inline u8 rdma_start_port(const struct ib_device *device)
|
||||
return rdma_cap_ib_switch(device) ? 0 : 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* rdma_for_each_port - Iterate over all valid port numbers of the IB device
|
||||
* @device - The struct ib_device * to iterate over
|
||||
* @iter - The unsigned int to store the port number
|
||||
*/
|
||||
#define rdma_for_each_port(device, iter) \
|
||||
for (iter = rdma_start_port(device + BUILD_BUG_ON_ZERO(!__same_type( \
|
||||
unsigned int, iter))); \
|
||||
iter <= rdma_end_port(device); (iter)++)
|
||||
|
||||
/**
|
||||
* rdma_end_port - Return the last valid port number for the device
|
||||
* specified
|
||||
|
Reference in New Issue
Block a user