#include <linux/device.h>
#include <linux/dmi.h>
#include <linux/errno.h>
#include <linux/io.h>
#include <linux/ioport.h>
#include <linux/isa.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/types.h>
#include <linux/watchdog.h>
#define MODULE_NAME …
#define WATCHDOG_TIMEOUT …
#define WATCHDOG_MAX_TIMEOUT …
#define BASE_ADDR …
#define ADDR_EXTENT …
#define CFG_ADDR …
#define PET_ADDR …
static bool nowayout = … WATCHDOG_NOWAYOUT;
module_param(nowayout, bool, 0);
MODULE_PARM_DESC(…) …;
static unsigned timeout;
module_param(timeout, uint, 0);
MODULE_PARM_DESC(…) …;
static int ebc_c384_wdt_start(struct watchdog_device *wdev)
{ … }
static int ebc_c384_wdt_stop(struct watchdog_device *wdev)
{ … }
static int ebc_c384_wdt_set_timeout(struct watchdog_device *wdev, unsigned t)
{ … }
static const struct watchdog_ops ebc_c384_wdt_ops = …;
static const struct watchdog_info ebc_c384_wdt_info = …;
static int ebc_c384_wdt_probe(struct device *dev, unsigned int id)
{ … }
static struct isa_driver ebc_c384_wdt_driver = …;
static int __init ebc_c384_wdt_init(void)
{ … }
static void __exit ebc_c384_wdt_exit(void)
{ … }
module_init(…) …;
module_exit(ebc_c384_wdt_exit);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS(…) …;