miscdevice: Use module_misc_device() macro
authorPrasannaKumar Muralidharan <prasannatsmkumar@gmail.com>
Thu, 25 Aug 2016 17:00:50 +0000 (22:30 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 31 Aug 2016 12:12:35 +0000 (14:12 +0200)
This patch removes module_init()/module_exit() from driver code by using
module_misc_device() macro. All modules in this patch has a print
statement which is removed when module_misc_device() macro is used.
If undesirable this patch can be dropped entirely, this is the only
purpose of making this as a separate patch.

Signed-off-by: PrasannaKumar Muralidharan <prasannatsmkumar@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/um/drivers/harddog_kern.c
drivers/bluetooth/hci_vhci.c
drivers/char/bfin-otp.c
drivers/lightnvm/core.c

index 2d0266d0254d5eef5477a7da2d5e9ea36378ca46..3282787bbcfbaa69fb735929438a7f189c63000e 100644 (file)
@@ -175,27 +175,4 @@ static struct miscdevice harddog_miscdev = {
        .name           = "watchdog",
        .fops           = &harddog_fops,
 };
-
-static char banner[] __initdata = KERN_INFO "UML Watchdog Timer\n";
-
-static int __init harddog_init(void)
-{
-       int ret;
-
-       ret = misc_register(&harddog_miscdev);
-
-       if (ret)
-               return ret;
-
-       printk(banner);
-
-       return 0;
-}
-
-static void __exit harddog_exit(void)
-{
-       misc_deregister(&harddog_miscdev);
-}
-
-module_init(harddog_init);
-module_exit(harddog_exit);
+module_misc_device(harddog_miscdev);
index 3ff229b2e7f3746880a2db4deec9141d7d297a56..c4a75a18dcae5e8d4d1d7778b356a4a4a17e0bf4 100644 (file)
@@ -377,21 +377,7 @@ static struct miscdevice vhci_miscdev = {
        .fops   = &vhci_fops,
        .minor  = VHCI_MINOR,
 };
-
-static int __init vhci_init(void)
-{
-       BT_INFO("Virtual HCI driver ver %s", VERSION);
-
-       return misc_register(&vhci_miscdev);
-}
-
-static void __exit vhci_exit(void)
-{
-       misc_deregister(&vhci_miscdev);
-}
-
-module_init(vhci_init);
-module_exit(vhci_exit);
+module_misc_device(vhci_miscdev);
 
 module_param(amp, bool, 0644);
 MODULE_PARM_DESC(amp, "Create AMP controller device");
index 44660f1c484932cc24421372558b5e8ed0049147..35d46da754d79d14e598d785118303ef7f852849 100644 (file)
@@ -230,45 +230,7 @@ static struct miscdevice bfin_otp_misc_device = {
        .name     = DRIVER_NAME,
        .fops     = &bfin_otp_fops,
 };
-
-/**
- *     bfin_otp_init - Initialize module
- *
- *     Registers the device and notifier handler. Actual device
- *     initialization is handled by bfin_otp_open().
- */
-static int __init bfin_otp_init(void)
-{
-       int ret;
-
-       stampit();
-
-       ret = misc_register(&bfin_otp_misc_device);
-       if (ret) {
-               pr_init(KERN_ERR PFX "unable to register a misc device\n");
-               return ret;
-       }
-
-       pr_init(KERN_INFO PFX "initialized\n");
-
-       return 0;
-}
-
-/**
- *     bfin_otp_exit - Deinitialize module
- *
- *     Unregisters the device and notifier handler. Actual device
- *     deinitialization is handled by bfin_otp_close().
- */
-static void __exit bfin_otp_exit(void)
-{
-       stampit();
-
-       misc_deregister(&bfin_otp_misc_device);
-}
-
-module_init(bfin_otp_init);
-module_exit(bfin_otp_exit);
+module_misc_device(bfin_otp_misc_device);
 
 MODULE_AUTHOR("Mike Frysinger <vapier@gentoo.org>");
 MODULE_DESCRIPTION("Blackfin OTP Memory Interface");
index 9ebd2cfbd8490d212502cc077f8f2fe2e36a551a..c784ddcd4405a6a0c384eb9275915ff6e34784b2 100644 (file)
@@ -1171,27 +1171,10 @@ static struct miscdevice _nvm_misc = {
        .nodename       = "lightnvm/control",
        .fops           = &_ctl_fops,
 };
+module_misc_device(_nvm_misc);
 
 MODULE_ALIAS_MISCDEV(MISC_DYNAMIC_MINOR);
 
-static int __init nvm_mod_init(void)
-{
-       int ret;
-
-       ret = misc_register(&_nvm_misc);
-       if (ret)
-               pr_err("nvm: misc_register failed for control device");
-
-       return ret;
-}
-
-static void __exit nvm_mod_exit(void)
-{
-       misc_deregister(&_nvm_misc);
-}
-
 MODULE_AUTHOR("Matias Bjorling <m@bjorling.me>");
 MODULE_LICENSE("GPL v2");
 MODULE_VERSION("0.1");
-module_init(nvm_mod_init);
-module_exit(nvm_mod_exit);