aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorWim Van Sebroeck <wim@iguana.be>2012-05-04 08:43:25 -0400
committerWim Van Sebroeck <wim@iguana.be>2012-05-23 10:23:53 -0400
commit5ce9c371c788638890980b27f0cd8af7071b3a50 (patch)
tree948f891f9211d61631199bdefb2d8adb44f951f4 /drivers
parent8f90a3ae8f67a6c521e2d8fcb488262833f2a4cd (diff)
watchdog: Use module_pci_driver
This patch converts the PCI watchdog drivers so that they use the module_pci_driver() macro. This makes the code smaller and simpler. Signed-off-by: Wim Van Sebroeck <wim@iguana.be> Cc: Thomas Mingarelli <thomas.mingarelli@hp.com> Cc: Marc Vertes <marc.vertes@sigfox.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/watchdog/hpwdt.c13
-rw-r--r--drivers/watchdog/i6300esb.c14
-rw-r--r--drivers/watchdog/pcwd_pci.c18
-rw-r--r--drivers/watchdog/via_wdt.c18
-rw-r--r--drivers/watchdog/wdt_pci.c34
5 files changed, 9 insertions, 88 deletions
diff --git a/drivers/watchdog/hpwdt.c b/drivers/watchdog/hpwdt.c
index 23885f2d56a0..2b763815aeec 100644
--- a/drivers/watchdog/hpwdt.c
+++ b/drivers/watchdog/hpwdt.c
@@ -861,16 +861,6 @@ static struct pci_driver hpwdt_driver = {
861 .remove = __devexit_p(hpwdt_exit), 861 .remove = __devexit_p(hpwdt_exit),
862}; 862};
863 863
864static void __exit hpwdt_cleanup(void)
865{
866 pci_unregister_driver(&hpwdt_driver);
867}
868
869static int __init hpwdt_init(void)
870{
871 return pci_register_driver(&hpwdt_driver);
872}
873
874MODULE_AUTHOR("Tom Mingarelli"); 864MODULE_AUTHOR("Tom Mingarelli");
875MODULE_DESCRIPTION("hp watchdog driver"); 865MODULE_DESCRIPTION("hp watchdog driver");
876MODULE_LICENSE("GPL"); 866MODULE_LICENSE("GPL");
@@ -889,5 +879,4 @@ module_param(allow_kdump, int, 0);
889MODULE_PARM_DESC(allow_kdump, "Start a kernel dump after NMI occurs"); 879MODULE_PARM_DESC(allow_kdump, "Start a kernel dump after NMI occurs");
890#endif /* !CONFIG_HPWDT_NMI_DECODING */ 880#endif /* !CONFIG_HPWDT_NMI_DECODING */
891 881
892module_init(hpwdt_init); 882module_pci_driver(hpwdt_driver);
893module_exit(hpwdt_cleanup);
diff --git a/drivers/watchdog/i6300esb.c b/drivers/watchdog/i6300esb.c
index 738032a36bcf..276877d5b6a3 100644
--- a/drivers/watchdog/i6300esb.c
+++ b/drivers/watchdog/i6300esb.c
@@ -492,19 +492,7 @@ static struct pci_driver esb_driver = {
492 .shutdown = esb_shutdown, 492 .shutdown = esb_shutdown,
493}; 493};
494 494
495static int __init watchdog_init(void) 495module_pci_driver(esb_driver);
496{
497 return pci_register_driver(&esb_driver);
498}
499
500static void __exit watchdog_cleanup(void)
501{
502 pci_unregister_driver(&esb_driver);
503 pr_info("Watchdog Module Unloaded\n");
504}
505
506module_init(watchdog_init);
507module_exit(watchdog_cleanup);
508 496
509MODULE_AUTHOR("Ross Biro and David Härdeman"); 497MODULE_AUTHOR("Ross Biro and David Härdeman");
510MODULE_DESCRIPTION("Watchdog driver for Intel 6300ESB chipsets"); 498MODULE_DESCRIPTION("Watchdog driver for Intel 6300ESB chipsets");
diff --git a/drivers/watchdog/pcwd_pci.c b/drivers/watchdog/pcwd_pci.c
index c891399bed6a..ee6900da8678 100644
--- a/drivers/watchdog/pcwd_pci.c
+++ b/drivers/watchdog/pcwd_pci.c
@@ -707,6 +707,7 @@ static int __devinit pcipcwd_card_init(struct pci_dev *pdev,
707 goto err_out_disable_device; 707 goto err_out_disable_device;
708 } 708 }
709 709
710 spin_lock_init(&pcipcwd_private.io_lock);
710 pcipcwd_private.pdev = pdev; 711 pcipcwd_private.pdev = pdev;
711 pcipcwd_private.io_addr = pci_resource_start(pdev, 0); 712 pcipcwd_private.io_addr = pci_resource_start(pdev, 0);
712 713
@@ -814,22 +815,7 @@ static struct pci_driver pcipcwd_driver = {
814 .remove = __devexit_p(pcipcwd_card_exit), 815 .remove = __devexit_p(pcipcwd_card_exit),
815}; 816};
816 817
817static int __init pcipcwd_init_module(void) 818module_pci_driver(pcipcwd_driver);
818{
819 spin_lock_init(&pcipcwd_private.io_lock);
820
821 return pci_register_driver(&pcipcwd_driver);
822}
823
824static void __exit pcipcwd_cleanup_module(void)
825{
826 pci_unregister_driver(&pcipcwd_driver);
827
828 pr_info("Watchdog Module Unloaded\n");
829}
830
831module_init(pcipcwd_init_module);
832module_exit(pcipcwd_cleanup_module);
833 819
834MODULE_AUTHOR("Wim Van Sebroeck <wim@iguana.be>"); 820MODULE_AUTHOR("Wim Van Sebroeck <wim@iguana.be>");
835MODULE_DESCRIPTION("Berkshire PCI-PC Watchdog driver"); 821MODULE_DESCRIPTION("Berkshire PCI-PC Watchdog driver");
diff --git a/drivers/watchdog/via_wdt.c b/drivers/watchdog/via_wdt.c
index 465e08273c97..5603e31afdab 100644
--- a/drivers/watchdog/via_wdt.c
+++ b/drivers/watchdog/via_wdt.c
@@ -202,6 +202,9 @@ static int __devinit wdt_probe(struct pci_dev *pdev,
202 goto err_out_release; 202 goto err_out_release;
203 } 203 }
204 204
205 if (timeout < 1 || timeout > WDT_TIMEOUT_MAX)
206 timeout = WDT_TIMEOUT;
207
205 wdt_dev.timeout = timeout; 208 wdt_dev.timeout = timeout;
206 watchdog_set_nowayout(&wdt_dev, nowayout); 209 watchdog_set_nowayout(&wdt_dev, nowayout);
207 if (readl(wdt_mem) & VIA_WDT_FIRED) 210 if (readl(wdt_mem) & VIA_WDT_FIRED)
@@ -250,20 +253,7 @@ static struct pci_driver wdt_driver = {
250 .remove = __devexit_p(wdt_remove), 253 .remove = __devexit_p(wdt_remove),
251}; 254};
252 255
253static int __init wdt_init(void) 256module_pci_driver(wdt_driver);
254{
255 if (timeout < 1 || timeout > WDT_TIMEOUT_MAX)
256 timeout = WDT_TIMEOUT;
257 return pci_register_driver(&wdt_driver);
258}
259
260static void __exit wdt_exit(void)
261{
262 pci_unregister_driver(&wdt_driver);
263}
264
265module_init(wdt_init);
266module_exit(wdt_exit);
267 257
268MODULE_AUTHOR("Marc Vertes"); 258MODULE_AUTHOR("Marc Vertes");
269MODULE_DESCRIPTION("Driver for watchdog timer on VIA chipset"); 259MODULE_DESCRIPTION("Driver for watchdog timer on VIA chipset");
diff --git a/drivers/watchdog/wdt_pci.c b/drivers/watchdog/wdt_pci.c
index 1c888c7d4cce..e32654efdbb6 100644
--- a/drivers/watchdog/wdt_pci.c
+++ b/drivers/watchdog/wdt_pci.c
@@ -739,39 +739,7 @@ static struct pci_driver wdtpci_driver = {
739 .remove = __devexit_p(wdtpci_remove_one), 739 .remove = __devexit_p(wdtpci_remove_one),
740}; 740};
741 741
742 742module_pci_driver(wdtpci_driver);
743/**
744 * wdtpci_cleanup:
745 *
746 * Unload the watchdog. You cannot do this with any file handles open.
747 * If your watchdog is set to continue ticking on close and you unload
748 * it, well it keeps ticking. We won't get the interrupt but the board
749 * will not touch PC memory so all is fine. You just have to load a new
750 * module in xx seconds or reboot.
751 */
752
753static void __exit wdtpci_cleanup(void)
754{
755 pci_unregister_driver(&wdtpci_driver);
756}
757
758
759/**
760 * wdtpci_init:
761 *
762 * Set up the WDT watchdog board. All we have to do is grab the
763 * resources we require and bitch if anyone beat us to them.
764 * The open() function will actually kick the board off.
765 */
766
767static int __init wdtpci_init(void)
768{
769 return pci_register_driver(&wdtpci_driver);
770}
771
772
773module_init(wdtpci_init);
774module_exit(wdtpci_cleanup);
775 743
776MODULE_AUTHOR("JP Nollmann, Alan Cox"); 744MODULE_AUTHOR("JP Nollmann, Alan Cox");
777MODULE_DESCRIPTION("Driver for the ICS PCI-WDT500/501 watchdog cards"); 745MODULE_DESCRIPTION("Driver for the ICS PCI-WDT500/501 watchdog cards");