Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
ie6xx_wdt.c File Reference
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/platform_device.h>
#include <linux/io.h>
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/watchdog.h>
#include <linux/miscdevice.h>
#include <linux/seq_file.h>
#include <linux/debugfs.h>
#include <linux/uaccess.h>
#include <linux/spinlock.h>

Go to the source code of this file.

Macros

#define DRIVER_NAME   "ie6xx_wdt"
 
#define PV1   0x00
 
#define PV2   0x04
 
#define RR0   0x0c
 
#define RR1   0x0d
 
#define WDT_RELOAD   0x01
 
#define WDT_TOUT   0x02
 
#define WDTCR   0x10
 
#define WDT_PRE_SEL   0x04
 
#define WDT_RESET_SEL   0x08
 
#define WDT_RESET_EN   0x10
 
#define WDT_TOUT_EN   0x20
 
#define DCR   0x14
 
#define WDTLR   0x18
 
#define WDT_LOCK   0x01
 
#define WDT_ENABLE   0x02
 
#define WDT_TOUT_CNF   0x03
 
#define MIN_TIME   1
 
#define MAX_TIME   (10 * 60) /* 10 minutes */
 
#define DEFAULT_TIME   60
 

Functions

 module_param (timeout, uint, 0)
 
 MODULE_PARM_DESC (timeout,"Default Watchdog timer setting ("__MODULE_STRING(DEFAULT_TIME)"s).""The range is from 1 to 600")
 
 module_param (nowayout, bool, 0)
 
 MODULE_PARM_DESC (nowayout,"Watchdog cannot be stopped once started (default="__MODULE_STRING(WATCHDOG_NOWAYOUT)")")
 
 module_param (resetmode, byte, 0)
 
 MODULE_PARM_DESC (resetmode,"Resetmode bits: 0x08 warm reset (cold reset otherwise), ""0x10 reset enable, 0x20 disable toggle GPIO[4] (default=0x10)")
 
 late_initcall (ie6xx_wdt_init)
 
 module_exit (ie6xx_wdt_exit)
 
 MODULE_AUTHOR ("Alexander Stein <[email protected]>")
 
 MODULE_DESCRIPTION ("Intel Atom E6xx Watchdog Device Driver")
 
 MODULE_LICENSE ("GPL")
 
 MODULE_ALIAS_MISCDEV (WATCHDOG_MINOR)
 
 MODULE_ALIAS ("platform:"DRIVER_NAME)
 

Macro Definition Documentation

#define DCR   0x14

Definition at line 53 of file ie6xx_wdt.c.

#define DEFAULT_TIME   60

Definition at line 62 of file ie6xx_wdt.c.

#define DRIVER_NAME   "ie6xx_wdt"

Definition at line 37 of file ie6xx_wdt.c.

#define MAX_TIME   (10 * 60) /* 10 minutes */

Definition at line 61 of file ie6xx_wdt.c.

#define MIN_TIME   1

Definition at line 60 of file ie6xx_wdt.c.

#define PV1   0x00

Definition at line 39 of file ie6xx_wdt.c.

#define PV2   0x04

Definition at line 40 of file ie6xx_wdt.c.

#define RR0   0x0c

Definition at line 42 of file ie6xx_wdt.c.

#define RR1   0x0d

Definition at line 43 of file ie6xx_wdt.c.

#define WDT_ENABLE   0x02

Definition at line 57 of file ie6xx_wdt.c.

#define WDT_LOCK   0x01

Definition at line 56 of file ie6xx_wdt.c.

#define WDT_PRE_SEL   0x04

Definition at line 48 of file ie6xx_wdt.c.

#define WDT_RELOAD   0x01

Definition at line 44 of file ie6xx_wdt.c.

#define WDT_RESET_EN   0x10

Definition at line 50 of file ie6xx_wdt.c.

#define WDT_RESET_SEL   0x08

Definition at line 49 of file ie6xx_wdt.c.

#define WDT_TOUT   0x02

Definition at line 45 of file ie6xx_wdt.c.

#define WDT_TOUT_CNF   0x03

Definition at line 58 of file ie6xx_wdt.c.

#define WDT_TOUT_EN   0x20

Definition at line 51 of file ie6xx_wdt.c.

#define WDTCR   0x10

Definition at line 47 of file ie6xx_wdt.c.

#define WDTLR   0x18

Definition at line 55 of file ie6xx_wdt.c.

Function Documentation

late_initcall ( ie6xx_wdt_init  )
MODULE_ALIAS ( "platform:"  DRIVER_NAME)
MODULE_ALIAS_MISCDEV ( WATCHDOG_MINOR  )
MODULE_AUTHOR ( "Alexander Stein <[email protected]>"  )
MODULE_DESCRIPTION ( "Intel Atom E6xx Watchdog Device Driver"  )
module_exit ( ie6xx_wdt_exit  )
MODULE_LICENSE ( "GPL"  )
module_param ( timeout  ,
uint  ,
 
)
module_param ( nowayout  ,
bool  ,
 
)
module_param ( resetmode  ,
byte  ,
 
)
MODULE_PARM_DESC ( timeout  ,
"Default Watchdog timer setting ("__MODULE_STRING(DEFAULT_TIME)"s).""The range is from 1 to 600"   
)
MODULE_PARM_DESC ( nowayout  ,
"Watchdog cannot be stopped once started (default="__MODULE_STRING(WATCHDOG_NOWAYOUT)")"   
)
MODULE_PARM_DESC ( resetmode  ,
"Resetmode bits: 0x08 warm reset   cold reset otherwise,
""0x10 reset  enable,
0x20 disable toggle GPIO(default=0x10)"  [4] 
)

Variable Documentation

unsigned short sch_wdtba

Definition at line 84 of file ie6xx_wdt.c.

struct spinlock unlock_sequence

Definition at line 85 of file ie6xx_wdt.c.