diff options
author | Roland Dreier <roland@purestorage.com> | 2011-05-23 11:21:47 -0700 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2011-05-23 11:24:28 -0700 |
commit | c3af0980ce01dfb8e946990c3ae4c3727b1e9f26 (patch) | |
tree | 13552e10c7b36da435d4aa950a9a569e561f3dff /drivers/infiniband/core/user_mad.c | |
parent | IB/mad: Return EPROTONOSUPPORT when an RDMA device lacks the QP required (diff) | |
download | wireguard-linux-c3af0980ce01dfb8e946990c3ae4c3727b1e9f26.tar.xz wireguard-linux-c3af0980ce01dfb8e946990c3ae4c3727b1e9f26.zip |
IB: Add devnode methods to cm_class and umad_class
We want the ucmX, umadX and issmX device nodes to show up under
/dev/infiniband, and additionally ucmX should have mode 0666. Add
appropriate devnode methods to their class structs for this.
Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband/core/user_mad.c')
-rw-r--r-- | drivers/infiniband/core/user_mad.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/infiniband/core/user_mad.c b/drivers/infiniband/core/user_mad.c index cd1996d0ad08..8d261b6ea5fe 100644 --- a/drivers/infiniband/core/user_mad.c +++ b/drivers/infiniband/core/user_mad.c @@ -1176,6 +1176,11 @@ static void ib_umad_remove_one(struct ib_device *device) kref_put(&umad_dev->ref, ib_umad_release_dev); } +static char *umad_devnode(struct device *dev, mode_t *mode) +{ + return kasprintf(GFP_KERNEL, "infiniband/%s", dev_name(dev)); +} + static int __init ib_umad_init(void) { int ret; @@ -1194,6 +1199,8 @@ static int __init ib_umad_init(void) goto out_chrdev; } + umad_class->devnode = umad_devnode; + ret = class_create_file(umad_class, &class_attr_abi_version.attr); if (ret) { printk(KERN_ERR "user_mad: couldn't create abi_version attribute\n"); |