diff options
author | kpfleming <kpfleming@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2007-02-07 20:44:29 +0000 |
---|---|---|
committer | kpfleming <kpfleming@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2007-02-07 20:44:29 +0000 |
commit | 6b5a137f0dced59236504e7210587e9afcac79ff (patch) | |
tree | 5740faf317adbc655741b34ca924894e3195a508 /ztcodec_dte | |
parent | 614a39ced8799b3ec63cc738ee7dda095a6ea74c (diff) |
Merged revisions 2111 via svnmerge from
https://origsvn.digium.com/svn/zaptel/branches/1.4
................
r2111 | kpfleming | 2007-02-07 14:36:52 -0600 (Wed, 07 Feb 2007) | 11 lines
Merged revisions 2110 via svnmerge from
https://origsvn.digium.com/svn/zaptel/branches/1.2
........
r2110 | kpfleming | 2007-02-07 14:29:22 -0600 (Wed, 07 Feb 2007) | 3 lines
build XPP on the kernels that Xorcom says are OK to build on
update workqueue usage to conform to kernel 2.6.20 API
........
................
git-svn-id: http://svn.digium.com/svn/zaptel/trunk@2112 5390a7c7-147a-4af0-8ec9-7488f05a26cb
Diffstat (limited to 'ztcodec_dte')
-rw-r--r-- | ztcodec_dte/base.c | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/ztcodec_dte/base.c b/ztcodec_dte/base.c index 296f504..abbfbd1 100644 --- a/ztcodec_dte/base.c +++ b/ztcodec_dte/base.c @@ -353,8 +353,6 @@ struct wcdte { struct zt_transcoder *udecode; }; -static void dte_wque_run(struct wcdte *wc); - struct wcdte_desc { char *name; int flags; @@ -1103,8 +1101,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) { @@ -1123,7 +1128,7 @@ static void dte_wque_run(struct wcdte *wc) } } -static irqreturn_t wcdte_interrupt(int irq, void *dev_id, struct pt_regs *regs) +ZAP_IRQ_HANDLER(wcdte_interrupt) { struct wcdte *wc = dev_id; unsigned int ints; @@ -1653,7 +1658,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); @@ -1673,7 +1683,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) { |