summaryrefslogtreecommitdiff
path: root/kernel/voicebus.c
diff options
context:
space:
mode:
authorsruffell <sruffell@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2009-06-18 16:29:08 +0000
committersruffell <sruffell@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2009-06-18 16:29:08 +0000
commit6a7f88f4d2fbb2fc7422fd1e6d42720720506016 (patch)
treeb1394a32f237fae956e90482f18ab5b77720f414 /kernel/voicebus.c
parent6ab1953ff8d0d3d43208b28545db674d08b1861a (diff)
wctdm24xxp, voicebus: Enable the watchdog for the wctdm24xxp driver.
Allows the wctdm24xxp driver to use the default dahdi watchdog facility to kickstart the board in case it stops generating interrupts. DAHDI-254. git-svn-id: http://svn.digium.com/svn/zaptel/branches/1.4@4655 5390a7c7-147a-4af0-8ec9-7488f05a26cb
Diffstat (limited to 'kernel/voicebus.c')
-rw-r--r--kernel/voicebus.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/kernel/voicebus.c b/kernel/voicebus.c
index aabfd8c..6724d32 100644
--- a/kernel/voicebus.c
+++ b/kernel/voicebus.c
@@ -39,6 +39,7 @@
#include <linux/interrupt.h>
#include <linux/timer.h>
+#include "zconfig.h"
#include "voicebus.h"
#define assert(__x__) BUG_ON(!(__x__))
@@ -846,6 +847,7 @@ __vb_disable_interrupts(struct voicebus *vb)
__vb_setctl(vb, IER_CSR7, 0);
}
+
static void
vb_disable_interrupts(struct voicebus *vb)
{
@@ -947,6 +949,19 @@ voicebus_start(struct voicebus *vb)
return 0;
}
+#ifdef CONFIG_ZAPTEL_WATCHDOG
+/**
+ * voicebus_watchdog - Called from a watchdog function to restart interrupts.
+ *
+ */
+int voicebus_watchdog(struct voicebus *vb)
+{
+ vb_tx_demand_poll(vb);
+ return 0;
+}
+EXPORT_SYMBOL(voicebus_watchdog);
+#endif
+
static void
vb_clear_start_transmit_bit(struct voicebus *vb)
{