SOURCES: madwifi-ng-2.6.20.patch - backward compatible version by ...

mguevara mguevara at pld-linux.org
Wed Jan 10 10:43:59 CET 2007


Author: mguevara                     Date: Wed Jan 10 09:43:59 2007 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- backward compatible version by proski (madwifi.org)
- confirmed working with 2.6.20-rc4 and 2.6.17.14

---- Files affected:
SOURCES:
   madwifi-ng-2.6.20.patch (1.1 -> 1.2) 

---- Diffs:

================================================================
Index: SOURCES/madwifi-ng-2.6.20.patch
diff -u SOURCES/madwifi-ng-2.6.20.patch:1.1 SOURCES/madwifi-ng-2.6.20.patch:1.2
--- SOURCES/madwifi-ng-2.6.20.patch:1.1	Wed Jan 10 02:32:55 2007
+++ SOURCES/madwifi-ng-2.6.20.patch	Wed Jan 10 10:43:54 2007
@@ -1,11 +1,43 @@
-The attached patch fix the compilation problem caused by the workqueue
-interface changes in the recent kernels (2.6.20).
-
-Signed-off-by: Shahar Frank <shaharf at qumranet.com>
-
+Index: ath/if_athvar.h
+===================================================================
+--- ath/if_athvar.h	(revision 1888)
++++ ath/if_athvar.h	(working copy)
+@@ -80,14 +80,26 @@
+ 	(t)->data=(void *) (d); 		\
+ } while (0)
+ #define ATH_FLUSH_TASKS			flush_scheduled_tasks
++#define ATH_WORK_ARG			TQUEUE_ARG
+ #else
+ #include <linux/workqueue.h>
+-#define ATH_SCHEDULE_TASK(t)		schedule_work((t))
+-
+-#define ATH_INIT_SCHED_TASK(_t, _f, _d)	INIT_WORK((_t), (void (*)(void *))(_f), (void *)(_d));
+-
+-#define ATH_WORK_THREAD			work_struct
+-#define	ATH_FLUSH_TASKS			flush_scheduled_work
++struct ath_work_struct {
++	struct work_struct worker;
++	void *data;
++}; 
++#define ATH_WORK_THREAD			ath_work_struct
++#define ATH_WORK_ARG			struct work_struct *
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
++#define ATH_INIT_WORK(_t, _f) INIT_WORK((_t), (void (*)(void *))(_f), NULL)
++#else
++#define ATH_INIT_WORK(_t, _f) INIT_WORK((_t), (void (*)(ATH_WORK_ARG))(_f))
++#endif
++#define ATH_INIT_SCHED_TASK(_t, _f, _d)	do {\
++		ATH_INIT_WORK(&(_t)->worker, (_f));\
++		(_t)->data = _d;\
++	} while (0);
++#define ATH_SCHEDULE_TASK(t)		schedule_work(&(t)->worker)
++#define ATH_FLUSH_TASKS			flush_scheduled_work
+ #endif /* KERNEL_VERSION < 2.5.41 */
+ 
+ /*
 Index: ath/if_ath.c
 ===================================================================
---- ath/if_ath.c	(revision 1871)
+--- ath/if_ath.c	(revision 1888)
 +++ ath/if_ath.c	(working copy)
 @@ -118,7 +118,7 @@
  static void ath_rxorn_tasklet(TQUEUE_ARG);
@@ -16,7 +48,7 @@
  static void ath_dfs_test_return(unsigned long);
  
  static int ath_stop_locked(struct net_device *);
-@@ -1737,9 +1737,10 @@
+@@ -1739,9 +1739,10 @@
  }
  
  static void
@@ -29,41 +61,3 @@
  	struct ath_softc *sc = dev->priv;
  	struct ath_hal *ah = sc->sc_ah;
  	struct ieee80211com *ic = &sc->sc_ic;
-Index: ath/if_athvar.h
-===================================================================
---- ath/if_athvar.h	(revision 1871)
-+++ ath/if_athvar.h	(working copy)
-@@ -80,14 +80,31 @@
- 	(t)->data=(void *) (d); 		\
- } while (0)
- #define ATH_FLUSH_TASKS			flush_scheduled_tasks
--#else
-+#define ATH_WORK_ARG			TQUEUE_ARG
-+#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
- #include <linux/workqueue.h>
- #define ATH_SCHEDULE_TASK(t)		schedule_work((t))
- 
- #define ATH_INIT_SCHED_TASK(_t, _f, _d)	INIT_WORK((_t), (void (*)(void *))(_f), (void *)(_d));
- 
- #define ATH_WORK_THREAD			work_struct
--#define	ATH_FLUSH_TASKS			flush_scheduled_work
-+#define ATH_FLUSH_TASKS			flush_scheduled_work
-+#define ATH_WORK_ARG			TQUEUE_ARG
-+#else
-+#include <linux/workqueue.h>
-+struct ath_work_struct {
-+	struct work_struct worker;
-+	void *data;
-+}; 
-+#define ATH_WORK_THREAD			ath_work_struct
-+#define ATH_WORK_ARG			struct work_struct *
-+#define ATH_INIT_SCHED_TASK(_t, _f, _d)	do {\
-+		INIT_WORK(&(_t)->worker, (void (*)(ATH_WORK_ARG))(_f));\
-+		(_t)->data = dev;\
-+	} while (0);\
-+		
-+#define ATH_FLUSH_TASKS			flush_scheduled_work
-+#define ATH_SCHEDULE_TASK(t)		schedule_work(&(t)->worker)
- #endif /* KERNEL_VERSION < 2.5.41 */
- 
- /*
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/SOURCES/madwifi-ng-2.6.20.patch?r1=1.1&r2=1.2&f=u



More information about the pld-cvs-commit mailing list