#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/types.h>
#include <linux/errno.h>
#include <linux/kernel.h>
#include <linux/miscdevice.h>
#include <linux/watchdog.h>
#include <linux/init.h>
#include <linux/fs.h>
#include <linux/platform_device.h>
#include <linux/pci.h>
#include <linux/ioport.h>
#include <linux/spinlock.h>
#include <linux/uaccess.h>
#include <linux/io.h>
#include <linux/mfd/core.h>
#include <linux/mfd/lpc_ich.h>
#include "iTCO_vendor.h"
Go to the source code of this file.
|
| | module_param (heartbeat, int, 0) |
| |
| | MODULE_PARM_DESC (heartbeat,"Watchdog timeout in seconds. ""5..76 (TCO v1) or 3..614 (TCO v2), default="__MODULE_STRING(WATCHDOG_TIMEOUT)")") |
| |
| | module_param (nowayout, bool, 0) |
| |
| | MODULE_PARM_DESC (nowayout,"Watchdog cannot be stopped once started (default="__MODULE_STRING(WATCHDOG_NOWAYOUT)")") |
| |
| | module_param (turn_SMI_watchdog_clear_off, int, 0) |
| |
| | MODULE_PARM_DESC (turn_SMI_watchdog_clear_off,"Turn off SMI clearing watchdog (depends on TCO-version)(default=1)") |
| |
| | module_init (iTCO_wdt_init_module) |
| |
| | module_exit (iTCO_wdt_cleanup_module) |
| |
| | MODULE_AUTHOR ("Wim Van Sebroeck <[email protected]>") |
| |
| | MODULE_DESCRIPTION ("Intel TCO WatchDog Timer Driver") |
| |
| | MODULE_VERSION (DRV_VERSION) |
| |
| | MODULE_LICENSE ("GPL") |
| |
| | MODULE_ALIAS_MISCDEV (WATCHDOG_MINOR) |
| |
| | MODULE_ALIAS ("platform:"DRV_NAME) |
| |
| #define DRV_NAME "iTCO_wdt" |
| #define DRV_VERSION "1.10" |
| #define pr_fmt |
( |
|
fmt | ) |
KBUILD_MODNAME ": " fmt |
| #define TCO1_CNT (TCOBASE + 0x08) /* TCO1 Control Register */ |
| #define TCO1_STS (TCOBASE + 0x04) /* TCO1 Status Register */ |
| #define TCO2_CNT (TCOBASE + 0x0a) /* TCO2 Control Register */ |
| #define TCO2_STS (TCOBASE + 0x06) /* TCO2 Status Register */ |
| #define TCO_DAT_IN (TCOBASE + 0x02) /* TCO Data In Register */ |
| #define TCO_DAT_OUT (TCOBASE + 0x03) /* TCO Data Out Register */ |
| #define TCO_RLD (TCOBASE + 0x00) /* TCO Timer Reload and Curr. Value */ |
| #define TCOv1_TMR (TCOBASE + 0x01) /* TCOv1 Timer Initial Value */ |
| #define TCOv2_TMR (TCOBASE + 0x12) /* TCOv2 Timer Initial Value */ |
| MODULE_ALIAS |
( |
"platform:" |
DRV_NAME | ) |
|
| MODULE_DESCRIPTION |
( |
"Intel TCO WatchDog Timer Driver" |
| ) |
|
| module_exit |
( |
iTCO_wdt_cleanup_module |
| ) |
|
| module_init |
( |
iTCO_wdt_init_module |
| ) |
|
| module_param |
( |
nowayout |
, |
|
|
bool |
, |
|
|
0 |
|
|
) |
| |
| module_param |
( |
turn_SMI_watchdog_clear_off |
, |
|
|
int |
, |
|
|
0 |
|
|
) |
| |
| MODULE_PARM_DESC |
( |
turn_SMI_watchdog_clear_off |
, |
|
|
"Turn off SMI clearing watchdog (depends on TCO-version)(default=1)" |
|
|
) |
| |
| unsigned int iTCO_version |