diff options
author | Roland Dreier <roland@purestorage.com> | 2011-05-23 14:10:05 -0400 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2011-05-23 14:10:05 -0400 |
commit | 71c29bd5c23559c9cabcca3bfb3152ecc5efcd75 (patch) | |
tree | d4c1e56584e664b0bad103370955a6883f247cf3 /drivers/infiniband | |
parent | 257313b2a87795e07a0bdf58d0fffbdba8b31051 (diff) |
IB/uverbs: Add devnode method to set path/mode
We want udev to create a device node under /dev/infiniband with
permission 0666 for uverbsX devices, so add a devnode method to set the
appropriate info.
Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband')
-rw-r--r-- | drivers/infiniband/core/uverbs_main.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c index ec83e9fe387b..e49a85f8a44d 100644 --- a/drivers/infiniband/core/uverbs_main.c +++ b/drivers/infiniband/core/uverbs_main.c | |||
@@ -824,6 +824,12 @@ static void ib_uverbs_remove_one(struct ib_device *device) | |||
824 | kfree(uverbs_dev); | 824 | kfree(uverbs_dev); |
825 | } | 825 | } |
826 | 826 | ||
827 | static char *uverbs_devnode(struct device *dev, mode_t *mode) | ||
828 | { | ||
829 | *mode = 0666; | ||
830 | return kasprintf(GFP_KERNEL, "infiniband/%s", dev_name(dev)); | ||
831 | } | ||
832 | |||
827 | static int __init ib_uverbs_init(void) | 833 | static int __init ib_uverbs_init(void) |
828 | { | 834 | { |
829 | int ret; | 835 | int ret; |
@@ -842,6 +848,8 @@ static int __init ib_uverbs_init(void) | |||
842 | goto out_chrdev; | 848 | goto out_chrdev; |
843 | } | 849 | } |
844 | 850 | ||
851 | uverbs_class->devnode = uverbs_devnode; | ||
852 | |||
845 | ret = class_create_file(uverbs_class, &class_attr_abi_version.attr); | 853 | ret = class_create_file(uverbs_class, &class_attr_abi_version.attr); |
846 | if (ret) { | 854 | if (ret) { |
847 | printk(KERN_ERR "user_verbs: couldn't create abi_version attribute\n"); | 855 | printk(KERN_ERR "user_verbs: couldn't create abi_version attribute\n"); |