remove the variable "registered", which was used in the cleanup() to
detect if the driver has successfully initialized. the cleanup()
is called from module_exit, so its obvious that the module has
successfully initialized. if the initialization had failed, then
we will never be in the cleanup().

Signed-off-by: Sudip Mukherjee <su...@vectorindia.org>
---

v5: reordered the patch series
v4: messed up the subject in v3
v3: broke the previous patch in series

 drivers/staging/unisys/visorchipset/file.c | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/drivers/staging/unisys/visorchipset/file.c 
b/drivers/staging/unisys/visorchipset/file.c
index 9ca7f1e..b426762 100644
--- a/drivers/staging/unisys/visorchipset/file.c
+++ b/drivers/staging/unisys/visorchipset/file.c
@@ -31,7 +31,6 @@
 static struct cdev file_cdev;
 static struct visorchannel **file_controlvm_channel;
 static dev_t majordev = -1; /**< indicates major num for device */
-static BOOL registered = FALSE;
 
 static int visorchipset_open(struct inode *inode, struct file *file);
 static int visorchipset_release(struct inode *inode, struct file *file);
@@ -62,12 +61,10 @@ visorchipset_file_init(dev_t major_dev, struct visorchannel 
**controlvm_channel)
                /* dynamic major device number registration required */
                if (alloc_chrdev_region(&majordev, 0, 1, MYDRVNAME) < 0)
                        return -1;
-               registered = TRUE;
        } else {
                /* static major device number registration required */
                if (register_chrdev_region(majordev, 1, MYDRVNAME) < 0)
                        return -1;
-               registered = TRUE;
        }
        rc = cdev_add(&file_cdev, MKDEV(MAJOR(majordev), 0), 1);
        if (rc  < 0)
@@ -81,12 +78,9 @@ visorchipset_file_cleanup(void)
        if (file_cdev.ops != NULL)
                cdev_del(&file_cdev);
        file_cdev.ops = NULL;
-       if (registered) {
-               if (MAJOR(majordev) >= 0) {
-                       unregister_chrdev_region(majordev, 1);
-                       majordev = MKDEV(0, 0);
-               }
-               registered = FALSE;
+       if (MAJOR(majordev) >= 0) {
+               unregister_chrdev_region(majordev, 1);
+               majordev = MKDEV(0, 0);
        }
 }
 
-- 
1.8.1.2

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

Reply via email to