浏览代码

staging: unisys: use error codes

we were just returning -1 to the calling function which was again
returning that if the module failed to load. Now we are returning the
actual error codes.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Sudip Mukherjee 10 年之前
父节点
当前提交
2e71c9e427
共有 1 个文件被更改,包括 7 次插入5 次删除
  1. 7 5
      drivers/staging/unisys/visorchipset/file.c

+ 7 - 5
drivers/staging/unisys/visorchipset/file.c

@@ -56,18 +56,20 @@ visorchipset_file_init(dev_t major_dev, struct visorchannel **controlvm_channel)
 	cdev_init(&file_cdev, &visorchipset_fops);
 	file_cdev.owner = THIS_MODULE;
 	if (MAJOR(major_dev) == 0) {
+		rc = alloc_chrdev_region(&major_dev, 0, 1, MYDRVNAME);
 		/* dynamic major device number registration required */
-		if (alloc_chrdev_region(&major_dev, 0, 1, MYDRVNAME) < 0)
-			return -1;
+		if (rc < 0)
+			return rc;
 	} else {
 		/* static major device number registration required */
-		if (register_chrdev_region(major_dev, 1, MYDRVNAME) < 0)
-			return -1;
+		rc = register_chrdev_region(major_dev, 1, MYDRVNAME);
+		if (rc < 0)
+			return rc;
 	}
 	rc = cdev_add(&file_cdev, MKDEV(MAJOR(major_dev), 0), 1);
 	if (rc < 0) {
 		unregister_chrdev_region(major_dev, 1);
-		return -1;
+		return rc;
 	}
 	return 0;
 }