Lines Matching refs:ib_dev

185 static void free_netdevs(struct ib_device *ib_dev);
776 pdata->ib_dev = device; in alloc_port_data()
1313 static void prevent_dealloc_device(struct ib_device *ib_dev) in prevent_dealloc_device() argument
1416 static void __ib_unregister_device(struct ib_device *ib_dev) in __ib_unregister_device() argument
1425 mutex_lock(&ib_dev->unregistration_lock); in __ib_unregister_device()
1426 if (!refcount_read(&ib_dev->refcount)) in __ib_unregister_device()
1429 disable_device(ib_dev); in __ib_unregister_device()
1432 free_netdevs(ib_dev); in __ib_unregister_device()
1434 ib_device_unregister_sysfs(ib_dev); in __ib_unregister_device()
1435 device_del(&ib_dev->dev); in __ib_unregister_device()
1436 ib_device_unregister_rdmacg(ib_dev); in __ib_unregister_device()
1437 ib_cache_cleanup_one(ib_dev); in __ib_unregister_device()
1443 if (ib_dev->ops.dealloc_driver && in __ib_unregister_device()
1444 ib_dev->ops.dealloc_driver != prevent_dealloc_device) { in __ib_unregister_device()
1445 WARN_ON(kref_read(&ib_dev->dev.kobj.kref) <= 1); in __ib_unregister_device()
1446 ib_dealloc_device(ib_dev); in __ib_unregister_device()
1449 mutex_unlock(&ib_dev->unregistration_lock); in __ib_unregister_device()
1466 void ib_unregister_device(struct ib_device *ib_dev) in ib_unregister_device() argument
1468 get_device(&ib_dev->dev); in ib_unregister_device()
1469 __ib_unregister_device(ib_dev); in ib_unregister_device()
1470 put_device(&ib_dev->dev); in ib_unregister_device()
1488 void ib_unregister_device_and_put(struct ib_device *ib_dev) in ib_unregister_device_and_put() argument
1490 WARN_ON(!ib_dev->ops.dealloc_driver); in ib_unregister_device_and_put()
1491 get_device(&ib_dev->dev); in ib_unregister_device_and_put()
1492 ib_device_put(ib_dev); in ib_unregister_device_and_put()
1493 __ib_unregister_device(ib_dev); in ib_unregister_device_and_put()
1494 put_device(&ib_dev->dev); in ib_unregister_device_and_put()
1514 struct ib_device *ib_dev; in ib_unregister_driver() local
1518 xa_for_each (&devices, index, ib_dev) { in ib_unregister_driver()
1519 if (ib_dev->ops.driver_id != driver_id) in ib_unregister_driver()
1522 get_device(&ib_dev->dev); in ib_unregister_driver()
1525 WARN_ON(!ib_dev->ops.dealloc_driver); in ib_unregister_driver()
1526 __ib_unregister_device(ib_dev); in ib_unregister_driver()
1528 put_device(&ib_dev->dev); in ib_unregister_driver()
1537 struct ib_device *ib_dev = in ib_unregister_work() local
1540 __ib_unregister_device(ib_dev); in ib_unregister_work()
1541 put_device(&ib_dev->dev); in ib_unregister_work()
1555 void ib_unregister_device_queued(struct ib_device *ib_dev) in ib_unregister_device_queued() argument
1557 WARN_ON(!refcount_read(&ib_dev->refcount)); in ib_unregister_device_queued()
1558 WARN_ON(!ib_dev->ops.dealloc_driver); in ib_unregister_device_queued()
1559 get_device(&ib_dev->dev); in ib_unregister_device_queued()
1560 if (!queue_work(system_unbound_wq, &ib_dev->unregistration_work)) in ib_unregister_device_queued()
1561 put_device(&ib_dev->dev); in ib_unregister_device_queued()
2094 int ib_device_set_netdev(struct ib_device *ib_dev, struct net_device *ndev, in ib_device_set_netdev() argument
2106 ret = alloc_port_data(ib_dev); in ib_device_set_netdev()
2110 if (!rdma_is_port_valid(ib_dev, port)) in ib_device_set_netdev()
2113 pdata = &ib_dev->port_data[port]; in ib_device_set_netdev()
2135 static void free_netdevs(struct ib_device *ib_dev) in free_netdevs() argument
2140 if (!ib_dev->port_data) in free_netdevs()
2143 rdma_for_each_port (ib_dev, port) { in free_netdevs()
2144 struct ib_port_data *pdata = &ib_dev->port_data[port]; in free_netdevs()
2168 struct net_device *ib_device_get_netdev(struct ib_device *ib_dev, in ib_device_get_netdev() argument
2174 if (!rdma_is_port_valid(ib_dev, port)) in ib_device_get_netdev()
2177 pdata = &ib_dev->port_data[port]; in ib_device_get_netdev()
2183 if (ib_dev->ops.get_netdev) in ib_device_get_netdev()
2184 res = ib_dev->ops.get_netdev(ib_dev, port); in ib_device_get_netdev()
2226 cur->ib_dev->ops.driver_id == driver_id) && in ib_device_get_by_netdev()
2227 ib_device_try_get(cur->ib_dev)) { in ib_device_get_by_netdev()
2228 res = cur->ib_dev; in ib_device_get_by_netdev()
2250 void ib_enum_roce_netdev(struct ib_device *ib_dev, in ib_enum_roce_netdev() argument
2258 rdma_for_each_port (ib_dev, port) in ib_enum_roce_netdev()
2259 if (rdma_protocol_roce(ib_dev, port)) { in ib_enum_roce_netdev()
2261 ib_device_get_netdev(ib_dev, port); in ib_enum_roce_netdev()
2263 if (filter(ib_dev, port, idev, filter_cookie)) in ib_enum_roce_netdev()
2264 cb(ib_dev, port, idev, cookie); in ib_enum_roce_netdev()