[svn-commits] kpfleming: branch 1.2 r2104 - /branches/1.2/wctc4xxp/base.c

svn-commits at lists.digium.com svn-commits at lists.digium.com
Wed Feb 7 12:52:53 MST 2007


Author: kpfleming
Date: Wed Feb  7 13:52:52 2007
New Revision: 2104

URL: http://svn.digium.com/view/zaptel?view=rev&rev=2104
Log:
make the workqueue usage compatible with 2.6.20 kernel

Modified:
    branches/1.2/wctc4xxp/base.c

Modified: branches/1.2/wctc4xxp/base.c
URL: http://svn.digium.com/view/zaptel/branches/1.2/wctc4xxp/base.c?view=diff&rev=2104&r1=2103&r2=2104
==============================================================================
--- branches/1.2/wctc4xxp/base.c (original)
+++ branches/1.2/wctc4xxp/base.c Wed Feb  7 13:52:52 2007
@@ -339,8 +339,6 @@
 	struct zt_transcoder *uencode;
 	struct zt_transcoder *udecode;
 };
-
-static void dte_wque_run(struct wcdte *wc);
 
 struct wcdte_desc {
 	char *name;
@@ -1015,8 +1013,15 @@
 	}	
 }
 
-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 @@
 		
 			/* 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 @@
 			else
 				min_numchannels = g729_numchannels;
 
-			/* Setup Encoders nad Decoders */
+			/* Setup Encoders and Decoders */
 
 			if (!mode || strlen(mode) < 4)
 			{



More information about the svn-commits mailing list