summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@penguin.transmeta.com>2002-11-21 19:02:10 -0800
committerLinus Torvalds <torvalds@penguin.transmeta.com>2002-11-21 19:02:10 -0800
commitd29cb98f5a51b85a7e632316f1a9b878643fd37d (patch)
tree3f5abce1534b9c54406ca6a5e43cc0c3a4a2dd83
parent619a67aa3567ada73e733f13445440748ed288e6 (diff)
parentf374b3d40100887f456eb23b2fd111a7ee094873 (diff)
Merge bk://linux-dj.bkbits.net/watchdog
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
-rw-r--r--drivers/char/Kconfig284
-rw-r--r--drivers/char/Makefile23
-rw-r--r--drivers/char/watchdog/Kconfig286
-rw-r--r--drivers/char/watchdog/Makefile27
-rw-r--r--drivers/char/watchdog/acquirewdt.c (renamed from drivers/char/acquirewdt.c)0
-rw-r--r--drivers/char/watchdog/advantechwdt.c (renamed from drivers/char/advantechwdt.c)0
-rw-r--r--drivers/char/watchdog/eurotechwdt.c (renamed from drivers/char/eurotechwdt.c)0
-rw-r--r--drivers/char/watchdog/i810-tco.c (renamed from drivers/char/i810-tco.c)0
-rw-r--r--drivers/char/watchdog/ib700wdt.c (renamed from drivers/char/ib700wdt.c)0
-rw-r--r--drivers/char/watchdog/machzwd.c (renamed from drivers/char/machzwd.c)0
-rw-r--r--drivers/char/watchdog/mixcomwd.c (renamed from drivers/char/mixcomwd.c)0
-rw-r--r--drivers/char/watchdog/pcwd.c (renamed from drivers/char/pcwd.c)0
-rw-r--r--drivers/char/watchdog/sbc60xxwdt.c (renamed from drivers/char/sbc60xxwdt.c)0
-rw-r--r--drivers/char/watchdog/scx200_wdt.c (renamed from drivers/char/scx200_wdt.c)0
-rw-r--r--drivers/char/watchdog/shwdt.c (renamed from drivers/char/shwdt.c)0
-rw-r--r--drivers/char/watchdog/softdog.c (renamed from drivers/char/softdog.c)0
-rw-r--r--drivers/char/watchdog/w83877f_wdt.c (renamed from drivers/char/w83877f_wdt.c)0
-rw-r--r--drivers/char/watchdog/wdt.c (renamed from drivers/char/wdt.c)0
-rw-r--r--drivers/char/watchdog/wdt285.c (renamed from drivers/char/wdt285.c)0
-rw-r--r--drivers/char/watchdog/wdt977.c (renamed from drivers/char/wdt977.c)0
-rw-r--r--drivers/char/watchdog/wdt_pci.c (renamed from drivers/char/wdt_pci.c)0
21 files changed, 316 insertions, 304 deletions
diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
index ee08a533bf81..2d9e8abdfc28 100644
--- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig
@@ -636,289 +636,7 @@ comment "from the tpqic02-support package. It is available at"
comment "metalab.unc.edu or ftp://titus.cfw.com/pub/Linux/util/"
depends on QIC02_TAPE && QIC02_DYNCONF
-
-menu "Watchdog Cards"
-
-config WATCHDOG
- bool "Watchdog Timer Support"
- ---help---
- If you say Y here (and to one of the following options) and create a
- character special file /dev/watchdog with major number 10 and minor
- number 130 using mknod ("man mknod"), you will get a watchdog, i.e.:
- subsequently opening the file and then failing to write to it for
- longer than 1 minute will result in rebooting the machine. This
- could be useful for a networked machine that needs to come back
- online as fast as possible after a lock-up. There's both a watchdog
- implementation entirely in software (which can sometimes fail to
- reboot the machine) and a driver for hardware watchdog boards, which
- are more robust and can also keep track of the temperature inside
- your computer. For details, read <file:Documentation/watchdog.txt>
- in the kernel source.
-
- The watchdog is usually used together with the watchdog daemon
- which is available from
- <ftp://ibiblio.org/pub/Linux/system/daemons/watchdog/>. This daemon can
- also monitor NFS connections and can reboot the machine when the process
- table is full.
-
- If unsure, say N.
-
-config WATCHDOG_NOWAYOUT
- bool "Disable watchdog shutdown on close"
- depends on WATCHDOG
- help
- The default watchdog behaviour (which you get if you say N here) is
- to stop the timer if the process managing it closes the file
- /dev/watchdog. It's always remotely possible that this process might
- get killed. If you say Y here, the watchdog cannot be stopped once
- it has been started.
-
-config SOFT_WATCHDOG
- tristate "Software watchdog"
- depends on WATCHDOG
- help
- A software monitoring watchdog. This will fail to reboot your system
- from some situations that the hardware watchdog will recover
- from. Equally it's a lot cheaper to install.
-
- This driver is also available as a module ( = code which can be
- inserted in and removed from the running kernel whenever you want).
- If you want to compile it as a module, say M here and read
- <file:Documentation/modules.txt>. The module will be called
- softdog.o.
-
-config WDT
- tristate "WDT Watchdog timer"
- depends on WATCHDOG
- ---help---
- If you have a WDT500P or WDT501P watchdog board, say Y here,
- otherwise N. It is not possible to probe for this board, which means
- that you have to inform the kernel about the IO port and IRQ using
- the "wdt=" kernel option (try "man bootparam" or see the
- documentation of your boot loader (lilo or loadlin) about how to
- pass options to the kernel at boot time).
-
- If you want to compile this as a module ( = code which can be
- inserted in and removed from the running kernel whenever you want),
- say M here and read <file:Documentation/modules.txt>. The module
- will be called wdt.o.
-
-config WDTPCI
- tristate "WDT PCI Watchdog timer"
- depends on WATCHDOG
- ---help---
- If you have a PCI WDT500/501 watchdog board, say Y here, otherwise
- N. It is not possible to probe for this board, which means that you
- have to inform the kernel about the IO port and IRQ using the "wdt="
- kernel option (try "man bootparam" or see the documentation of your
- boot loader (lilo or loadlin) about how to pass options to the
- kernel at boot time).
-
- If you want to compile this as a module ( = code which can be
- inserted in and removed from the running kernel whenever you want),
- say M here and read <file:Documentation/modules.txt>. The module
- will be called wdt_pci.o.
-
-config WDT_501
- bool "WDT501 features"
- depends on WDT
- help
- Saying Y here and creating a character special file /dev/temperature
- with major number 10 and minor number 131 ("man mknod") will give
- you a thermometer inside your computer: reading from
- /dev/temperature yields one byte, the temperature in degrees
- Fahrenheit. This works only if you have a WDT501P watchdog board
- installed.
-
-config WDT_501_FAN
- bool "Fan Tachometer"
- depends on WDT_501
- help
- Enable the Fan Tachometer on the WDT501. Only do this if you have a
- fan tachometer actually set up.
-
-config PCWATCHDOG
- tristate "Berkshire Products PC Watchdog"
- depends on WATCHDOG
- ---help---
- This is the driver for the Berkshire Products PC Watchdog card.
- This card simply watches your kernel to make sure it doesn't freeze,
- and if it does, it reboots your computer after a certain amount of
- time. This driver is like the WDT501 driver but for different
- hardware. Please read <file:Documentation/pcwd-watchdog.txt>. The PC
- watchdog cards can be ordered from <http://www.berkprod.com/>.
-
- This driver is also available as a module ( = code which can be
- inserted in and removed from the running kernel whenever you want).
- The module is called pcwd.o. If you want to compile it as a module,
- say M here and read <file:Documentation/modules.txt>.
-
- Most people will say N.
-
-config ACQUIRE_WDT
- tristate "Acquire SBC Watchdog Timer"
- depends on WATCHDOG
- ---help---
- This is the driver for the hardware watchdog on the PSC-6x86 Single
- Board Computer produced by Acquire Inc (and others). This watchdog
- simply watches your kernel to make sure it doesn't freeze, and if
- it does, it reboots your computer after a certain amount of time.
-
- This driver is like the WDT501 driver but for different hardware.
- This driver is also available as a module ( = code which can be
- inserted in and removed from the running kernel whenever you want).
- The module is called pscwdt.o. If you want to compile it as a
- module, say M here and read <file:Documentation/modules.txt>. Most
- people will say N.
-
-config ADVANTECH_WDT
- tristate "Advantech SBC Watchdog Timer"
- depends on WATCHDOG
- help
- If you are configuring a Linux kernel for the Advantech single-board
- computer, say `Y' here to support its built-in watchdog timer
- feature. See the help for CONFIG_WATCHDOG for discussion.
-
-config 21285_WATCHDOG
- tristate "DC21285 watchdog"
- depends on WATCHDOG && FOOTBRIDGE
- help
- The Intel Footbridge chip contains a builtin watchdog circuit. Say Y
- here if you wish to use this. Alternatively say M to compile the
- driver as a module, which will be called wdt285.o.
-
- This driver does not work on all machines. In particular, early CATS
- boards have hardware problems that will cause the machine to simply
- lock up if the watchdog fires.
-
- "If in doubt, leave it out" - say N.
-
-config 977_WATCHDOG
- tristate "NetWinder WB83C977 watchdog"
- depends on WATCHDOG && FOOTBRIDGE && ARCH_NETWINDER
- help
- Say Y here to include support for the WB977 watchdog included in
- NetWinder machines. Alternatively say M to compile the driver as
- a module, which will be called wdt977.o.
-
- Not sure? It's safe to say N.
-
-config EUROTECH_WDT
- tristate "Eurotech CPU-1220/1410 Watchdog Timer"
- depends on WATCHDOG
- help
- Enable support for the watchdog timer on the Eurotech CPU-1220 and
- CPU-1410 cards. These are PC/104 SBCs. Spec sheets and product
- information are at <http://www.eurotech.it/>.
-
-config IB700_WDT
- tristate "IB700 SBC Watchdog Timer"
- depends on WATCHDOG
- ---help---
- This is the driver for the hardware watchdog on the IB700 Single
- Board Computer produced by TMC Technology (www.tmc-uk.com). This watchdog
- simply watches your kernel to make sure it doesn't freeze, and if
- it does, it reboots your computer after a certain amount of time.
-
- This driver is like the WDT501 driver but for slightly different hardware.
-
- This driver is also available as a module ( = code which can be
- inserted in and removed from the running kernel whenever you want).
- The module is called ib700wdt.o. If you want to compile it as a
- module, say M here and read Documentation/modules.txt. Most people
- will say N.
-
-config I810_TCO
- tristate "Intel i810 TCO timer / Watchdog"
- depends on WATCHDOG
- ---help---
- Hardware driver for the TCO timer built into the Intel i810 and i815
- chipset family. The TCO (Total Cost of Ownership) timer is a
- watchdog timer that will reboot the machine after its second
- expiration. The expiration time can be configured by commandline
- argument "i810_margin=<n>" where <n> is the counter initial value.
- It is decremented every 0.6 secs, the default is 50 which gives a
- timeout of 30 seconds and one minute until reset.
-
- On some motherboards the driver may fail to reset the chipset's
- NO_REBOOT flag which prevents the watchdog from rebooting the
- machine. If this is the case you will get a kernel message like
- "i810tco init: failed to reset NO_REBOOT flag".
-
- If you want to compile this as a module, say M and read
- <file:Documentation/modules.txt>. The module will be called
- i810-tco.o.
-
-config MIXCOMWD
- tristate "Mixcom Watchdog"
- depends on WATCHDOG
- ---help---
- This is a driver for the Mixcom hardware watchdog cards. This
- watchdog simply watches your kernel to make sure it doesn't freeze,
- and if it does, it reboots your computer after a certain amount of
- time.
-
- This driver is also available as a module ( = code which can be
- inserted in and removed from the running kernel whenever you want).
- The module is called mixcomwd.o. If you want to compile it as a
- module, say M here and read <file:Documentation/modules.txt>. Most
- people will say N.
-
-config SCx200_WDT
- tristate "NatSemi SCx200 Watchdog"
- depends on WATCHDOG
- help
- Enable the built-in watchdog timer support on the National
- Semiconductor SCx200 processors.
-
- If compiled as a module, it will be called scx200_watchdog.o.
-
-config 60XX_WDT
- tristate "SBC-60XX Watchdog Timer"
- depends on WATCHDOG
- help
- This driver can be used with the watchdog timer found on some
- single board computers, namely the 6010 PII based computer.
- It may well work with other cards. It reads port 0x443 to enable
- and re-set the watchdog timer, and reads port 0x45 to disable
- the watchdog. If you have a card that behave in similar ways,
- you can probably make this driver work with your card as well.
-
- You can compile this driver directly into the kernel, or use
- it as a module. The module will be called sbc60xxwdt.o.
-
-config W83877F_WDT
- tristate "W83877F (EMACS) Watchdog Timer"
- depends on WATCHDOG
- ---help---
- This is the driver for the hardware watchdog on the W83877F chipset
- as used in EMACS PC-104 motherboards (and likely others). This
- watchdog simply watches your kernel to make sure it doesn't freeze,
- and if it does, it reboots your computer after a certain amount of
- time.
-
- This driver is also available as a module ( = code which can be
- inserted in and removed from the running kernel whenever you want).
- The module is called mixcomwd.o. If you want to compile it as a
- module, say M here and read <file:Documentation/modules.txt>. Most
- people will say N.
-
-config MACHZ_WDT
- tristate "ZF MachZ Watchdog"
- depends on WATCHDOG
- ---help---
- If you are using a ZF Micro MachZ processor, say Y here, otherwise
- N. This is the driver for the watchdog timer builtin on that
- processor using ZF-Logic interface. This watchdog simply watches
- your kernel to make sure it doesn't freeze, and if it does, it
- reboots your computer after a certain amount of time.
-
- This driver is also available as a module ( = code which can be
- inserted in and removed from the running kernel whenever you want).
- The module is called machzwd.o. If you want to compile it as a
- module, say M here and read <file:Documentation/modules.txt>.
-
-endmenu
+source "drivers/char/watchdog/Kconfig"
config DS1620
tristate "NetWinder thermometer support"
diff --git a/drivers/char/Makefile b/drivers/char/Makefile
index 2a148fecfc4a..f53358de91ff 100644
--- a/drivers/char/Makefile
+++ b/drivers/char/Makefile
@@ -77,32 +77,13 @@ obj-$(CONFIG_NWBUTTON) += nwbutton.o
obj-$(CONFIG_NWFLASH) += nwflash.o
obj-$(CONFIG_SCx200_GPIO) += scx200_gpio.o
-# Only one watchdog can succeed. We probe the hardware watchdog
-# drivers first, then the softdog driver. This means if your hardware
-# watchdog dies or is 'borrowed' for some reason the software watchdog
-# still gives you some cover.
-
-obj-$(CONFIG_PCWATCHDOG) += pcwd.o
-obj-$(CONFIG_ACQUIRE_WDT) += acquirewdt.o
-obj-$(CONFIG_ADVANTECH_WDT) += advantechwdt.o
-obj-$(CONFIG_IB700_WDT) += ib700wdt.o
-obj-$(CONFIG_MIXCOMWD) += mixcomwd.o
-obj-$(CONFIG_SCx200_WDT) += scx200_wdt.o
-obj-$(CONFIG_60XX_WDT) += sbc60xxwdt.o
-obj-$(CONFIG_WDT) += wdt.o
-obj-$(CONFIG_WDTPCI) += wdt_pci.o
-obj-$(CONFIG_21285_WATCHDOG) += wdt285.o
-obj-$(CONFIG_977_WATCHDOG) += wdt977.o
-obj-$(CONFIG_I810_TCO) += i810-tco.o
-obj-$(CONFIG_MACHZ_WDT) += machzwd.o
-obj-$(CONFIG_SH_WDT) += shwdt.o
-obj-$(CONFIG_EUROTECH_WDT) += eurotechwdt.o
-obj-$(CONFIG_SOFT_WATCHDOG) += softdog.o
+obj-$(CONFIG_WATCHDOGS) += watchdog/
obj-$(CONFIG_MWAVE) += mwave/
obj-$(CONFIG_AGP) += agp/
obj-$(CONFIG_DRM) += drm/
obj-$(CONFIG_PCMCIA) += pcmcia/
+
# Files generated that shall be removed upon make clean
clean-files := consolemap_deftbl.c defkeymap.c qtronixmap.c
diff --git a/drivers/char/watchdog/Kconfig b/drivers/char/watchdog/Kconfig
new file mode 100644
index 000000000000..d329cdc5dfb9
--- /dev/null
+++ b/drivers/char/watchdog/Kconfig
@@ -0,0 +1,286 @@
+#
+# Character device configuration
+#
+
+menu "Watchdog Cards"
+
+config WATCHDOG
+ bool "Watchdog Timer Support"
+ ---help---
+ If you say Y here (and to one of the following options) and create a
+ character special file /dev/watchdog with major number 10 and minor
+ number 130 using mknod ("man mknod"), you will get a watchdog, i.e.:
+ subsequently opening the file and then failing to write to it for
+ longer than 1 minute will result in rebooting the machine. This
+ could be useful for a networked machine that needs to come back
+ online as fast as possible after a lock-up. There's both a watchdog
+ implementation entirely in software (which can sometimes fail to
+ reboot the machine) and a driver for hardware watchdog boards, which
+ are more robust and can also keep track of the temperature inside
+ your computer. For details, read <file:Documentation/watchdog.txt>
+ in the kernel source.
+
+ The watchdog is usually used together with the watchdog daemon
+ which is available from
+ <ftp://ibiblio.org/pub/Linux/system/daemons/watchdog/>. This daemon can
+ also monitor NFS connections and can reboot the machine when the process
+ table is full.
+
+ If unsure, say N.
+
+config WATCHDOG_NOWAYOUT
+ bool "Disable watchdog shutdown on close"
+ depends on WATCHDOG
+ help
+ The default watchdog behaviour (which you get if you say N here) is
+ to stop the timer if the process managing it closes the file
+ /dev/watchdog. It's always remotely possible that this process might
+ get killed. If you say Y here, the watchdog cannot be stopped once
+ it has been started.
+
+config SOFT_WATCHDOG
+ tristate "Software watchdog"
+ depends on WATCHDOG
+ help
+ A software monitoring watchdog. This will fail to reboot your system
+ from some situations that the hardware watchdog will recover
+ from. Equally it's a lot cheaper to install.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. The module will be called
+ softdog.o.
+
+config WDT
+ tristate "WDT Watchdog timer"
+ depends on WATCHDOG
+ ---help---
+ If you have a WDT500P or WDT501P watchdog board, say Y here,
+ otherwise N. It is not possible to probe for this board, which means
+ that you have to inform the kernel about the IO port and IRQ using
+ the "wdt=" kernel option (try "man bootparam" or see the
+ documentation of your boot loader (lilo or loadlin) about how to
+ pass options to the kernel at boot time).
+
+ If you want to compile this as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called wdt.o.
+
+config WDTPCI
+ tristate "WDT PCI Watchdog timer"
+ depends on WATCHDOG
+ ---help---
+ If you have a PCI WDT500/501 watchdog board, say Y here, otherwise
+ N. It is not possible to probe for this board, which means that you
+ have to inform the kernel about the IO port and IRQ using the "wdt="
+ kernel option (try "man bootparam" or see the documentation of your
+ boot loader (lilo or loadlin) about how to pass options to the
+ kernel at boot time).
+
+ If you want to compile this as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called wdt_pci.o.
+
+config WDT_501
+ bool "WDT501 features"
+ depends on WDT
+ help
+ Saying Y here and creating a character special file /dev/temperature
+ with major number 10 and minor number 131 ("man mknod") will give
+ you a thermometer inside your computer: reading from
+ /dev/temperature yields one byte, the temperature in degrees
+ Fahrenheit. This works only if you have a WDT501P watchdog board
+ installed.
+
+config WDT_501_FAN
+ bool "Fan Tachometer"
+ depends on WDT_501
+ help
+ Enable the Fan Tachometer on the WDT501. Only do this if you have a
+ fan tachometer actually set up.
+
+config PCWATCHDOG
+ tristate "Berkshire Products PC Watchdog"
+ depends on WATCHDOG
+ ---help---
+ This is the driver for the Berkshire Products PC Watchdog card.
+ This card simply watches your kernel to make sure it doesn't freeze,
+ and if it does, it reboots your computer after a certain amount of
+ time. This driver is like the WDT501 driver but for different
+ hardware. Please read <file:Documentation/pcwd-watchdog.txt>. The PC
+ watchdog cards can be ordered from <http://www.berkprod.com/>.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module is called pcwd.o. If you want to compile it as a module,
+ say M here and read <file:Documentation/modules.txt>.
+
+ Most people will say N.
+
+config ACQUIRE_WDT
+ tristate "Acquire SBC Watchdog Timer"
+ depends on WATCHDOG
+ ---help---
+ This is the driver for the hardware watchdog on the PSC-6x86 Single
+ Board Computer produced by Acquire Inc (and others). This watchdog
+ simply watches your kernel to make sure it doesn't freeze, and if
+ it does, it reboots your computer after a certain amount of time.
+
+ This driver is like the WDT501 driver but for different hardware.
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module is called pscwdt.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>. Most
+ people will say N.
+
+config ADVANTECH_WDT
+ tristate "Advantech SBC Watchdog Timer"
+ depends on WATCHDOG
+ help
+ If you are configuring a Linux kernel for the Advantech single-board
+ computer, say `Y' here to support its built-in watchdog timer
+ feature. See the help for CONFIG_WATCHDOG for discussion.
+
+config 21285_WATCHDOG
+ tristate "DC21285 watchdog"
+ depends on WATCHDOG && FOOTBRIDGE
+ help
+ The Intel Footbridge chip contains a builtin watchdog circuit. Say Y
+ here if you wish to use this. Alternatively say M to compile the
+ driver as a module, which will be called wdt285.o.
+
+ This driver does not work on all machines. In particular, early CATS
+ boards have hardware problems that will cause the machine to simply
+ lock up if the watchdog fires.
+
+ "If in doubt, leave it out" - say N.
+
+config 977_WATCHDOG
+ tristate "NetWinder WB83C977 watchdog"
+ depends on WATCHDOG && FOOTBRIDGE && ARCH_NETWINDER
+ help
+ Say Y here to include support for the WB977 watchdog included in
+ NetWinder machines. Alternatively say M to compile the driver as
+ a module, which will be called wdt977.o.
+
+ Not sure? It's safe to say N.
+
+config EUROTECH_WDT
+ tristate "Eurotech CPU-1220/1410 Watchdog Timer"
+ depends on WATCHDOG
+ help
+ Enable support for the watchdog timer on the Eurotech CPU-1220 and
+ CPU-1410 cards. These are PC/104 SBCs. Spec sheets and product
+ information are at <http://www.eurotech.it/>.
+
+config IB700_WDT
+ tristate "IB700 SBC Watchdog Timer"
+ depends on WATCHDOG
+ ---help---
+ This is the driver for the hardware watchdog on the IB700 Single
+ Board Computer produced by TMC Technology (www.tmc-uk.com). This watchdog
+ simply watches your kernel to make sure it doesn't freeze, and if
+ it does, it reboots your computer after a certain amount of time.
+
+ This driver is like the WDT501 driver but for slightly different hardware.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module is called ib700wdt.o. If you want to compile it as a
+ module, say M here and read Documentation/modules.txt. Most people
+ will say N.
+
+config I810_TCO
+ tristate "Intel i810 TCO timer / Watchdog"
+ depends on WATCHDOG
+ ---help---
+ Hardware driver for the TCO timer built into the Intel i810 and i815
+ chipset family. The TCO (Total Cost of Ownership) timer is a
+ watchdog timer that will reboot the machine after its second
+ expiration. The expiration time can be configured by commandline
+ argument "i810_margin=<n>" where <n> is the counter initial value.
+ It is decremented every 0.6 secs, the default is 50 which gives a
+ timeout of 30 seconds and one minute until reset.
+
+ On some motherboards the driver may fail to reset the chipset's
+ NO_REBOOT flag which prevents the watchdog from rebooting the
+ machine. If this is the case you will get a kernel message like
+ "i810tco init: failed to reset NO_REBOOT flag".
+
+ If you want to compile this as a module, say M and read
+ <file:Documentation/modules.txt>. The module will be called
+ i810-tco.o.
+
+config MIXCOMWD
+ tristate "Mixcom Watchdog"
+ depends on WATCHDOG
+ ---help---
+ This is a driver for the Mixcom hardware watchdog cards. This
+ watchdog simply watches your kernel to make sure it doesn't freeze,
+ and if it does, it reboots your computer after a certain amount of
+ time.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module is called mixcomwd.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>. Most
+ people will say N.
+
+config SCx200_WDT
+ tristate "NatSemi SCx200 Watchdog"
+ depends on WATCHDOG
+ help
+ Enable the built-in watchdog timer support on the National
+ Semiconductor SCx200 processors.
+
+ If compiled as a module, it will be called scx200_watchdog.o.
+
+config 60XX_WDT
+ tristate "SBC-60XX Watchdog Timer"
+ depends on WATCHDOG
+ help
+ This driver can be used with the watchdog timer found on some
+ single board computers, namely the 6010 PII based computer.
+ It may well work with other cards. It reads port 0x443 to enable
+ and re-set the watchdog timer, and reads port 0x45 to disable
+ the watchdog. If you have a card that behave in similar ways,
+ you can probably make this driver work with your card as well.
+
+ You can compile this driver directly into the kernel, or use
+ it as a module. The module will be called sbc60xxwdt.o.
+
+config W83877F_WDT
+ tristate "W83877F (EMACS) Watchdog Timer"
+ depends on WATCHDOG
+ ---help---
+ This is the driver for the hardware watchdog on the W83877F chipset
+ as used in EMACS PC-104 motherboards (and likely others). This
+ watchdog simply watches your kernel to make sure it doesn't freeze,
+ and if it does, it reboots your computer after a certain amount of
+ time.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module is called mixcomwd.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>. Most
+ people will say N.
+
+config MACHZ_WDT
+ tristate "ZF MachZ Watchdog"
+ depends on WATCHDOG
+ ---help---
+ If you are using a ZF Micro MachZ processor, say Y here, otherwise
+ N. This is the driver for the watchdog timer builtin on that
+ processor using ZF-Logic interface. This watchdog simply watches
+ your kernel to make sure it doesn't freeze, and if it does, it
+ reboots your computer after a certain amount of time.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module is called machzwd.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+endmenu
diff --git a/drivers/char/watchdog/Makefile b/drivers/char/watchdog/Makefile
new file mode 100644
index 000000000000..c1cbf47a52cd
--- /dev/null
+++ b/drivers/char/watchdog/Makefile
@@ -0,0 +1,27 @@
+#
+# Makefile for the kernel character device drivers.
+#
+
+# Only one watchdog can succeed. We probe the hardware watchdog
+# drivers first, then the softdog driver. This means if your hardware
+# watchdog dies or is 'borrowed' for some reason the software watchdog
+# still gives you some cover.
+
+watchdog-$(CONFIG_PCWATCHDOG) += pcwd.o
+watchdog-$(CONFIG_ACQUIRE_WDT) += acquirewdt.o
+watchdog-$(CONFIG_ADVANTECH_WDT) += advantechwdt.o
+watchdog-$(CONFIG_IB700_WDT) += ib700wdt.o
+watchdog-$(CONFIG_MIXCOMWD) += mixcomwd.o
+watchdog-$(CONFIG_SCx200_WDT) += scx200_wdt.o
+watchdog-$(CONFIG_60XX_WDT) += sbc60xxwdt.o
+watchdog-$(CONFIG_WDT) += wdt.o
+watchdog-$(CONFIG_WDTPCI) += wdt_pci.o
+watchdog-$(CONFIG_21285_WATCHDOG) += wdt285.o
+watchdog-$(CONFIG_977_WATCHDOG) += wdt977.o
+watchdog-$(CONFIG_I810_TCO) += i810-tco.o
+watchdog-$(CONFIG_MACHZ_WDT) += machzwd.o
+watchdog-$(CONFIG_SH_WDT) += shwdt.o
+watchdog-$(CONFIG_EUROTECH_WDT) += eurotechwdt.o
+watchdog-$(CONFIG_SOFT_WATCHDOG) += softdog.o
+
+include $(TOPDIR)/Rules.make
diff --git a/drivers/char/acquirewdt.c b/drivers/char/watchdog/acquirewdt.c
index 3a0ecbcf2033..3a0ecbcf2033 100644
--- a/drivers/char/acquirewdt.c
+++ b/drivers/char/watchdog/acquirewdt.c
diff --git a/drivers/char/advantechwdt.c b/drivers/char/watchdog/advantechwdt.c
index 226e3a75d08a..226e3a75d08a 100644
--- a/drivers/char/advantechwdt.c
+++ b/drivers/char/watchdog/advantechwdt.c
diff --git a/drivers/char/eurotechwdt.c b/drivers/char/watchdog/eurotechwdt.c
index 6ce0e3c7dfed..6ce0e3c7dfed 100644
--- a/drivers/char/eurotechwdt.c
+++ b/drivers/char/watchdog/eurotechwdt.c
diff --git a/drivers/char/i810-tco.c b/drivers/char/watchdog/i810-tco.c
index 3697dd0f81b3..3697dd0f81b3 100644
--- a/drivers/char/i810-tco.c
+++ b/drivers/char/watchdog/i810-tco.c
diff --git a/drivers/char/ib700wdt.c b/drivers/char/watchdog/ib700wdt.c
index 448c7be4e717..448c7be4e717 100644
--- a/drivers/char/ib700wdt.c
+++ b/drivers/char/watchdog/ib700wdt.c
diff --git a/drivers/char/machzwd.c b/drivers/char/watchdog/machzwd.c
index ab3f538d2d72..ab3f538d2d72 100644
--- a/drivers/char/machzwd.c
+++ b/drivers/char/watchdog/machzwd.c
diff --git a/drivers/char/mixcomwd.c b/drivers/char/watchdog/mixcomwd.c
index 6ee6576e6528..6ee6576e6528 100644
--- a/drivers/char/mixcomwd.c
+++ b/drivers/char/watchdog/mixcomwd.c
diff --git a/drivers/char/pcwd.c b/drivers/char/watchdog/pcwd.c
index 4fdd439aa06b..4fdd439aa06b 100644
--- a/drivers/char/pcwd.c
+++ b/drivers/char/watchdog/pcwd.c
diff --git a/drivers/char/sbc60xxwdt.c b/drivers/char/watchdog/sbc60xxwdt.c
index d34380c899fb..d34380c899fb 100644
--- a/drivers/char/sbc60xxwdt.c
+++ b/drivers/char/watchdog/sbc60xxwdt.c
diff --git a/drivers/char/scx200_wdt.c b/drivers/char/watchdog/scx200_wdt.c
index 41fa773f6f8c..41fa773f6f8c 100644
--- a/drivers/char/scx200_wdt.c
+++ b/drivers/char/watchdog/scx200_wdt.c
diff --git a/drivers/char/shwdt.c b/drivers/char/watchdog/shwdt.c
index 8761e4a92736..8761e4a92736 100644
--- a/drivers/char/shwdt.c
+++ b/drivers/char/watchdog/shwdt.c
diff --git a/drivers/char/softdog.c b/drivers/char/watchdog/softdog.c
index de7e133ea335..de7e133ea335 100644
--- a/drivers/char/softdog.c
+++ b/drivers/char/watchdog/softdog.c
diff --git a/drivers/char/w83877f_wdt.c b/drivers/char/watchdog/w83877f_wdt.c
index 66749672d39c..66749672d39c 100644
--- a/drivers/char/w83877f_wdt.c
+++ b/drivers/char/watchdog/w83877f_wdt.c
diff --git a/drivers/char/wdt.c b/drivers/char/watchdog/wdt.c
index 33deb303e3d4..33deb303e3d4 100644
--- a/drivers/char/wdt.c
+++ b/drivers/char/watchdog/wdt.c
diff --git a/drivers/char/wdt285.c b/drivers/char/watchdog/wdt285.c
index 639ab2aa4edc..639ab2aa4edc 100644
--- a/drivers/char/wdt285.c
+++ b/drivers/char/watchdog/wdt285.c
diff --git a/drivers/char/wdt977.c b/drivers/char/watchdog/wdt977.c
index ce522c581879..ce522c581879 100644
--- a/drivers/char/wdt977.c
+++ b/drivers/char/watchdog/wdt977.c
diff --git a/drivers/char/wdt_pci.c b/drivers/char/watchdog/wdt_pci.c
index 28374dc4f631..28374dc4f631 100644
--- a/drivers/char/wdt_pci.c
+++ b/drivers/char/watchdog/wdt_pci.c