> > +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?
Someone from Mike's team can chime in, but I believe this supports non-verbs interfaces (i.e. PSM), similar to what's done for qib.