mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-06 00:39:48 +00:00
IB/core: Change filter function return type from int to bool
Filter functions returns either 0 or 1, therefore better change their return type from int to bool to reflect the same. Additionally some filter functions have suffix of _filter some doesn't. Make all filter function consistent to have __filter suffix to improve code readability. Signed-off-by: Parav Pandit <parav@mellanox.com> Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
parent
d12e2eed27
commit
dd81b2c8a3
2 changed files with 43 additions and 31 deletions
|
@ -91,8 +91,8 @@ void ib_device_unregister_sysfs(struct ib_device *device);
|
||||||
typedef void (*roce_netdev_callback)(struct ib_device *device, u8 port,
|
typedef void (*roce_netdev_callback)(struct ib_device *device, u8 port,
|
||||||
struct net_device *idev, void *cookie);
|
struct net_device *idev, void *cookie);
|
||||||
|
|
||||||
typedef int (*roce_netdev_filter)(struct ib_device *device, u8 port,
|
typedef bool (*roce_netdev_filter)(struct ib_device *device, u8 port,
|
||||||
struct net_device *idev, void *cookie);
|
struct net_device *idev, void *cookie);
|
||||||
|
|
||||||
void ib_enum_roce_netdev(struct ib_device *ib_dev,
|
void ib_enum_roce_netdev(struct ib_device *ib_dev,
|
||||||
roce_netdev_filter filter,
|
roce_netdev_filter filter,
|
||||||
|
|
|
@ -143,14 +143,15 @@ static enum bonding_slave_state is_eth_active_slave_of_bonding_rcu(struct net_de
|
||||||
|
|
||||||
#define REQUIRED_BOND_STATES (BONDING_SLAVE_STATE_ACTIVE | \
|
#define REQUIRED_BOND_STATES (BONDING_SLAVE_STATE_ACTIVE | \
|
||||||
BONDING_SLAVE_STATE_NA)
|
BONDING_SLAVE_STATE_NA)
|
||||||
static int is_eth_port_of_netdev(struct ib_device *ib_dev, u8 port,
|
static bool
|
||||||
struct net_device *rdma_ndev, void *cookie)
|
is_eth_port_of_netdev_filter(struct ib_device *ib_dev, u8 port,
|
||||||
|
struct net_device *rdma_ndev, void *cookie)
|
||||||
{
|
{
|
||||||
struct net_device *real_dev;
|
struct net_device *real_dev;
|
||||||
int res;
|
bool res;
|
||||||
|
|
||||||
if (!rdma_ndev)
|
if (!rdma_ndev)
|
||||||
return 0;
|
return false;
|
||||||
|
|
||||||
rcu_read_lock();
|
rcu_read_lock();
|
||||||
real_dev = rdma_vlan_dev_real_dev(cookie);
|
real_dev = rdma_vlan_dev_real_dev(cookie);
|
||||||
|
@ -166,14 +167,15 @@ static int is_eth_port_of_netdev(struct ib_device *ib_dev, u8 port,
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int is_eth_port_inactive_slave(struct ib_device *ib_dev, u8 port,
|
static bool
|
||||||
struct net_device *rdma_ndev, void *cookie)
|
is_eth_port_inactive_slave_filter(struct ib_device *ib_dev, u8 port,
|
||||||
|
struct net_device *rdma_ndev, void *cookie)
|
||||||
{
|
{
|
||||||
struct net_device *master_dev;
|
struct net_device *master_dev;
|
||||||
int res;
|
bool res;
|
||||||
|
|
||||||
if (!rdma_ndev)
|
if (!rdma_ndev)
|
||||||
return 0;
|
return false;
|
||||||
|
|
||||||
rcu_read_lock();
|
rcu_read_lock();
|
||||||
master_dev = netdev_master_upper_dev_get_rcu(rdma_ndev);
|
master_dev = netdev_master_upper_dev_get_rcu(rdma_ndev);
|
||||||
|
@ -191,18 +193,18 @@ static int is_eth_port_inactive_slave(struct ib_device *ib_dev, u8 port,
|
||||||
* @rdma_ndev: rdma netdevice pointer
|
* @rdma_ndev: rdma netdevice pointer
|
||||||
* @cookie_ndev: Netdevice to consider to form a default GID
|
* @cookie_ndev: Netdevice to consider to form a default GID
|
||||||
*
|
*
|
||||||
* is_ndev_for_default_gid_filter() returns true (1) if a given netdevice can be
|
* is_ndev_for_default_gid_filter() returns true if a given netdevice can be
|
||||||
* considered for deriving default RoCE GID, returns false (0) otherwise.
|
* considered for deriving default RoCE GID, returns false otherwise.
|
||||||
*/
|
*/
|
||||||
static int
|
static bool
|
||||||
is_ndev_for_default_gid_filter(struct ib_device *ib_dev, u8 port,
|
is_ndev_for_default_gid_filter(struct ib_device *ib_dev, u8 port,
|
||||||
struct net_device *rdma_ndev, void *cookie)
|
struct net_device *rdma_ndev, void *cookie)
|
||||||
{
|
{
|
||||||
struct net_device *cookie_ndev = cookie;
|
struct net_device *cookie_ndev = cookie;
|
||||||
int res;
|
bool res;
|
||||||
|
|
||||||
if (!rdma_ndev)
|
if (!rdma_ndev)
|
||||||
return 0;
|
return false;
|
||||||
|
|
||||||
rcu_read_lock();
|
rcu_read_lock();
|
||||||
|
|
||||||
|
@ -221,22 +223,22 @@ is_ndev_for_default_gid_filter(struct ib_device *ib_dev, u8 port,
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int pass_all_filter(struct ib_device *ib_dev, u8 port,
|
static bool pass_all_filter(struct ib_device *ib_dev, u8 port,
|
||||||
struct net_device *rdma_ndev, void *cookie)
|
struct net_device *rdma_ndev, void *cookie)
|
||||||
{
|
{
|
||||||
return 1;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int upper_device_filter(struct ib_device *ib_dev, u8 port,
|
static bool upper_device_filter(struct ib_device *ib_dev, u8 port,
|
||||||
struct net_device *rdma_ndev, void *cookie)
|
struct net_device *rdma_ndev, void *cookie)
|
||||||
{
|
{
|
||||||
int res;
|
bool res;
|
||||||
|
|
||||||
if (!rdma_ndev)
|
if (!rdma_ndev)
|
||||||
return 0;
|
return false;
|
||||||
|
|
||||||
if (rdma_ndev == cookie)
|
if (rdma_ndev == cookie)
|
||||||
return 1;
|
return true;
|
||||||
|
|
||||||
rcu_read_lock();
|
rcu_read_lock();
|
||||||
res = rdma_is_upper_dev_rcu(rdma_ndev, cookie);
|
res = rdma_is_upper_dev_rcu(rdma_ndev, cookie);
|
||||||
|
@ -257,7 +259,7 @@ static int upper_device_filter(struct ib_device *ib_dev, u8 port,
|
||||||
* is bond master device and rdma_ndev is its lower netdevice. It might
|
* is bond master device and rdma_ndev is its lower netdevice. It might
|
||||||
* not have been established as slave device yet.
|
* not have been established as slave device yet.
|
||||||
*/
|
*/
|
||||||
static int
|
static bool
|
||||||
is_upper_ndev_bond_master_filter(struct ib_device *ib_dev, u8 port,
|
is_upper_ndev_bond_master_filter(struct ib_device *ib_dev, u8 port,
|
||||||
struct net_device *rdma_ndev,
|
struct net_device *rdma_ndev,
|
||||||
void *cookie)
|
void *cookie)
|
||||||
|
@ -487,7 +489,8 @@ static void enum_all_gids_of_dev_cb(struct ib_device *ib_dev,
|
||||||
rdma_ndev, ndev))
|
rdma_ndev, ndev))
|
||||||
add_default_gids(ib_dev, port, rdma_ndev, ndev);
|
add_default_gids(ib_dev, port, rdma_ndev, ndev);
|
||||||
|
|
||||||
if (is_eth_port_of_netdev(ib_dev, port, rdma_ndev, ndev))
|
if (is_eth_port_of_netdev_filter(ib_dev, port,
|
||||||
|
rdma_ndev, ndev))
|
||||||
_add_netdev_ips(ib_dev, port, ndev);
|
_add_netdev_ips(ib_dev, port, ndev);
|
||||||
}
|
}
|
||||||
up_read(&net_rwsem);
|
up_read(&net_rwsem);
|
||||||
|
@ -651,9 +654,14 @@ static int netdevice_queue_work(struct netdev_event_work_cmd *cmds,
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct netdev_event_work_cmd add_cmd = {
|
static const struct netdev_event_work_cmd add_cmd = {
|
||||||
.cb = add_netdev_ips, .filter = is_eth_port_of_netdev};
|
.cb = add_netdev_ips,
|
||||||
|
.filter = is_eth_port_of_netdev_filter
|
||||||
|
};
|
||||||
|
|
||||||
static const struct netdev_event_work_cmd add_cmd_upper_ips = {
|
static const struct netdev_event_work_cmd add_cmd_upper_ips = {
|
||||||
.cb = add_netdev_upper_ips, .filter = is_eth_port_of_netdev};
|
.cb = add_netdev_upper_ips,
|
||||||
|
.filter = is_eth_port_of_netdev_filter
|
||||||
|
};
|
||||||
|
|
||||||
static void
|
static void
|
||||||
ndev_event_unlink(struct netdev_notifier_changeupper_info *changeupper_info,
|
ndev_event_unlink(struct netdev_notifier_changeupper_info *changeupper_info,
|
||||||
|
@ -724,12 +732,15 @@ static int netdevice_event(struct notifier_block *this, unsigned long event,
|
||||||
{
|
{
|
||||||
static const struct netdev_event_work_cmd del_cmd = {
|
static const struct netdev_event_work_cmd del_cmd = {
|
||||||
.cb = del_netdev_ips, .filter = pass_all_filter};
|
.cb = del_netdev_ips, .filter = pass_all_filter};
|
||||||
static const struct netdev_event_work_cmd bonding_default_del_cmd_join = {
|
static const struct netdev_event_work_cmd
|
||||||
.cb = del_netdev_default_ips_join, .filter = is_eth_port_inactive_slave};
|
bonding_default_del_cmd_join = {
|
||||||
|
.cb = del_netdev_default_ips_join,
|
||||||
|
.filter = is_eth_port_inactive_slave_filter
|
||||||
|
};
|
||||||
static const struct netdev_event_work_cmd
|
static const struct netdev_event_work_cmd
|
||||||
netdev_del_cmd = {
|
netdev_del_cmd = {
|
||||||
.cb = del_netdev_ips,
|
.cb = del_netdev_ips,
|
||||||
.filter = is_eth_port_of_netdev
|
.filter = is_eth_port_of_netdev_filter
|
||||||
};
|
};
|
||||||
static const struct netdev_event_work_cmd bonding_event_ips_del_cmd = {
|
static const struct netdev_event_work_cmd bonding_event_ips_del_cmd = {
|
||||||
.cb = del_netdev_upper_ips, .filter = upper_device_filter};
|
.cb = del_netdev_upper_ips, .filter = upper_device_filter};
|
||||||
|
@ -786,7 +797,8 @@ static void update_gid_event_work_handler(struct work_struct *_work)
|
||||||
struct update_gid_event_work *work =
|
struct update_gid_event_work *work =
|
||||||
container_of(_work, struct update_gid_event_work, work);
|
container_of(_work, struct update_gid_event_work, work);
|
||||||
|
|
||||||
ib_enum_all_roce_netdevs(is_eth_port_of_netdev, work->gid_attr.ndev,
|
ib_enum_all_roce_netdevs(is_eth_port_of_netdev_filter,
|
||||||
|
work->gid_attr.ndev,
|
||||||
callback_for_addr_gid_device_scan, work);
|
callback_for_addr_gid_device_scan, work);
|
||||||
|
|
||||||
dev_put(work->gid_attr.ndev);
|
dev_put(work->gid_attr.ndev);
|
||||||
|
|
Loading…
Reference in a new issue