Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
iTCO_wdt.c File Reference
#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)
 

Macro Definition Documentation

#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.

#define pr_fmt (   fmt)    KBUILD_MODNAME ": " fmt

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.

#define WATCHDOG_TIMEOUT   30 /* 30 sec default heartbeat */

Definition at line 108 of file iTCO_wdt.c.

Function Documentation

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 ( heartbeat  ,
int  ,
 
)
module_param ( nowayout  ,
bool  ,
 
)
module_param ( turn_SMI_watchdog_clear_off  ,
int  ,
 
)
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  )

Variable Documentation

Definition at line 102 of file iTCO_wdt.c.

unsigned long __iomem* gcs

Definition at line 99 of file iTCO_wdt.c.

struct resource* gcs_res

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.

struct pci_dev* pdev

Definition at line 104 of file iTCO_wdt.c.

struct resource* smi_res

Definition at line 96 of file iTCO_wdt.c.

struct resource* tco_res

Definition at line 95 of file iTCO_wdt.c.