Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
iTCO_vendor_support.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/init.h>
#include <linux/ioport.h>
#include <linux/io.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_vendor_support"
 
#define DRV_VERSION   "1.04"
 
#define SUPERMICRO_OLD_BOARD   1
 
#define SUPERMICRO_NEW_BOARD   2
 
#define BROKEN_BIOS   911
 
#define SM_REGINDEX   0x2e /* SuperMicro ICH4+ Register Index */
 
#define SM_DATAIO   0x2f /* SuperMicro ICH4+ Register Data I/O */
 
#define SM_CTLPAGESW   0x07 /* SuperMicro ICH4+ Control Page Switch */
 
#define SM_CTLPAGE   0x08 /* SuperMicro ICH4+ Control Page Num */
 
#define SM_WATCHENABLE   0x30 /* Watchdog enable: Bit 0: 0=off, 1=on */
 
#define SM_WATCHPAGE   0x87 /* Watchdog unlock control page */
 
#define SM_ENDWATCH   0xAA /* Watchdog lock control page */
 
#define SM_COUNTMODE   0xf5 /* Watchdog count mode select */
 
#define SM_WATCHTIMER   0xf6 /* 8-bits, Watchdog timer counter (RW) */
 
#define SM_RESETCONTROL   0xf7 /* Watchdog reset control */
 

Functions

 module_param (vendorsupport, int, 0)
 
 MODULE_PARM_DESC (vendorsupport,"iTCO vendor specific support mode, default=""0 (none), 1=SuperMicro Pent3, 2=SuperMicro Pent4+, ""911=Broken SMI BIOS")
 
void iTCO_vendor_pre_start (struct resource *smires, unsigned int heartbeat)
 
 EXPORT_SYMBOL (iTCO_vendor_pre_start)
 
void iTCO_vendor_pre_stop (struct resource *smires)
 
 EXPORT_SYMBOL (iTCO_vendor_pre_stop)
 
void iTCO_vendor_pre_keepalive (struct resource *smires, unsigned int heartbeat)
 
 EXPORT_SYMBOL (iTCO_vendor_pre_keepalive)
 
void iTCO_vendor_pre_set_heartbeat (unsigned int heartbeat)
 
 EXPORT_SYMBOL (iTCO_vendor_pre_set_heartbeat)
 
int iTCO_vendor_check_noreboot_on (void)
 
 EXPORT_SYMBOL (iTCO_vendor_check_noreboot_on)
 
 module_init (iTCO_vendor_init_module)
 
 module_exit (iTCO_vendor_exit_module)
 
 MODULE_AUTHOR ("Wim Van Sebroeck <[email protected]>, ""R. Seretny <[email protected]>")
 
 MODULE_DESCRIPTION ("Intel TCO Vendor Specific WatchDog Timer Driver Support")
 
 MODULE_VERSION (DRV_VERSION)
 
 MODULE_LICENSE ("GPL")
 

Macro Definition Documentation

#define BROKEN_BIOS   911

Definition at line 44 of file iTCO_vendor_support.c.

#define DRV_NAME   "iTCO_vendor_support"

Definition at line 23 of file iTCO_vendor_support.c.

#define DRV_VERSION   "1.04"

Definition at line 24 of file iTCO_vendor_support.c.

#define pr_fmt (   fmt)    KBUILD_MODNAME ": " fmt

Definition at line 20 of file iTCO_vendor_support.c.

#define SM_COUNTMODE   0xf5 /* Watchdog count mode select */

Definition at line 156 of file iTCO_vendor_support.c.

#define SM_CTLPAGE   0x08 /* SuperMicro ICH4+ Control Page Num */

Definition at line 148 of file iTCO_vendor_support.c.

#define SM_CTLPAGESW   0x07 /* SuperMicro ICH4+ Control Page Switch */

Definition at line 147 of file iTCO_vendor_support.c.

#define SM_DATAIO   0x2f /* SuperMicro ICH4+ Register Data I/O */

Definition at line 144 of file iTCO_vendor_support.c.

#define SM_ENDWATCH   0xAA /* Watchdog lock control page */

Definition at line 154 of file iTCO_vendor_support.c.

#define SM_REGINDEX   0x2e /* SuperMicro ICH4+ Register Index */

Definition at line 143 of file iTCO_vendor_support.c.

#define SM_RESETCONTROL   0xf7 /* Watchdog reset control */

Definition at line 161 of file iTCO_vendor_support.c.

#define SM_WATCHENABLE   0x30 /* Watchdog enable: Bit 0: 0=off, 1=on */

Definition at line 150 of file iTCO_vendor_support.c.

#define SM_WATCHPAGE   0x87 /* Watchdog unlock control page */

Definition at line 152 of file iTCO_vendor_support.c.

#define SM_WATCHTIMER   0xf6 /* 8-bits, Watchdog timer counter (RW) */

Definition at line 159 of file iTCO_vendor_support.c.

#define SUPERMICRO_NEW_BOARD   2

Definition at line 42 of file iTCO_vendor_support.c.

#define SUPERMICRO_OLD_BOARD   1

Definition at line 40 of file iTCO_vendor_support.c.

Function Documentation

EXPORT_SYMBOL ( iTCO_vendor_pre_start  )
EXPORT_SYMBOL ( iTCO_vendor_pre_stop  )
EXPORT_SYMBOL ( iTCO_vendor_pre_keepalive  )
EXPORT_SYMBOL ( iTCO_vendor_pre_set_heartbeat  )
EXPORT_SYMBOL ( iTCO_vendor_check_noreboot_on  )
int iTCO_vendor_check_noreboot_on ( void  )

Definition at line 341 of file iTCO_vendor_support.c.

void iTCO_vendor_pre_keepalive ( struct resource smires,
unsigned int  heartbeat 
)

Definition at line 327 of file iTCO_vendor_support.c.

void iTCO_vendor_pre_set_heartbeat ( unsigned int  heartbeat)

Definition at line 334 of file iTCO_vendor_support.c.

void iTCO_vendor_pre_start ( struct resource smires,
unsigned int  heartbeat 
)

Definition at line 294 of file iTCO_vendor_support.c.

void iTCO_vendor_pre_stop ( struct resource smires)

Definition at line 311 of file iTCO_vendor_support.c.

MODULE_AUTHOR ( "Wim Van Sebroeck <[email protected] ,
""R.Seretny< lkpatches @paypc.com >"   
)
MODULE_DESCRIPTION ( "Intel TCO Vendor Specific WatchDog Timer Driver Support"  )
module_exit ( iTCO_vendor_exit_module  )
module_init ( iTCO_vendor_init_module  )
MODULE_LICENSE ( "GPL"  )
module_param ( vendorsupport  ,
int  ,
 
)
MODULE_PARM_DESC ( vendorsupport  ,
"iTCO vendor specific support  mode,
default  = ""0 (none),
= SuperMicro Pent3,
= SuperMicro Pent4+ 
)
MODULE_VERSION ( DRV_VERSION  )