Skip to content

Commit

Permalink
Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-wat…
Browse files Browse the repository at this point in the history
…chdog

* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
  [WATCHDOG] hpwdt - fix lower timeout limit
  [WATCHDOG] iTCO_wdt: TCO Watchdog patch for additional Intel Cougar Point DeviceIDs
  [WATCHDOG] doc: Fix use of WDIOC_SETOPTIONS ioctl.
  [WATCHDOG] doc: watchdog simple example: don't fail on fsync()
  [WATCHDOG] set max63xx driver as ARM only
  [WATCHDOG] powerpc: pika_wdt ident cannot be const
  • Loading branch information
torvalds committed Apr 6, 2010
2 parents ab195c5 + 8ba42bd commit 14e71e4
Show file tree
Hide file tree
Showing 7 changed files with 109 additions and 21 deletions.
3 changes: 0 additions & 3 deletions Documentation/watchdog/src/watchdog-simple.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,6 @@ int main(void)
ret = -1;
break;
}
ret = fsync(fd);
if (ret)
break;
sleep(10);
}
close(fd);
Expand Down
8 changes: 6 additions & 2 deletions Documentation/watchdog/src/watchdog-test.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ static void keep_alive(void)
*/
int main(int argc, char *argv[])
{
int flags;

fd = open("/dev/watchdog", O_WRONLY);

if (fd == -1) {
Expand All @@ -41,12 +43,14 @@ int main(int argc, char *argv[])

if (argc > 1) {
if (!strncasecmp(argv[1], "-d", 2)) {
ioctl(fd, WDIOC_SETOPTIONS, WDIOS_DISABLECARD);
flags = WDIOS_DISABLECARD;
ioctl(fd, WDIOC_SETOPTIONS, &flags);
fprintf(stderr, "Watchdog card disabled.\n");
fflush(stderr);
exit(0);
} else if (!strncasecmp(argv[1], "-e", 2)) {
ioctl(fd, WDIOC_SETOPTIONS, WDIOS_ENABLECARD);
flags = WDIOS_ENABLECARD;
ioctl(fd, WDIOC_SETOPTIONS, &flags);
fprintf(stderr, "Watchdog card enabled.\n");
fflush(stderr);
exit(0);
Expand Down
5 changes: 2 additions & 3 deletions Documentation/watchdog/watchdog-api.txt
Original file line number Diff line number Diff line change
Expand Up @@ -222,11 +222,10 @@ returned value is the temperature in degrees fahrenheit.
ioctl(fd, WDIOC_GETTEMP, &temperature);

Finally the SETOPTIONS ioctl can be used to control some aspects of
the cards operation; right now the pcwd driver is the only one
supporting this ioctl.
the cards operation.

int options = 0;
ioctl(fd, WDIOC_SETOPTIONS, options);
ioctl(fd, WDIOC_SETOPTIONS, &options);

The following options are available:

Expand Down
11 changes: 6 additions & 5 deletions drivers/watchdog/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -55,11 +55,6 @@ config SOFT_WATCHDOG
To compile this driver as a module, choose M here: the
module will be called softdog.

config MAX63XX_WATCHDOG
tristate "Max63xx watchdog"
help
Support for memory mapped max63{69,70,71,72,73,74} watchdog timer.

config WM831X_WATCHDOG
tristate "WM831x watchdog"
depends on MFD_WM831X
Expand Down Expand Up @@ -305,6 +300,12 @@ config TS72XX_WATCHDOG
To compile this driver as a module, choose M here: the
module will be called ts72xx_wdt.

config MAX63XX_WATCHDOG
tristate "Max63xx watchdog"
depends on ARM
help
Support for memory mapped max63{69,70,71,72,73,74} watchdog timer.

# AVR32 Architecture

config AT32AP700X_WDT
Expand Down
2 changes: 1 addition & 1 deletion drivers/watchdog/hpwdt.c
Original file line number Diff line number Diff line change
Expand Up @@ -442,7 +442,7 @@ static void hpwdt_ping(void)
static int hpwdt_change_timer(int new_margin)
{
/* Arbitrary, can't find the card's limits */
if (new_margin < 30 || new_margin > 600) {
if (new_margin < 5 || new_margin > 600) {
printk(KERN_WARNING
"hpwdt: New value passed in is invalid: %d seconds.\n",
new_margin);
Expand Down
99 changes: 93 additions & 6 deletions drivers/watchdog/iTCO_wdt.c
Original file line number Diff line number Diff line change
Expand Up @@ -115,8 +115,37 @@ enum iTCO_chipsets {
TCO_3420, /* 3420 */
TCO_3450, /* 3450 */
TCO_EP80579, /* EP80579 */
TCO_CPTD, /* CPT Desktop */
TCO_CPTM, /* CPT Mobile */
TCO_CPT1, /* Cougar Point */
TCO_CPT2, /* Cougar Point Desktop */
TCO_CPT3, /* Cougar Point Mobile */
TCO_CPT4, /* Cougar Point */
TCO_CPT5, /* Cougar Point */
TCO_CPT6, /* Cougar Point */
TCO_CPT7, /* Cougar Point */
TCO_CPT8, /* Cougar Point */
TCO_CPT9, /* Cougar Point */
TCO_CPT10, /* Cougar Point */
TCO_CPT11, /* Cougar Point */
TCO_CPT12, /* Cougar Point */
TCO_CPT13, /* Cougar Point */
TCO_CPT14, /* Cougar Point */
TCO_CPT15, /* Cougar Point */
TCO_CPT16, /* Cougar Point */
TCO_CPT17, /* Cougar Point */
TCO_CPT18, /* Cougar Point */
TCO_CPT19, /* Cougar Point */
TCO_CPT20, /* Cougar Point */
TCO_CPT21, /* Cougar Point */
TCO_CPT22, /* Cougar Point */
TCO_CPT23, /* Cougar Point */
TCO_CPT24, /* Cougar Point */
TCO_CPT25, /* Cougar Point */
TCO_CPT26, /* Cougar Point */
TCO_CPT27, /* Cougar Point */
TCO_CPT28, /* Cougar Point */
TCO_CPT29, /* Cougar Point */
TCO_CPT30, /* Cougar Point */
TCO_CPT31, /* Cougar Point */
};

static struct {
Expand Down Expand Up @@ -173,8 +202,37 @@ static struct {
{"3420", 2},
{"3450", 2},
{"EP80579", 2},
{"CPT Desktop", 2},
{"CPT Mobile", 2},
{"Cougar Point", 2},
{"Cougar Point", 2},
{"Cougar Point", 2},
{"Cougar Point", 2},
{"Cougar Point", 2},
{"Cougar Point", 2},
{"Cougar Point", 2},
{"Cougar Point", 2},
{"Cougar Point", 2},
{"Cougar Point", 2},
{"Cougar Point", 2},
{"Cougar Point", 2},
{"Cougar Point", 2},
{"Cougar Point", 2},
{"Cougar Point", 2},
{"Cougar Point", 2},
{"Cougar Point", 2},
{"Cougar Point", 2},
{"Cougar Point", 2},
{"Cougar Point", 2},
{"Cougar Point", 2},
{"Cougar Point", 2},
{"Cougar Point", 2},
{"Cougar Point", 2},
{"Cougar Point", 2},
{"Cougar Point", 2},
{"Cougar Point", 2},
{"Cougar Point", 2},
{"Cougar Point", 2},
{"Cougar Point", 2},
{"Cougar Point", 2},
{NULL, 0}
};

Expand Down Expand Up @@ -259,8 +317,37 @@ static struct pci_device_id iTCO_wdt_pci_tbl[] = {
{ ITCO_PCI_DEVICE(0x3b14, TCO_3420)},
{ ITCO_PCI_DEVICE(0x3b16, TCO_3450)},
{ ITCO_PCI_DEVICE(0x5031, TCO_EP80579)},
{ ITCO_PCI_DEVICE(0x1c42, TCO_CPTD)},
{ ITCO_PCI_DEVICE(0x1c43, TCO_CPTM)},
{ ITCO_PCI_DEVICE(0x1c41, TCO_CPT1)},
{ ITCO_PCI_DEVICE(0x1c42, TCO_CPT2)},
{ ITCO_PCI_DEVICE(0x1c43, TCO_CPT3)},
{ ITCO_PCI_DEVICE(0x1c44, TCO_CPT4)},
{ ITCO_PCI_DEVICE(0x1c45, TCO_CPT5)},
{ ITCO_PCI_DEVICE(0x1c46, TCO_CPT6)},
{ ITCO_PCI_DEVICE(0x1c47, TCO_CPT7)},
{ ITCO_PCI_DEVICE(0x1c48, TCO_CPT8)},
{ ITCO_PCI_DEVICE(0x1c49, TCO_CPT9)},
{ ITCO_PCI_DEVICE(0x1c4a, TCO_CPT10)},
{ ITCO_PCI_DEVICE(0x1c4b, TCO_CPT11)},
{ ITCO_PCI_DEVICE(0x1c4c, TCO_CPT12)},
{ ITCO_PCI_DEVICE(0x1c4d, TCO_CPT13)},
{ ITCO_PCI_DEVICE(0x1c4e, TCO_CPT14)},
{ ITCO_PCI_DEVICE(0x1c4f, TCO_CPT15)},
{ ITCO_PCI_DEVICE(0x1c50, TCO_CPT16)},
{ ITCO_PCI_DEVICE(0x1c51, TCO_CPT17)},
{ ITCO_PCI_DEVICE(0x1c52, TCO_CPT18)},
{ ITCO_PCI_DEVICE(0x1c53, TCO_CPT19)},
{ ITCO_PCI_DEVICE(0x1c54, TCO_CPT20)},
{ ITCO_PCI_DEVICE(0x1c55, TCO_CPT21)},
{ ITCO_PCI_DEVICE(0x1c56, TCO_CPT22)},
{ ITCO_PCI_DEVICE(0x1c57, TCO_CPT23)},
{ ITCO_PCI_DEVICE(0x1c58, TCO_CPT24)},
{ ITCO_PCI_DEVICE(0x1c59, TCO_CPT25)},
{ ITCO_PCI_DEVICE(0x1c5a, TCO_CPT26)},
{ ITCO_PCI_DEVICE(0x1c5b, TCO_CPT27)},
{ ITCO_PCI_DEVICE(0x1c5c, TCO_CPT28)},
{ ITCO_PCI_DEVICE(0x1c5d, TCO_CPT29)},
{ ITCO_PCI_DEVICE(0x1c5e, TCO_CPT30)},
{ ITCO_PCI_DEVICE(0x1c5f, TCO_CPT31)},
{ 0, }, /* End of list */
};
MODULE_DEVICE_TABLE(pci, iTCO_wdt_pci_tbl);
Expand Down
2 changes: 1 addition & 1 deletion drivers/watchdog/pika_wdt.c
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ static struct {
struct timer_list timer; /* The timer that pings the watchdog */
} pikawdt_private;

static const struct watchdog_info ident = {
static struct watchdog_info ident = {
.identity = DRV_NAME,
.options = WDIOF_CARDRESET |
WDIOF_SETTIMEOUT |
Expand Down

0 comments on commit 14e71e4

Please sign in to comment.