#define pr_fmt(fmt) …
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/types.h>
#include <linux/watchdog.h>
#include <linux/ioport.h>
#include <linux/init.h>
#include <linux/io.h>
#include <linux/dmi.h>
#define WATCHDOG_NAME …
#define WATCHDOG_TIMEOUT …
static int wdt_io;
static int cr_wdt_timeout;
static int cr_wdt_control;
static int cr_wdt_csr;
static int wdt_cfg_enter = …;
static int wdt_cfg_leave = …;
enum chips { … };
static int timeout;
module_param(timeout, int, 0);
MODULE_PARM_DESC(…) …;
static bool nowayout = … WATCHDOG_NOWAYOUT;
module_param(nowayout, bool, 0);
MODULE_PARM_DESC(…) …;
static int early_disable;
module_param(early_disable, int, 0);
MODULE_PARM_DESC(…) …;
#define WDT_EFER …
#define WDT_EFIR …
#define WDT_EFDR …
#define W83627HF_LD_WDT …
#define W83627HF_ID …
#define W83627S_ID …
#define W83697HF_ID …
#define W83697UG_ID …
#define W83637HF_ID …
#define W83627THF_ID …
#define W83687THF_ID …
#define W83627EHF_ID …
#define W83627DHG_ID …
#define W83627UHG_ID …
#define W83667HG_ID …
#define W83627DHG_P_ID …
#define W83667HG_B_ID …
#define NCT6775_ID …
#define NCT6776_ID …
#define NCT6102_ID …
#define NCT6116_ID …
#define NCT6779_ID …
#define NCT6791_ID …
#define NCT6792_ID …
#define NCT6793_ID …
#define NCT6795_ID …
#define NCT6796_ID …
#define W83627HF_WDT_TIMEOUT …
#define W83697HF_WDT_TIMEOUT …
#define NCT6102D_WDT_TIMEOUT …
#define W83627HF_WDT_CONTROL …
#define W83697HF_WDT_CONTROL …
#define NCT6102D_WDT_CONTROL …
#define W836X7HF_WDT_CSR …
#define NCT6102D_WDT_CSR …
#define WDT_CSR_STATUS …
#define WDT_CSR_KBD …
#define WDT_CSR_MOUSE …
static void superio_outb(int reg, int val)
{ … }
static inline int superio_inb(int reg)
{ … }
static int superio_enter(void)
{ … }
static void superio_select(int ld)
{ … }
static void superio_exit(void)
{ … }
static int w83627hf_init(struct watchdog_device *wdog, enum chips chip)
{ … }
static int wdt_set_time(unsigned int timeout)
{ … }
static int wdt_start(struct watchdog_device *wdog)
{ … }
static int wdt_stop(struct watchdog_device *wdog)
{ … }
static int wdt_set_timeout(struct watchdog_device *wdog, unsigned int timeout)
{ … }
static unsigned int wdt_get_time(struct watchdog_device *wdog)
{ … }
static const struct watchdog_info wdt_info = …;
static const struct watchdog_ops wdt_ops = …;
static struct watchdog_device wdt_dev = …;
static int wdt_find(int addr)
{ … }
static int __init wdt_use_alt_key(const struct dmi_system_id *d)
{ … }
static const struct dmi_system_id wdt_dmi_table[] __initconst = …;
static int __init wdt_init(void)
{ … }
static void __exit wdt_exit(void)
{ … }
module_init(…) …;
module_exit(wdt_exit);
MODULE_LICENSE(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;