Bläddra i källkod

[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>
Samuel Tardieu 19 år sedan
förälder
incheckning
a7933e05d4
1 ändrade filer med 15 tillägg och 2 borttagningar
  1. 15 2
      drivers/char/watchdog/w83697hf_wdt.c

+ 15 - 2
drivers/char/watchdog/w83697hf_wdt.c

@@ -101,6 +101,19 @@ w83697hf_set_reg(unsigned char reg, unsigned char data)
 	outb_p(data, W83697HF_EFDR);
 }
 
+static void
+w83697hf_select_wdt(void)
+{
+	w83697hf_unlock();
+	w83697hf_set_reg(0x07, 0x08);	/* Switch to logic device 8 (GPIO2) */
+}
+
+static inline void
+w83697hf_deselect_wdt(void)
+{
+	w83697hf_lock();
+}
+
 static void
 w83697hf_select_wd_register(void)
 {
@@ -142,11 +155,11 @@ wdt_ctrl(int timeout)
 {
 	spin_lock(&io_lock);
 
-	w83697hf_select_wd_register();
+	w83697hf_select_wdt();
 
 	w83697hf_set_reg(0xF4, timeout);	/* Write Timeout counter to CRF4 */
 
-	w83697hf_unselect_wd_register();
+	w83697hf_deselect_wdt();
 
 	spin_unlock(&io_lock);
 }