diff options
| -rw-r--r-- | Documentation/devicetree/bindings/watchdog/pnx4008-wdt.txt | 13 | ||||
| -rw-r--r-- | Documentation/watchdog/src/watchdog-test.c | 20 | ||||
| -rw-r--r-- | Documentation/watchdog/watchdog-kernel-api.txt | 2 | ||||
| -rw-r--r-- | drivers/watchdog/Kconfig | 35 | ||||
| -rw-r--r-- | drivers/watchdog/Makefile | 2 | ||||
| -rw-r--r-- | drivers/watchdog/ar7_wdt.c | 33 | ||||
| -rw-r--r-- | drivers/watchdog/hpwdt.c | 13 | ||||
| -rw-r--r-- | drivers/watchdog/i6300esb.c | 14 | ||||
| -rw-r--r-- | drivers/watchdog/ie6xx_wdt.c | 348 | ||||
| -rw-r--r-- | drivers/watchdog/it87_wdt.c | 7 | ||||
| -rw-r--r-- | drivers/watchdog/ixp2000_wdt.c | 215 | ||||
| -rw-r--r-- | drivers/watchdog/pcwd_pci.c | 18 | ||||
| -rw-r--r-- | drivers/watchdog/pnx4008_wdt.c | 10 | ||||
| -rw-r--r-- | drivers/watchdog/s3c2410_wdt.c | 7 | ||||
| -rw-r--r-- | drivers/watchdog/sch311x_wdt.c | 39 | ||||
| -rw-r--r-- | drivers/watchdog/sp5100_tco.c | 2 | ||||
| -rw-r--r-- | drivers/watchdog/via_wdt.c | 18 | ||||
| -rw-r--r-- | drivers/watchdog/wdt_pci.c | 34 | ||||
| -rw-r--r-- | drivers/watchdog/wm831x_wdt.c | 13 |
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 | |||
| 3 | Required properties: | ||
| 4 | - compatible: must be "nxp,pnx4008-wdt" | ||
| 5 | - reg: physical base address of the controller and length of memory mapped | ||
| 6 | region. | ||
| 7 | |||
| 8 | Example: | ||
| 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 | |||
| 34 | void term(int sig) | ||
| 35 | { | ||
| 36 | close(fd); | ||
| 37 | fprintf(stderr, "Stopping watchdog ticks...\n"); | ||
| 38 | exit(0); | ||
| 39 | } | ||
| 40 | |||
| 32 | int main(int argc, char *argv[]) | 41 | int 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 | } |
| 83 | end: | ||
| 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 | ||
| 132 | config 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 | |||
| 143 | config IXP4XX_WATCHDOG | 132 | config 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 | ||
| 544 | config I6300ESB_WDT | 533 | config 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 | ||
| 543 | config 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 | |||
| 554 | config INTEL_SCU_WATCHDOG | 556 | config 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, |
