diff options
author | Sudip Mukherjee <sudipm.mukherjee@gmail.com> | 2015-03-27 15:26:10 +0530 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-04-03 13:43:45 +0200 |
commit | 2e71c9e42799ad5a7ece815a14cd8467eaa3be26 (patch) | |
tree | 913b152786ca92eeba75ecf397b9e6785dda51f6 /drivers/staging | |
parent | 6bdb610142fc0433077e24bb36f90e7c52bcaded (diff) |
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/staging')
-rw-r--r-- | drivers/staging/unisys/visorchipset/file.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/staging/unisys/visorchipset/file.c b/drivers/staging/unisys/visorchipset/file.c index 5c5d35f10471..8bea8a9f9edf 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; } |