summaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/core/sysfs.c
diff options
context:
space:
mode:
authorParav Pandit <parav@mellanox.com>2019-02-13 19:23:06 +0200
committerJason Gunthorpe <jgg@mellanox.com>2019-02-15 21:57:14 -0700
commit5f8f5499005c51656645a011bca81ffb66fcaaca (patch)
tree7cbe87ad40981de4ff096a28d912dc463b90c03c /drivers/infiniband/core/sysfs.c
parent5767198a14c796354e8a96fcdc7db12ee46a0623 (diff)
downloadlinux-5f8f5499005c51656645a011bca81ffb66fcaaca.tar.bz2
RDMA/core: Move device addition deletion to device.c
Move core device addition and removal from sysfs.c to device.c as device.c is more appropriate place for device management. Signed-off-by: Parav Pandit <parav@mellanox.com> Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Diffstat (limited to 'drivers/infiniband/core/sysfs.c')
-rw-r--r--drivers/infiniband/core/sysfs.c14
1 files changed, 2 insertions, 12 deletions
diff --git a/drivers/infiniband/core/sysfs.c b/drivers/infiniband/core/sysfs.c
index 7e51b406e89a..9335b15c2e38 100644
--- a/drivers/infiniband/core/sysfs.c
+++ b/drivers/infiniband/core/sysfs.c
@@ -1275,7 +1275,7 @@ static struct attribute *ib_dev_attrs[] = {
NULL,
};
-static const struct attribute_group dev_attr_group = {
+const struct attribute_group ib_dev_attr_group = {
.attrs = ib_dev_attrs,
};
@@ -1338,18 +1338,10 @@ int ib_device_register_sysfs(struct ib_device *device)
{
int ret;
- device->groups[0] = &dev_attr_group;
- device->dev.groups = device->groups;
-
- ret = device_add(&device->dev);
+ ret = ib_setup_port_attrs(device);
if (ret)
return ret;
- ret = ib_setup_port_attrs(device);
- if (ret) {
- device_del(&device->dev);
- return ret;
- }
if (device->ops.alloc_hw_stats)
setup_hw_stats(device, NULL, 0);
@@ -1363,6 +1355,4 @@ void ib_device_unregister_sysfs(struct ib_device *device)
kfree(device->hw_stats);
ib_free_port_attrs(device);
- /* Balances with device_add */
- device_del(&device->dev);
}