|
@@ -739,39 +739,7 @@ static struct pci_driver wdtpci_driver = {
|
|
|
.remove = __devexit_p(wdtpci_remove_one),
|
|
|
};
|
|
|
|
|
|
-
|
|
|
-/**
|
|
|
- * wdtpci_cleanup:
|
|
|
- *
|
|
|
- * Unload the watchdog. You cannot do this with any file handles open.
|
|
|
- * If your watchdog is set to continue ticking on close and you unload
|
|
|
- * it, well it keeps ticking. We won't get the interrupt but the board
|
|
|
- * will not touch PC memory so all is fine. You just have to load a new
|
|
|
- * module in xx seconds or reboot.
|
|
|
- */
|
|
|
-
|
|
|
-static void __exit wdtpci_cleanup(void)
|
|
|
-{
|
|
|
- pci_unregister_driver(&wdtpci_driver);
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
-/**
|
|
|
- * wdtpci_init:
|
|
|
- *
|
|
|
- * Set up the WDT watchdog board. All we have to do is grab the
|
|
|
- * resources we require and bitch if anyone beat us to them.
|
|
|
- * The open() function will actually kick the board off.
|
|
|
- */
|
|
|
-
|
|
|
-static int __init wdtpci_init(void)
|
|
|
-{
|
|
|
- return pci_register_driver(&wdtpci_driver);
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
-module_init(wdtpci_init);
|
|
|
-module_exit(wdtpci_cleanup);
|
|
|
+module_pci_driver(wdtpci_driver);
|
|
|
|
|
|
MODULE_AUTHOR("JP Nollmann, Alan Cox");
|
|
|
MODULE_DESCRIPTION("Driver for the ICS PCI-WDT500/501 watchdog cards");
|