1
0
Fork 0

staging: unisys: use local variable in cleanup

the dev_t was being stored in visorchipset_platform_device.dev.devt
while initializing the module. so pass that value as an argument to
cleanup() so that it can use this local variable instead of the global
variable.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
hifive-unleashed-5.1
Sudip Mukherjee 2015-03-24 20:47:28 +05:30 committed by Greg Kroah-Hartman
parent a1191146c9
commit addceb12a3
3 changed files with 5 additions and 5 deletions

View File

@ -73,13 +73,13 @@ visorchipset_file_init(dev_t major_dev, struct visorchannel **controlvm_channel)
}
void
visorchipset_file_cleanup(void)
visorchipset_file_cleanup(dev_t major_dev)
{
if (file_cdev.ops != NULL)
cdev_del(&file_cdev);
file_cdev.ops = NULL;
if (MAJOR(majordev) >= 0) {
unregister_chrdev_region(majordev, 1);
if (MAJOR(major_dev) >= 0) {
unregister_chrdev_region(major_dev, 1);
majordev = MKDEV(0, 0);
}
}

View File

@ -22,6 +22,6 @@
int visorchipset_file_init(dev_t majorDev,
struct visorchannel **pControlVm_channel);
void visorchipset_file_cleanup(void);
void visorchipset_file_cleanup(dev_t major_dev);
#endif

View File

@ -2278,7 +2278,7 @@ visorchipset_exit(void)
visorchannel_destroy(controlvm_channel);
visorchipset_file_cleanup();
visorchipset_file_cleanup(visorchipset_platform_device.dev.devt);
POSTCODE_LINUX_2(DRIVER_EXIT_PC, POSTCODE_SEVERITY_INFO);
}