]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
pcmcia: Use module_pcmcia_driver for scsi drivers
authorVaishali Thakkar <vthakkar1994@gmail.com>
Sat, 4 Jul 2015 03:49:09 +0000 (09:19 +0530)
committerDominik Brodowski <linux@dominikbrodowski.net>
Mon, 1 Oct 2018 10:15:21 +0000 (12:15 +0200)
Use module_pcmcia_driver for drivers whose init and exit functions
only register and unregister, respectively.

A simplified version of the Coccinelle semantic patch that performs
this transformation is as follows:

@a@
identifier f, x;
@@
-static f(...) { return pcmcia_register_driver(&x); }

@b depends on a@
identifier e, a.x;
@@
-static e(...) { pcmcia_unregister_driver(&x); }

@c depends on a && b@
identifier a.f;
declarer name module_init;
@@
-module_init(f);

@d depends on a && b && c@
identifier b.e, a.x;
declarer name module_exit;
declarer name module_pcmcia_driver;
@@
-module_exit(e);
+module_pcmcia_driver(x);

Signed-off-by: Vaishali Thakkar <vthakkar1994@gmail.com>
Cc: James E.J. Bottomley <jejb@linux.vnet.ibm.com>
Cc: Martin K. Petersen <martin.petersen@oracle.com>
Cc: linux-scsi@vger.kernel.org
[linux@dominikbrodowski.net:
 - updated commit message
 - drop change to fdomain which got removed in the meantime]
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
drivers/scsi/pcmcia/aha152x_stub.c
drivers/scsi/pcmcia/nsp_cs.c
drivers/scsi/pcmcia/nsp_cs.h
drivers/scsi/pcmcia/qlogic_stub.c
drivers/scsi/pcmcia/sym53c500_cs.c

index 7d1609fa233c118e10afdd58463b40dcaad3e56b..df82a349e969839f536e5e8fb7337eeae19adbc6 100644 (file)
@@ -220,16 +220,4 @@ static struct pcmcia_driver aha152x_cs_driver = {
        .id_table       = aha152x_ids,
        .resume         = aha152x_resume,
 };
-
-static int __init init_aha152x_cs(void)
-{
-       return pcmcia_register_driver(&aha152x_cs_driver);
-}
-
-static void __exit exit_aha152x_cs(void)
-{
-       pcmcia_unregister_driver(&aha152x_cs_driver);
-}
-
-module_init(init_aha152x_cs);
-module_exit(exit_aha152x_cs);
+module_pcmcia_driver(aha152x_cs_driver);
index 5fb6eefc65413c8063c29541b422b31588d2bded..f3230494a8c95974de9dd59c802a6873a7645a40 100644 (file)
@@ -1742,19 +1742,6 @@ static struct pcmcia_driver nsp_driver = {
        .suspend        = nsp_cs_suspend,
        .resume         = nsp_cs_resume,
 };
-
-static int __init nsp_cs_init(void)
-{
-       return pcmcia_register_driver(&nsp_driver);
-}
-
-static void __exit nsp_cs_exit(void)
-{
-       pcmcia_unregister_driver(&nsp_driver);
-}
-
-
-module_init(nsp_cs_init)
-module_exit(nsp_cs_exit)
+module_pcmcia_driver(nsp_driver);
 
 /* end */
index afd64f0adc4baf62a8686fe1f9d554f58e60846b..ea5122f3396dfe6568c52c81a1b545e12d3a1f3b 100644 (file)
@@ -326,10 +326,6 @@ static struct Scsi_Host *nsp_detect(struct scsi_host_template *sht);
 /* Interrupt handler */
 //static irqreturn_t nspintr(int irq, void *dev_id);
 
-/* Module entry point*/
-static int  __init nsp_cs_init(void);
-static void __exit nsp_cs_exit(void);
-
 /* Debug */
 #ifdef NSP_DEBUG
 static void show_command (struct scsi_cmnd *SCpnt);
index 0556054764dc15fe6deeb0d2096aeb6bf0fd613d..d4e7e36254b0badb62484a39ac033b851bf4f4ec 100644 (file)
@@ -300,18 +300,7 @@ static struct pcmcia_driver qlogic_cs_driver = {
        .resume         = qlogic_resume,
 };
 
-static int __init init_qlogic_cs(void)
-{
-       return pcmcia_register_driver(&qlogic_cs_driver);
-}
-
-static void __exit exit_qlogic_cs(void)
-{
-       pcmcia_unregister_driver(&qlogic_cs_driver);
-}
-
 MODULE_AUTHOR("Tom Zerucha, Michael Griffith");
 MODULE_DESCRIPTION("Driver for the PCMCIA Qlogic FAS SCSI controllers");
 MODULE_LICENSE("GPL");
-module_init(init_qlogic_cs);
-module_exit(exit_qlogic_cs);
+module_pcmcia_driver(qlogic_cs_driver);
index 20011c8afbb5c5b00155c61f5c2f5b84c7cc69f4..a3b63bea0e5080d9407e110bc35a163f9ef49471 100644 (file)
@@ -880,18 +880,4 @@ static struct pcmcia_driver sym53c500_cs_driver = {
        .id_table       = sym53c500_ids,
        .resume         = sym53c500_resume,
 };
-
-static int __init
-init_sym53c500_cs(void)
-{
-       return pcmcia_register_driver(&sym53c500_cs_driver);
-}
-
-static void __exit
-exit_sym53c500_cs(void)
-{
-       pcmcia_unregister_driver(&sym53c500_cs_driver);
-}
-
-module_init(init_sym53c500_cs);
-module_exit(exit_sym53c500_cs);
+module_pcmcia_driver(sym53c500_cs_driver);