- if (dtlk_dev_probe() == 0)
- printk(", MAJOR %d\n", dtlk_major);
-
- devfs_mk_cdev(MKDEV(dtlk_major, DTLK_MINOR),
- S_IFCHR | S_IRUSR | S_IWUSR, "dtlk");
+ err = dtlk_dev_probe();
+ if (err) {
+ unregister_chrdev(dtlk_major, "dtlk");
+ return err;
+ }
+ printk(", MAJOR %d\n", dtlk_major);