summaryrefslogtreecommitdiff
path: root/wctc4xxp
diff options
context:
space:
mode:
authorkpfleming <kpfleming@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2007-02-07 19:52:52 +0000
committerkpfleming <kpfleming@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2007-02-07 19:52:52 +0000
commitab60762aebbdb955b1057e1ff7d62e3b1979accc (patch)
tree0f1a0178f1e362eee8ed4258eec0da86b332e02b /wctc4xxp
parentd33b5176481c9a756fd3ee4283ec8c719678ac86 (diff)
make the workqueue usage compatible with 2.6.20 kernel
git-svn-id: http://svn.digium.com/svn/zaptel/branches/1.2@2104 5390a7c7-147a-4af0-8ec9-7488f05a26cb
Diffstat (limited to 'wctc4xxp')
-rw-r--r--wctc4xxp/base.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/wctc4xxp/base.c b/wctc4xxp/base.c
index 46fac4d..b7138e3 100644
--- a/wctc4xxp/base.c
+++ b/wctc4xxp/base.c
@@ -340,8 +340,6 @@ struct wcdte {
struct zt_transcoder *udecode;
};
-static void dte_wque_run(struct wcdte *wc);
-
struct wcdte_desc {
char *name;
int flags;
@@ -1015,8 +1013,15 @@ static void wcdte_init_descriptors(struct wcdte *wc)
}
}
-static void dte_wque_run(struct wcdte *wc)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20)
+static void dte_wque_run(struct work_struct *work)
+{
+ struct wcdte *wc = container_of(work, struct wcdte, dte_work);
+#else
+static void dte_wque_run(void *work_data)
{
+ struct wcdte *wc = work_data;
+#endif
int res;
if (wc->wqueints & 0x00000040) {
@@ -1534,7 +1539,12 @@ static int __devinit wcdte_init_one(struct pci_dev *pdev, const struct pci_devic
/* Initialize the work queue */
wc->dte_wq = create_workqueue("tc400b");
- INIT_WORK(&wc->dte_work, (void (*)(void *))dte_wque_run, wc);
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20)
+ INIT_WORK(&wc->dte_work, dte_wque_run);
+#else
+ INIT_WORK(&wc->dte_work, dte_wque_run, wc);
+#endif
+
#ifdef HOTPLUG_FIRMWARE
if ((request_firmware(&firmware, dte_firmware, &wc->dev->dev) != 0) || !firmware) {
printk("TC400B: firmware %s not available from userspace\n", dte_firmware);
@@ -1550,7 +1560,7 @@ static int __devinit wcdte_init_one(struct pci_dev *pdev, const struct pci_devic
else
min_numchannels = g729_numchannels;
- /* Setup Encoders nad Decoders */
+ /* Setup Encoders and Decoders */
if (!mode || strlen(mode) < 4)
{