diff options
author | Giel van Schijndel <me@mortis.eu> | 2010-10-04 04:45:28 -0400 |
---|---|---|
committer | Wim Van Sebroeck <wim@iguana.be> | 2010-10-28 17:43:35 -0400 |
commit | dee00abbbcab97b8ee3bbafb5e786dde83e26741 (patch) | |
tree | 9bc75e24a697f278b7f8d771aed1f3dad95b7f9c /drivers/watchdog | |
parent | 29c3e8c8d16b74e91da9be445ff3e14136957753 (diff) |
watchdog: f71808e_wdt: add support for the F71889FG
Signed-off-by: Giel van Schijndel <me@mortis.eu>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Diffstat (limited to 'drivers/watchdog')
-rw-r--r-- | drivers/watchdog/Kconfig | 4 | ||||
-rw-r--r-- | drivers/watchdog/f71808e_wdt.c | 10 |
2 files changed, 11 insertions, 3 deletions
diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig index 5a5c024482fa..57b8a410697b 100644 --- a/drivers/watchdog/Kconfig +++ b/drivers/watchdog/Kconfig | |||
@@ -409,11 +409,11 @@ config ALIM7101_WDT | |||
409 | Most people will say N. | 409 | Most people will say N. |
410 | 410 | ||
411 | config F71808E_WDT | 411 | config F71808E_WDT |
412 | tristate "Fintek F71808E and F71882FG Watchdog" | 412 | tristate "Fintek F71808E, F71882FG and F71889FG Watchdog" |
413 | depends on X86 && EXPERIMENTAL | 413 | depends on X86 && EXPERIMENTAL |
414 | help | 414 | help |
415 | This is the driver for the hardware watchdog on the Fintek | 415 | This is the driver for the hardware watchdog on the Fintek |
416 | F71808E and F71882FG Super I/O controllers. | 416 | F71808E, F71882FG and F71889FG Super I/O controllers. |
417 | 417 | ||
418 | You can compile this driver directly into the kernel, or use | 418 | You can compile this driver directly into the kernel, or use |
419 | it as a module. The module will be called f71808e_wdt. | 419 | it as a module. The module will be called f71808e_wdt. |
diff --git a/drivers/watchdog/f71808e_wdt.c b/drivers/watchdog/f71808e_wdt.c index 7e5c266cda48..65e579635dba 100644 --- a/drivers/watchdog/f71808e_wdt.c +++ b/drivers/watchdog/f71808e_wdt.c | |||
@@ -308,6 +308,12 @@ static int watchdog_start(void) | |||
308 | superio_set_bit(watchdog.sioaddr, 0x29, 1); | 308 | superio_set_bit(watchdog.sioaddr, 0x29, 1); |
309 | break; | 309 | break; |
310 | 310 | ||
311 | case f71889fg: | ||
312 | /* set pin 40 to WDTRST# */ | ||
313 | superio_outb(watchdog.sioaddr, 0x2b, | ||
314 | superio_inb(watchdog.sioaddr, 0x2b) & 0xcf); | ||
315 | break; | ||
316 | |||
311 | default: | 317 | default: |
312 | /* | 318 | /* |
313 | * 'default' label to shut up the compiler and catch | 319 | * 'default' label to shut up the compiler and catch |
@@ -708,8 +714,10 @@ static int __init f71808e_find(int sioaddr) | |||
708 | case SIO_F71882_ID: | 714 | case SIO_F71882_ID: |
709 | watchdog.type = f71882fg; | 715 | watchdog.type = f71882fg; |
710 | break; | 716 | break; |
711 | case SIO_F71862_ID: | ||
712 | case SIO_F71889_ID: | 717 | case SIO_F71889_ID: |
718 | watchdog.type = f71889fg; | ||
719 | break; | ||
720 | case SIO_F71862_ID: | ||
713 | /* These have a watchdog, though it isn't implemented (yet). */ | 721 | /* These have a watchdog, though it isn't implemented (yet). */ |
714 | err = -ENOSYS; | 722 | err = -ENOSYS; |
715 | goto exit; | 723 | goto exit; |