[WATCHDOG] w83697hf/hg WDT driver - patch 11
[firefly-linux-kernel-4.4.55.git] / drivers / char / watchdog / w83697hf_wdt.c
index 4e0bd4e714e3581e394483f229dbc2b0e4f618d0..b12f8b800762159ca805cece6912b3038b88a2dc 100644 (file)
@@ -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);
 }