summaryrefslogtreecommitdiffstats
path: root/package/madwifi/extra/wprobe.spatch
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-03-26 20:56:58 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-03-26 20:56:58 +0000
commit02ababff437b5a656d8565a8eee25b532755dee6 (patch)
treeabe49fb1cfd2f20e732f0e4e346169e23a56b2b9 /package/madwifi/extra/wprobe.spatch
parent3e53e7a4b5db20ed7096c21da85a977355866aa7 (diff)
implement support for wprobe in madwifi
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@15051 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/madwifi/extra/wprobe.spatch')
-rw-r--r--package/madwifi/extra/wprobe.spatch84
1 files changed, 84 insertions, 0 deletions
diff --git a/package/madwifi/extra/wprobe.spatch b/package/madwifi/extra/wprobe.spatch
new file mode 100644
index 000000000..78718aa54
--- /dev/null
+++ b/package/madwifi/extra/wprobe.spatch
@@ -0,0 +1,84 @@
+@@
+@@
+ #include "if_athioctl.h"
++#include "wprobe.h"
+
+@@
+@@
+ struct ath_vap {
+ ...
++ struct wprobe_iface av_wpif;
+ };
+
+@@
+@@
+ struct ath_node {
+ ...
++ struct wprobe_link an_wplink;
++ uint8_t an_wplink_active;
++ struct work_struct an_destroy;
+ u_int16_t an_decomp_index;
+ ...
+ };
+
+@@
+@@
+ ath_vap_create(...) {
+ <...
++ ath_init_wprobe_dev(avp);
+ return vap;
+ ...>
+ }
+
+@ rule5 @
+expression vap;
+@@
+ ath_vap_delete(...) {
+ <...
+ ieee80211_vap_detach(vap);
++ ath_remove_wprobe_dev(ATH_VAP(vap));
+ ...>
+ }
+
+@ rule6 @
+@@
+ static int xchanmode = -1;
++
++#include "ath_wprobe.c"
+
+
+@ rule7 @
+expression sc, ni;
+@@
+ <...
+ sc->sc_rc->ops->newassoc(sc, ATH_NODE(ni), isnew);
++ ath_wprobe_node_join(ni->ni_vap, ni);
+ ...>
+
+@ rule8 @
+expression ni;
+expression sc;
+@@
+ <...
+ sc->sc_rc->ops->node_cleanup(sc, ATH_NODE(ni));
++ ath_wprobe_node_leave(ni->ni_vap, ni);
+ ...>
+
+@ rule9 @
+expression ni;
+expression rs;
+@@
+ <...
+ ATH_RSSI_LPF(ATH_NODE(ni)->an_avgrssi, rs->rs_rssi);
++ ath_node_sample_rx(ni, rs);
+ ...>
+
+@ rule10 @
+expression an;
+expression ts;
+@@
+ <...
+ ATH_RSSI_LPF(an->an_halstats.ns_avgtxrssi, ts->ts_rssi);
++ ath_node_sample_tx(&an->an_node, ts, bf->bf_skb->len);
+ ...>
+