aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/devicetree/bindings/watchdog/pnx4008-wdt.txt13
-rw-r--r--Documentation/watchdog/src/watchdog-test.c20
-rw-r--r--Documentation/watchdog/watchdog-kernel-api.txt2
-rw-r--r--drivers/watchdog/Kconfig35
-rw-r--r--drivers/watchdog/Makefile2
-rw-r--r--drivers/watchdog/ar7_wdt.c33
-rw-r--r--drivers/watchdog/hpwdt.c13
-rw-r--r--drivers/watchdog/i6300esb.c14
-rw-r--r--drivers/watchdog/ie6xx_wdt.c348
-rw-r--r--drivers/watchdog/it87_wdt.c7
-rw-r--r--drivers/watchdog/ixp2000_wdt.c215
-rw-r--r--drivers/watchdog/pcwd_pci.c18
-rw-r--r--drivers/watchdog/pnx4008_wdt.c10
-rw-r--r--drivers/watchdog/s3c2410_wdt.c7
-rw-r--r--drivers/watchdog/sch311x_wdt.c39
-rw-r--r--drivers/watchdog/sp5100_tco.c2
-rw-r--r--drivers/watchdog/via_wdt.c18
-rw-r--r--drivers/watchdog/wdt_pci.c34
-rw-r--r--drivers/watchdog/wm831x_wdt.c13
19 files changed, 447 insertions, 396 deletions
diff --git a/Documentation/devicetree/bindings/watchdog/pnx4008-wdt.txt b/Documentation/devicetree/bindings/watchdog/pnx4008-wdt.txt
new file mode 100644
index 000000000000..7c7f6887c796
--- /dev/null
+++ b/Documentation/devicetree/bindings/watchdog/pnx4008-wdt.txt
@@ -0,0 +1,13 @@
1* NXP PNX watchdog timer
2
3Required properties:
4- compatible: must be "nxp,pnx4008-wdt"
5- reg: physical base address of the controller and length of memory mapped
6 region.
7
8Example:
9
10 watchdog@4003C000 {
11 compatible = "nxp,pnx4008-wdt";
12 reg = <0x4003C000 0x1000>;
13 };
diff --git a/Documentation/watchdog/src/watchdog-test.c b/Documentation/watchdog/src/watchdog-test.c
index 63fdc34ceb98..73ff5cc93e05 100644
--- a/Documentation/watchdog/src/watchdog-test.c
+++ b/Documentation/watchdog/src/watchdog-test.c
@@ -7,6 +7,7 @@
7#include <string.h> 7#include <string.h>
8#include <unistd.h> 8#include <unistd.h>
9#include <fcntl.h> 9#include <fcntl.h>
10#include <signal.h>
10#include <sys/ioctl.h> 11#include <sys/ioctl.h>
11#include <linux/types.h> 12#include <linux/types.h>
12#include <linux/watchdog.h> 13#include <linux/watchdog.h>
@@ -29,6 +30,14 @@ static void keep_alive(void)
29 * The main program. Run the program with "-d" to disable the card, 30 * The main program. Run the program with "-d" to disable the card,
30 * or "-e" to enable the card. 31 * or "-e" to enable the card.
31 */ 32 */
33
34void term(int sig)
35{
36 close(fd);
37 fprintf(stderr, "Stopping watchdog ticks...\n");
38 exit(0);
39}
40
32int main(int argc, char *argv[]) 41int main(int argc, char *argv[])
33{ 42{
34 int flags; 43 int flags;
@@ -47,26 +56,31 @@ int main(int argc, char *argv[])
47 ioctl(fd, WDIOC_SETOPTIONS, &flags); 56 ioctl(fd, WDIOC_SETOPTIONS, &flags);
48 fprintf(stderr, "Watchdog card disabled.\n"); 57 fprintf(stderr, "Watchdog card disabled.\n");
49 fflush(stderr); 58 fflush(stderr);
50 exit(0); 59 goto end;
51 } else if (!strncasecmp(argv[1], "-e", 2)) { 60 } else if (!strncasecmp(argv[1], "-e", 2)) {
52 flags = WDIOS_ENABLECARD; 61 flags = WDIOS_ENABLECARD;
53 ioctl(fd, WDIOC_SETOPTIONS, &flags); 62 ioctl(fd, WDIOC_SETOPTIONS, &flags);
54 fprintf(stderr, "Watchdog card enabled.\n"); 63 fprintf(stderr, "Watchdog card enabled.\n");
55 fflush(stderr); 64 fflush(stderr);
56 exit(0); 65 goto end;
57 } else { 66 } else {
58 fprintf(stderr, "-d to disable, -e to enable.\n"); 67 fprintf(stderr, "-d to disable, -e to enable.\n");
59 fprintf(stderr, "run by itself to tick the card.\n"); 68 fprintf(stderr, "run by itself to tick the card.\n");
60 fflush(stderr); 69 fflush(stderr);
61 exit(0); 70 goto end;
62 } 71 }
63 } else { 72 } else {
64 fprintf(stderr, "Watchdog Ticking Away!\n"); 73 fprintf(stderr, "Watchdog Ticking Away!\n");
65 fflush(stderr); 74 fflush(stderr);
66 } 75 }
67 76
77 signal(SIGINT, term);
78
68 while(1) { 79 while(1) {
69 keep_alive(); 80 keep_alive();
70 sleep(1); 81 sleep(1);
71 } 82 }
83end:
84 close(fd);
85 return 0;
72} 86}
diff --git a/Documentation/watchdog/watchdog-kernel-api.txt b/Documentation/watchdog/watchdog-kernel-api.txt
index 227f6cd0e5fa..25fe4304f2fc 100644
--- a/Documentation/watchdog/watchdog-kernel-api.txt
+++ b/Documentation/watchdog/watchdog-kernel-api.txt
@@ -59,7 +59,7 @@ It contains following fields:
59* bootstatus: status of the device after booting (reported with watchdog 59* bootstatus: status of the device after booting (reported with watchdog
60 WDIOF_* status bits). 60 WDIOF_* status bits).
61* driver_data: a pointer to the drivers private data of a watchdog device. 61* driver_data: a pointer to the drivers private data of a watchdog device.
62 This data should only be accessed via the watchdog_set_drvadata and 62 This data should only be accessed via the watchdog_set_drvdata and
63 watchdog_get_drvdata routines. 63 watchdog_get_drvdata routines.
64* status: this field contains a number of status bits that give extra 64* status: this field contains a number of status bits that give extra
65 information about the status of the device (Like: is the watchdog timer 65 information about the status of the device (Like: is the watchdog timer
diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
index edebaf771f50..a18bf6358eb8 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -129,17 +129,6 @@ config 977_WATCHDOG
129 129
130 Not sure? It's safe to say N. 130 Not sure? It's safe to say N.
131 131
132config IXP2000_WATCHDOG
133 tristate "IXP2000 Watchdog"
134 depends on ARCH_IXP2000
135 help
136 Say Y here if to include support for the watchdog timer
137 in the Intel IXP2000(2400, 2800, 2850) network processors.
138 This driver can be built as a module by choosing M. The module
139 will be called ixp2000_wdt.
140
141 Say N if you are unsure.
142
143config IXP4XX_WATCHDOG 132config IXP4XX_WATCHDOG
144 tristate "IXP4xx Watchdog" 133 tristate "IXP4xx Watchdog"
145 depends on ARCH_IXP4XX 134 depends on ARCH_IXP4XX
@@ -543,7 +532,7 @@ config WAFER_WDT
543 532
544config I6300ESB_WDT 533config I6300ESB_WDT
545 tristate "Intel 6300ESB Timer/Watchdog" 534 tristate "Intel 6300ESB Timer/Watchdog"
546 depends on X86 && PCI 535 depends on PCI
547 ---help--- 536 ---help---
548 Hardware driver for the watchdog timer built into the Intel 537 Hardware driver for the watchdog timer built into the Intel
549 6300ESB controller hub. 538 6300ESB controller hub.
@@ -551,6 +540,19 @@ config I6300ESB_WDT
551 To compile this driver as a module, choose M here: the 540 To compile this driver as a module, choose M here: the
552 module will be called i6300esb. 541 module will be called i6300esb.
553 542
543config IE6XX_WDT
544 tristate "Intel Atom E6xx Watchdog"
545 depends on X86 && PCI
546 select WATCHDOG_CORE
547 select MFD_CORE
548 select LPC_SCH
549 ---help---
550 Hardware driver for the watchdog timer built into the Intel
551 Atom E6XX (TunnelCreek) processor.
552
553 To compile this driver as a module, choose M here: the
554 module will be called ie6xx_wdt.
555
554config INTEL_SCU_WATCHDOG 556config INTEL_SCU_WATCHDOG
555 bool "Intel SCU Watchdog for Mobile Platforms" 557 bool "Intel SCU Watchdog for Mobile Platforms"
556 depends on X86_MRST 558 depends on X86_MRST
@@ -607,7 +609,12 @@ config IT87_WDT
607 depends on X86 && EXPERIMENTAL 609 depends on X86 && EXPERIMENTAL
608 ---help--- 610 ---help---
609 This is the driver for the hardware watchdog on the ITE IT8702, 611 This is the driver for the hardware watchdog on the ITE IT8702,