-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge master.kernel.org:/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog
* master.kernel.org:/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] Documentation/watchdog update [WATCHDOG] convert AT91RM9200 watchdog to platform driver [WATCHDOG] add WDIOC_GETTIMELEFT ioctl [WATCHDOG] Pre-Timeout flags
- Loading branch information
Showing
10 changed files
with
283 additions
and
127 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
#include <stdlib.h> | ||
#include <fcntl.h> | ||
|
||
int main(int argc, const char *argv[]) { | ||
int fd = open("/dev/watchdog", O_WRONLY); | ||
if (fd == -1) { | ||
perror("watchdog"); | ||
exit(1); | ||
} | ||
while (1) { | ||
write(fd, "\0", 1); | ||
fsync(fd); | ||
sleep(10); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
/* | ||
* Watchdog Driver Test Program | ||
*/ | ||
|
||
#include <stdio.h> | ||
#include <stdlib.h> | ||
#include <string.h> | ||
#include <unistd.h> | ||
#include <fcntl.h> | ||
#include <sys/ioctl.h> | ||
#include <linux/types.h> | ||
#include <linux/watchdog.h> | ||
|
||
int fd; | ||
|
||
/* | ||
* This function simply sends an IOCTL to the driver, which in turn ticks | ||
* the PC Watchdog card to reset its internal timer so it doesn't trigger | ||
* a computer reset. | ||
*/ | ||
void keep_alive(void) | ||
{ | ||
int dummy; | ||
|
||
ioctl(fd, WDIOC_KEEPALIVE, &dummy); | ||
} | ||
|
||
/* | ||
* The main program. Run the program with "-d" to disable the card, | ||
* or "-e" to enable the card. | ||
*/ | ||
int main(int argc, char *argv[]) | ||
{ | ||
fd = open("/dev/watchdog", O_WRONLY); | ||
|
||
if (fd == -1) { | ||
fprintf(stderr, "Watchdog device not enabled.\n"); | ||
fflush(stderr); | ||
exit(-1); | ||
} | ||
|
||
if (argc > 1) { | ||
if (!strncasecmp(argv[1], "-d", 2)) { | ||
ioctl(fd, WDIOC_SETOPTIONS, WDIOS_DISABLECARD); | ||
fprintf(stderr, "Watchdog card disabled.\n"); | ||
fflush(stderr); | ||
exit(0); | ||
} else if (!strncasecmp(argv[1], "-e", 2)) { | ||
ioctl(fd, WDIOC_SETOPTIONS, WDIOS_ENABLECARD); | ||
fprintf(stderr, "Watchdog card enabled.\n"); | ||
fflush(stderr); | ||
exit(0); | ||
} else { | ||
fprintf(stderr, "-d to disable, -e to enable.\n"); | ||
fprintf(stderr, "run by itself to tick the card.\n"); | ||
fflush(stderr); | ||
exit(0); | ||
} | ||
} else { | ||
fprintf(stderr, "Watchdog Ticking Away!\n"); | ||
fflush(stderr); | ||
} | ||
|
||
while(1) { | ||
keep_alive(); | ||
sleep(1); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.