Linux Kernel
3.7.1
|
#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.
Macros | |
#define | pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
#define | DRV_NAME "iTCO_wdt" |
#define | DRV_VERSION "1.10" |
#define | TCOBASE (iTCO_wdt_private.tco_res->start) |
#define | SMI_EN (iTCO_wdt_private.smi_res->start) |
#define | TCO_RLD (TCOBASE + 0x00) /* TCO Timer Reload and Curr. Value */ |
#define | TCOv1_TMR (TCOBASE + 0x01) /* TCOv1 Timer Initial Value */ |
#define | TCO_DAT_IN (TCOBASE + 0x02) /* TCO Data In Register */ |
#define | TCO_DAT_OUT (TCOBASE + 0x03) /* TCO Data Out Register */ |
#define | TCO1_STS (TCOBASE + 0x04) /* TCO1 Status Register */ |
#define | TCO2_STS (TCOBASE + 0x06) /* TCO2 Status Register */ |
#define | TCO1_CNT (TCOBASE + 0x08) /* TCO1 Control Register */ |
#define | TCO2_CNT (TCOBASE + 0x0a) /* TCO2 Control Register */ |
#define | TCOv2_TMR (TCOBASE + 0x12) /* TCOv2 Timer Initial Value */ |
#define | WATCHDOG_TIMEOUT 30 /* 30 sec default heartbeat */ |
Functions | |
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" |
Definition at line 50 of file iTCO_wdt.c.
#define DRV_VERSION "1.10" |
Definition at line 51 of file iTCO_wdt.c.
Definition at line 47 of file iTCO_wdt.c.
#define SMI_EN (iTCO_wdt_private.smi_res->start) |
Definition at line 79 of file iTCO_wdt.c.
#define TCO1_CNT (TCOBASE + 0x08) /* TCO1 Control Register */ |
Definition at line 87 of file iTCO_wdt.c.
#define TCO1_STS (TCOBASE + 0x04) /* TCO1 Status Register */ |
Definition at line 85 of file iTCO_wdt.c.
#define TCO2_CNT (TCOBASE + 0x0a) /* TCO2 Control Register */ |
Definition at line 88 of file iTCO_wdt.c.
#define TCO2_STS (TCOBASE + 0x06) /* TCO2 Status Register */ |
Definition at line 86 of file iTCO_wdt.c.
#define TCO_DAT_IN (TCOBASE + 0x02) /* TCO Data In Register */ |
Definition at line 83 of file iTCO_wdt.c.
#define TCO_DAT_OUT (TCOBASE + 0x03) /* TCO Data Out Register */ |
Definition at line 84 of file iTCO_wdt.c.
#define TCO_RLD (TCOBASE + 0x00) /* TCO Timer Reload and Curr. Value */ |
Definition at line 81 of file iTCO_wdt.c.
#define TCOBASE (iTCO_wdt_private.tco_res->start) |
Definition at line 77 of file iTCO_wdt.c.
#define TCOv1_TMR (TCOBASE + 0x01) /* TCOv1 Timer Initial Value */ |
Definition at line 82 of file iTCO_wdt.c.
#define TCOv2_TMR (TCOBASE + 0x12) /* TCOv2 Timer Initial Value */ |
Definition at line 89 of file iTCO_wdt.c.
Definition at line 108 of file iTCO_wdt.c.
MODULE_ALIAS | ( | "platform:" | DRV_NAME | ) |
MODULE_ALIAS_MISCDEV | ( | WATCHDOG_MINOR | ) |
MODULE_AUTHOR | ( | "Wim Van Sebroeck <[email protected]>" | ) |
MODULE_DESCRIPTION | ( | "Intel TCO WatchDog Timer Driver" | ) |
module_exit | ( | iTCO_wdt_cleanup_module | ) |
module_init | ( | iTCO_wdt_init_module | ) |
MODULE_LICENSE | ( | "GPL" | ) |
module_param | ( | nowayout | , |
bool | , | ||
0 | |||
) |
module_param | ( | turn_SMI_watchdog_clear_off | , |
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_PARM_DESC | ( | nowayout | , |
"Watchdog cannot be stopped once started (default="__MODULE_STRING(WATCHDOG_NOWAYOUT)")" | |||
) |
MODULE_PARM_DESC | ( | turn_SMI_watchdog_clear_off | , |
"Turn off SMI clearing watchdog (depends on TCO-version)(default=1)" | |||
) |
MODULE_VERSION | ( | DRV_VERSION | ) |
struct platform_device* dev |
Definition at line 102 of file iTCO_wdt.c.
Definition at line 99 of file iTCO_wdt.c.
Definition at line 97 of file iTCO_wdt.c.
spinlock_t io_lock |
Definition at line 101 of file iTCO_wdt.c.
unsigned int iTCO_version |
Definition at line 94 of file iTCO_wdt.c.
Definition at line 104 of file iTCO_wdt.c.
Definition at line 96 of file iTCO_wdt.c.
Definition at line 95 of file iTCO_wdt.c.