dev_t was passed as an argument to visorchipset_file_init() which was storing that value in a global variable so that it can be used while cleanup. now we are no longer using the global variable in the cleanup so we donot need to keep the global variable anymore. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> --- v3: broke the previous patch in this series drivers/staging/unisys/visorchipset/file.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/staging/unisys/visorchipset/file.c b/drivers/staging/unisys/visorchipset/file.c index d62908d..a52939a4 100644 --- a/drivers/staging/unisys/visorchipset/file.c +++ b/drivers/staging/unisys/visorchipset/file.c @@ -30,7 +30,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); @@ -55,21 +54,20 @@ visorchipset_file_init(dev_t major_dev, struct visorchannel **controlvm_channel) int rc = 0; file_controlvm_channel = controlvm_channel; - majordev = major_dev; cdev_init(&file_cdev, &visorchipset_fops); file_cdev.owner = THIS_MODULE; - if (MAJOR(majordev) == 0) { + if (MAJOR(major_dev) == 0) { /* dynamic major device number registration required */ - if (alloc_chrdev_region(&majordev, 0, 1, MYDRVNAME) < 0) + if (alloc_chrdev_region(&major_dev, 0, 1, MYDRVNAME) < 0) return -1; registered = TRUE; } else { /* static major device number registration required */ - if (register_chrdev_region(majordev, 1, MYDRVNAME) < 0) + if (register_chrdev_region(major_dev, 1, MYDRVNAME) < 0) return -1; registered = TRUE; } - rc = cdev_add(&file_cdev, MKDEV(MAJOR(majordev), 0), 1); + rc = cdev_add(&file_cdev, major_dev, 1); if (rc < 0) return -1; return 0; -- 1.8.1.2 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel