aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorproski <proski>2007-01-12 06:14:55 +0000
committerproski <proski>2007-01-12 06:14:55 +0000
commit01c417d527c2fc8fdf21a43e1cdfa4e2bd5087c3 (patch)
treecb95992ecedc5a7977d56f9a289e9ea577601fb8
parentf44b26e5dac8bcad59e50b884778e5a51628e655 (diff)
Fix compilation on Linux 2.6.20 - support new workqueue API.
-rw-r--r--at76c503.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/at76c503.c b/at76c503.c
index 9a1b1de..a3e3efd 100644
--- a/at76c503.c
+++ b/at76c503.c
@@ -2586,9 +2586,9 @@ static void defer_kevent (struct at76c503 *dev, int flag)
dev->netdev->name, flag);
}
-static void kevent(void *data)
+static void kevent(struct work_struct *work)
{
- struct at76c503 *dev = data;
+ struct at76c503 *dev = container_of(work, struct at76c503, kevent);
int ret;
unsigned long flags;
@@ -6665,7 +6665,11 @@ static struct at76c503 *alloc_new_device(struct usb_device *udev,
dev->netdev = netdev;
init_MUTEX (&dev->sem);
- INIT_WORK (&dev->kevent, kevent, dev);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 20)
+ INIT_WORK (&dev->kevent, (void (*)(void *))kevent, &dev->kevent);
+#else
+ INIT_WORK (&dev->kevent, kevent);
+#endif
dev->open_count = 0;