summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorSudip Mukherjee <sudipm.mukherjee@gmail.com>2015-03-27 09:56:10 (GMT)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-04-03 11:43:45 (GMT)
commit2e71c9e42799ad5a7ece815a14cd8467eaa3be26 (patch)
tree913b152786ca92eeba75ecf397b9e6785dda51f6 /drivers
parent6bdb610142fc0433077e24bb36f90e7c52bcaded (diff)
downloadlinux-2e71c9e42799ad5a7ece815a14cd8467eaa3be26.tar.xz
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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/staging/unisys/visorchipset/file.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/staging/unisys/visorchipset/file.c b/drivers/staging/unisys/visorchipset/file.c
index 5c5d35f..8bea8a9 100644
--- a/drivers/staging/unisys/visorchipset/file.c
+++ b/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;
}