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>
This commit is contained in:
parent
8f90a3ae8f
commit
5ce9c371c7
|
@ -861,16 +861,6 @@ static struct pci_driver hpwdt_driver = {
|
||||||
.remove = __devexit_p(hpwdt_exit),
|
.remove = __devexit_p(hpwdt_exit),
|
||||||
};
|
};
|
||||||
|
|
||||||
static void __exit hpwdt_cleanup(void)
|
|
||||||
{
|
|
||||||
pci_unregister_driver(&hpwdt_driver);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int __init hpwdt_init(void)
|
|
||||||
{
|
|
||||||
return pci_register_driver(&hpwdt_driver);
|
|
||||||
}
|
|
||||||
|
|
||||||
MODULE_AUTHOR("Tom Mingarelli");
|
MODULE_AUTHOR("Tom Mingarelli");
|
||||||
MODULE_DESCRIPTION("hp watchdog driver");
|
MODULE_DESCRIPTION("hp watchdog driver");
|
||||||
MODULE_LICENSE("GPL");
|
MODULE_LICENSE("GPL");
|
||||||
|
@ -889,5 +879,4 @@ module_param(allow_kdump, int, 0);
|
||||||
MODULE_PARM_DESC(allow_kdump, "Start a kernel dump after NMI occurs");
|
MODULE_PARM_DESC(allow_kdump, "Start a kernel dump after NMI occurs");
|
||||||
#endif /* !CONFIG_HPWDT_NMI_DECODING */
|
#endif /* !CONFIG_HPWDT_NMI_DECODING */
|
||||||
|
|
||||||
module_init(hpwdt_init);
|
module_pci_driver(hpwdt_driver);
|
||||||
module_exit(hpwdt_cleanup);
|
|
||||||
|
|
|
@ -492,19 +492,7 @@ static struct pci_driver esb_driver = {
|
||||||
.shutdown = esb_shutdown,
|
.shutdown = esb_shutdown,
|
||||||
};
|
};
|
||||||
|
|
||||||
static int __init watchdog_init(void)
|
module_pci_driver(esb_driver);
|
||||||
{
|
|
||||||
return pci_register_driver(&esb_driver);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void __exit watchdog_cleanup(void)
|
|
||||||
{
|
|
||||||
pci_unregister_driver(&esb_driver);
|
|
||||||
pr_info("Watchdog Module Unloaded\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
module_init(watchdog_init);
|
|
||||||
module_exit(watchdog_cleanup);
|
|
||||||
|
|
||||||
MODULE_AUTHOR("Ross Biro and David Härdeman");
|
MODULE_AUTHOR("Ross Biro and David Härdeman");
|
||||||
MODULE_DESCRIPTION("Watchdog driver for Intel 6300ESB chipsets");
|
MODULE_DESCRIPTION("Watchdog driver for Intel 6300ESB chipsets");
|
||||||
|
|
|
@ -707,6 +707,7 @@ static int __devinit pcipcwd_card_init(struct pci_dev *pdev,
|
||||||
goto err_out_disable_device;
|
goto err_out_disable_device;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
spin_lock_init(&pcipcwd_private.io_lock);
|
||||||
pcipcwd_private.pdev = pdev;
|
pcipcwd_private.pdev = pdev;
|
||||||
pcipcwd_private.io_addr = pci_resource_start(pdev, 0);
|
pcipcwd_private.io_addr = pci_resource_start(pdev, 0);
|
||||||
|
|
||||||
|
@ -814,22 +815,7 @@ static struct pci_driver pcipcwd_driver = {
|
||||||
.remove = __devexit_p(pcipcwd_card_exit),
|
.remove = __devexit_p(pcipcwd_card_exit),
|
||||||
};
|
};
|
||||||
|
|
||||||
static int __init pcipcwd_init_module(void)
|
module_pci_driver(pcipcwd_driver);
|
||||||
{
|
|
||||||
spin_lock_init(&pcipcwd_private.io_lock);
|
|
||||||
|
|
||||||
return pci_register_driver(&pcipcwd_driver);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void __exit pcipcwd_cleanup_module(void)
|
|
||||||
{
|
|
||||||
pci_unregister_driver(&pcipcwd_driver);
|
|
||||||
|
|
||||||
pr_info("Watchdog Module Unloaded\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
module_init(pcipcwd_init_module);
|
|
||||||
module_exit(pcipcwd_cleanup_module);
|
|
||||||
|
|
||||||
MODULE_AUTHOR("Wim Van Sebroeck <wim@iguana.be>");
|
MODULE_AUTHOR("Wim Van Sebroeck <wim@iguana.be>");
|
||||||
MODULE_DESCRIPTION("Berkshire PCI-PC Watchdog driver");
|
MODULE_DESCRIPTION("Berkshire PCI-PC Watchdog driver");
|
||||||
|
|
|
@ -202,6 +202,9 @@ static int __devinit wdt_probe(struct pci_dev *pdev,
|
||||||
goto err_out_release;
|
goto err_out_release;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (timeout < 1 || timeout > WDT_TIMEOUT_MAX)
|
||||||
|
timeout = WDT_TIMEOUT;
|
||||||
|
|
||||||
wdt_dev.timeout = timeout;
|
wdt_dev.timeout = timeout;
|
||||||
watchdog_set_nowayout(&wdt_dev, nowayout);
|
watchdog_set_nowayout(&wdt_dev, nowayout);
|
||||||
if (readl(wdt_mem) & VIA_WDT_FIRED)
|
if (readl(wdt_mem) & VIA_WDT_FIRED)
|
||||||
|
@ -250,20 +253,7 @@ static struct pci_driver wdt_driver = {
|
||||||
.remove = __devexit_p(wdt_remove),
|
.remove = __devexit_p(wdt_remove),
|
||||||
};
|
};
|
||||||
|
|
||||||
static int __init wdt_init(void)
|
module_pci_driver(wdt_driver);
|
||||||
{
|
|
||||||
if (timeout < 1 || timeout > WDT_TIMEOUT_MAX)
|
|
||||||
timeout = WDT_TIMEOUT;
|
|
||||||
return pci_register_driver(&wdt_driver);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void __exit wdt_exit(void)
|
|
||||||
{
|
|
||||||
pci_unregister_driver(&wdt_driver);
|
|
||||||
}
|
|
||||||
|
|
||||||
module_init(wdt_init);
|
|
||||||
module_exit(wdt_exit);
|
|
||||||
|
|
||||||
MODULE_AUTHOR("Marc Vertes");
|
MODULE_AUTHOR("Marc Vertes");
|
||||||
MODULE_DESCRIPTION("Driver for watchdog timer on VIA chipset");
|
MODULE_DESCRIPTION("Driver for watchdog timer on VIA chipset");
|
||||||
|
|
|
@ -739,39 +739,7 @@ static struct pci_driver wdtpci_driver = {
|
||||||
.remove = __devexit_p(wdtpci_remove_one),
|
.remove = __devexit_p(wdtpci_remove_one),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
module_pci_driver(wdtpci_driver);
|
||||||
/**
|
|
||||||
* 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_AUTHOR("JP Nollmann, Alan Cox");
|
MODULE_AUTHOR("JP Nollmann, Alan Cox");
|
||||||
MODULE_DESCRIPTION("Driver for the ICS PCI-WDT500/501 watchdog cards");
|
MODULE_DESCRIPTION("Driver for the ICS PCI-WDT500/501 watchdog cards");
|
||||||
|
|
Loading…
Reference in a new issue