Fix the declaration so it is a single line. Fix CamelCase parameter
names:

MajorDev => major_dev
pControlVm_channel => controlvm_channel

Remove the unnecessary gotos and just return directly in error cases.
Fix the last error condition so it returns the result of cdev_add()
instead of always zero.

Signed-off-by: Benjamin Romer <benjamin.ro...@unisys.com>
---
 drivers/staging/unisys/visorchipset/file.c | 22 ++++++++++------------
 drivers/staging/unisys/visorchipset/file.h |  2 +-
 2 files changed, 11 insertions(+), 13 deletions(-)

diff --git a/drivers/staging/unisys/visorchipset/file.c 
b/drivers/staging/unisys/visorchipset/file.c
index 373fa36..cb5bcb9 100644
--- a/drivers/staging/unisys/visorchipset/file.c
+++ b/drivers/staging/unisys/visorchipset/file.c
@@ -57,13 +57,12 @@ static const struct file_operations visorchipset_fops = {
        .mmap = visorchipset_mmap,
 };
 
-int
-visorchipset_file_init(dev_t majorDev, VISORCHANNEL **pControlVm_channel)
+int visorchipset_file_init(dev_t major_dev, VISORCHANNEL **controlvm_channel)
 {
-       int rc = -1;
+       int rc = 0;
 
-       PControlVm_channel = pControlVm_channel;
-       MajorDev = majorDev;
+       PControlVm_channel = controlvm_channel;
+       MajorDev = major_dev;
        cdev_init(&Cdev, &visorchipset_fops);
        Cdev.owner = THIS_MODULE;
        if (MAJOR(MajorDev) == 0) {
@@ -71,7 +70,7 @@ visorchipset_file_init(dev_t majorDev, VISORCHANNEL 
**pControlVm_channel)
                if (alloc_chrdev_region(&MajorDev, 0, 1, MYDRVNAME) < 0) {
                        ERRDRV("Unable to allocate+register char device %s",
                               MYDRVNAME);
-                       goto Away;
+                       return -1;
                }
                Registered = TRUE;
                INFODRV("New major number %d registered\n", MAJOR(MajorDev));
@@ -79,20 +78,19 @@ visorchipset_file_init(dev_t majorDev, VISORCHANNEL 
**pControlVm_channel)
                /* static major device number registration required */
                if (register_chrdev_region(MajorDev, 1, MYDRVNAME) < 0) {
                        ERRDRV("Unable to register char device %s", MYDRVNAME);
-                       goto Away;
+                       return -1;
                }
                Registered = TRUE;
                INFODRV("Static major number %d registered\n", MAJOR(MajorDev));
        }
-       if (cdev_add(&Cdev, MKDEV(MAJOR(MajorDev), 0), 1) < 0) {
+       rc = cdev_add(&Cdev, MKDEV(MAJOR(MajorDev), 0), 1);
+       if (rc  < 0) {
                ERRDRV("failed to create char device: (status=%d)\n", rc);
-               goto Away;
+               return -1;
        }
        INFODRV("Registered char device for %s (major=%d)",
                MYDRVNAME, MAJOR(MajorDev));
-       rc = 0;
-Away:
-       return rc;
+       return 0;
 }
 
 void
diff --git a/drivers/staging/unisys/visorchipset/file.h 
b/drivers/staging/unisys/visorchipset/file.h
index 21bb906..fb434eb 100644
--- a/drivers/staging/unisys/visorchipset/file.h
+++ b/drivers/staging/unisys/visorchipset/file.h
@@ -20,7 +20,7 @@
 
 #include "globals.h"
 
-int visorchipset_file_init(dev_t majorDev, VISORCHANNEL **pControlVm_channel);
+int visorchipset_file_init(dev_t major_dev, VISORCHANNEL **controlvm_channel);
 void visorchipset_file_cleanup(void);
 
 #endif
-- 
2.1.0

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to