aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2006-09-07 05:57:00 -0400
committerWim Van Sebroeck <wim@iguana.be>2006-10-04 16:45:21 -0400
commita7933e05d46f49385841d09028ee07fae2b383f2 (patch)
tree57e72c5167643a5501de03b644eb4a6e5400b14b
parentc81b2996253a94278057f83a24dfa9053f0dee7a (diff)
[WATCHDOG] w83697hf/hg WDT driver - patch 11
This is patch 11 in the series of patches that converts Marcus Junker's w83697hf watchdog driver to Samuel Tardieau's w83697hf/hg watchdog driver. This patch contains following changes: - Add w83697hf_select_wdt() and w83697hf_deselect_wdt() so that the start/stop/ping code can directly talk to the watchdog. Signed-off-by: Samuel Tardieu <sam@rfc1149.net> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
-rw-r--r--drivers/char/watchdog/w83697hf_wdt.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/drivers/char/watchdog/w83697hf_wdt.c b/drivers/char/watchdog/w83697hf_wdt.c
index 4e0bd4e714e3..b12f8b800762 100644
--- a/drivers/char/watchdog/w83697hf_wdt.c
+++ b/drivers/char/watchdog/w83697hf_wdt.c
@@ -102,6 +102,19 @@ w83697hf_set_reg(unsigned char reg, unsigned char data)
102} 102}
103 103
104static void 104static void
105w83697hf_select_wdt(void)
106{
107 w83697hf_unlock();
108 w83697hf_set_reg(0x07, 0x08); /* Switch to logic device 8 (GPIO2) */
109}
110
111static inline void
112w83697hf_deselect_wdt(void)
113{
114 w83697hf_lock();
115}
116
117static void
105w83697hf_select_wd_register(void) 118w83697hf_select_wd_register(void)
106{ 119{
107 w83697hf_unlock(); 120 w83697hf_unlock();
@@ -142,11 +155,11 @@ wdt_ctrl(int timeout)
142{ 155{
143 spin_lock(&io_lock); 156 spin_lock(&io_lock);
144 157
145 w83697hf_select_wd_register(); 158 w83697hf_select_wdt();
146 159
147 w83697hf_set_reg(0xF4, timeout); /* Write Timeout counter to CRF4 */ 160 w83697hf_set_reg(0xF4, timeout); /* Write Timeout counter to CRF4 */
148 161
149 w83697hf_unselect_wd_register(); 162 w83697hf_deselect_wdt();
150 163
151 spin_unlock(&io_lock); 164 spin_unlock(&io_lock);
152} 165}