On Fri, Jun 12, 2015 at 2:09 AM, Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> wrote: > +++ b/drivers/infiniband/hw/hfi1/device.c > +int __init dev_init(void) > +{ > + int ret; > + > + ret = alloc_chrdev_region(&hfi1_dev, 0, HFI1_NMINORS, DRIVER_NAME); > + if (ret < 0) { > + pr_err("Could not allocate chrdev region (err %d)\n", -ret); > + goto done; > + } > + > + class = class_create(THIS_MODULE, class_name()); > + if (IS_ERR(class)) { > + ret = PTR_ERR(class); > + pr_err("Could not create device class (err %d)\n", -ret); > + unregister_chrdev_region(hfi1_dev, HFI1_NMINORS); > + } > + > +done: > + return ret; > +} so what's the role of the char-device? why should a low-level driver which is part of the upstream RDMA stack contain a char-device? Or. > + > +void dev_cleanup(void) > +{ > + if (class) { > + class_destroy(class); > + class = NULL; > + } > + > + unregister_chrdev_region(hfi1_dev, HFI1_NMINORS); > +} -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html