Index: madwifi-trunk-r3314/ath/if_ath.c
===================================================================
--- madwifi-trunk-r3314.orig/ath/if_ath.c	2008-03-07 01:47:43.177523993 +0100
+++ madwifi-trunk-r3314/ath/if_ath.c	2008-03-07 01:47:43.193516906 +0100
@@ -42,7 +42,6 @@
  * This software is derived from work of Atsushi Onoe; his contribution
  * is greatly appreciated.
  */
-#define	AR_DEBUG
 #include "if_ath_debug.h"
 #include "opt_ah.h"
 
@@ -368,8 +367,10 @@
 static void ath_set_dfs_cac_time(struct ieee80211com *, unsigned int seconds);
 
 static unsigned int ath_test_radar(struct ieee80211com *);
-static unsigned int ath_dump_hal_map(struct ieee80211com *ic);
+#ifdef AR_DEBUG
 
+static unsigned int ath_dump_hal_map(struct ieee80211com *ic);
+#endif
 static u_int32_t ath_get_clamped_maxtxpower(struct ath_softc *sc);
 static u_int32_t ath_set_clamped_maxtxpower(struct ath_softc *sc, 
 		u_int32_t new_clamped_maxtxpower);
@@ -520,9 +521,11 @@
 	u_int8_t csz;
 
 	sc->devid = devid;
+#ifdef AR_DEBUG
 	ath_debug_global = (ath_debug & ATH_DEBUG_GLOBAL);
 	sc->sc_debug 	 = (ath_debug & ~ATH_DEBUG_GLOBAL);
 	DPRINTF(sc, ATH_DEBUG_ANY, "%s: devid 0x%x\n", __func__, devid);
+#endif
 
 	/* Allocate space for dynamically determined maximum VAP count */
 	sc->sc_bslot = 
@@ -1038,8 +1041,9 @@
 	ic->ic_vap_delete = ath_vap_delete;
 
 	ic->ic_test_radar           = ath_test_radar;
+#ifdef AR_DEBUG
 	ic->ic_dump_hal_map	    = ath_dump_hal_map;
-
+#endif
 	ic->ic_set_dfs_testmode     = ath_set_dfs_testmode;
 	ic->ic_get_dfs_testmode     = ath_get_dfs_testmode;
 
@@ -1297,12 +1301,14 @@
 		/* If no default VAP debug flags are passed, allow a few to
 		 * transfer down from the driver to new VAPs so we can have load
 		 * time debugging for VAPs too. */
+#ifdef AR_DEBUG
 		vap->iv_debug = 0 |
 			((sc->sc_debug & ATH_DEBUG_RATE) ? IEEE80211_MSG_XRATE  : 0) | 
 			((sc->sc_debug & ATH_DEBUG_XMIT) ? IEEE80211_MSG_OUTPUT : 0) | 
 			((sc->sc_debug & ATH_DEBUG_RECV) ? IEEE80211_MSG_INPUT  : 0) |
 			0
 			;
+#endif
 	}
 	ic->ic_debug = (sc->sc_default_ieee80211_debug & IEEE80211_MSG_IC);
 
@@ -10496,9 +10502,11 @@
 				/* XXX validate? */
 				sc->sc_ledpin = val;
 				break;
+#ifdef AR_DEBUG
 			case ATH_DEBUG:
 				sc->sc_debug 	 = (val & ~ATH_DEBUG_GLOBAL);
 				ath_debug_global = (val &  ATH_DEBUG_GLOBAL);
+#endif
 				break;
 			case ATH_TXANTENNA:
 				/*
@@ -10918,9 +10926,11 @@
 	}
 
 	/* initialize values */
+#ifdef AR_DEBUG
 	ath_debug_global = (ath_debug & ATH_DEBUG_GLOBAL);
 	sc->sc_debug 	 = (ath_debug & ~ATH_DEBUG_GLOBAL);
 	sc->sc_default_ieee80211_debug = ieee80211_debug;
+#endif
 	sc->sc_txantenna = 0;		/* default to auto-selection */
 	sc->sc_txintrperiod = ATH_TXQ_INTR_PERIOD;
 }
@@ -11762,6 +11772,7 @@
 }
 
 /* This is called by a private ioctl (iwpriv) to dump the HAL obfuscation table */
+#ifdef AR_DEBUG
 static unsigned int
 ath_dump_hal_map(struct ieee80211com *ic)
 {
@@ -11770,7 +11781,7 @@
 	ath_hal_dump_map(sc->sc_ah);
 	return 0;
 }
-
+#endif
 /* If we are shutting down or blowing off the DFS channel availability check
  * then we call this to stop the behavior before we take the rest of the
  * necessary actions (such as a DFS reaction to radar). */
Index: madwifi-trunk-r3314/ath_rate/amrr/amrr.c
===================================================================
--- madwifi-trunk-r3314.orig/ath_rate/amrr/amrr.c	2008-03-07 01:45:09.410373793 +0100
+++ madwifi-trunk-r3314/ath_rate/amrr/amrr.c	2008-03-07 01:47:43.193516906 +0100
@@ -70,7 +70,9 @@
 
 #include "amrr.h"
 
+#ifdef AR_DEBUG
 #define	AMRR_DEBUG
+#endif
 #ifdef AMRR_DEBUG
 #define	DPRINTF(sc, _fmt, ...) do {					\
 	if (sc->sc_debug & 0x10)					\
Index: madwifi-trunk-r3314/ath_rate/minstrel/minstrel.c
===================================================================
--- madwifi-trunk-r3314.orig/ath_rate/minstrel/minstrel.c	2008-03-07 01:45:09.418374247 +0100
+++ madwifi-trunk-r3314/ath_rate/minstrel/minstrel.c	2008-03-07 01:47:43.201513363 +0100
@@ -117,7 +117,9 @@
 
 #include "minstrel.h"
 
+#ifdef AR_DEBUG
 #define	MINSTREL_DEBUG
+#endif
 #ifdef MINSTREL_DEBUG
 enum {
 		ATH_DEBUG_RATE		= 0x00000010	/* rate control */
Index: madwifi-trunk-r3314/ath_rate/onoe/onoe.c
===================================================================
--- madwifi-trunk-r3314.orig/ath_rate/onoe/onoe.c	2008-03-07 01:45:09.426374706 +0100
+++ madwifi-trunk-r3314/ath_rate/onoe/onoe.c	2008-03-07 01:47:43.205511589 +0100
@@ -66,7 +66,9 @@
 
 #include "onoe.h"
 
+#ifdef AR_DEBUG
 #define	ONOE_DEBUG
+#endif
 #ifdef ONOE_DEBUG
 enum {
 	ATH_DEBUG_RATE	= 0x00000010,	/* rate control */
Index: madwifi-trunk-r3314/ath_rate/sample/sample.c
===================================================================
--- madwifi-trunk-r3314.orig/ath_rate/sample/sample.c	2008-03-07 01:45:09.434375158 +0100
+++ madwifi-trunk-r3314/ath_rate/sample/sample.c	2008-03-07 01:47:43.209509818 +0100
@@ -68,7 +68,9 @@
 
 #include "sample.h"
 
-#define	SAMPLE_DEBUG
+#ifdef AR_DEBUG
+#define SAMPLE_DEBUG
+#endif
 #ifdef SAMPLE_DEBUG
 enum {
 	ATH_DEBUG_RATE		= 0x00000010,	/* rate control */
Index: madwifi-trunk-r3314/tools/do_multi.c
===================================================================
--- madwifi-trunk-r3314.orig/tools/do_multi.c	2008-03-07 01:45:09.442375616 +0100
+++ madwifi-trunk-r3314/tools/do_multi.c	2008-03-07 01:47:43.213508047 +0100
@@ -9,16 +9,20 @@
 
     progname = basename(argv[0]);
 
+#ifdef AR_DEBUG
     if(strcmp(progname, "80211debug") == 0)
 	ret = a80211debug_init(argc, argv);
+#endif
     if(strcmp(progname, "80211stats") == 0)
 	ret = a80211stats_init(argc, argv);
     if(strcmp(progname, "athchans") == 0)
 	ret = athchans_init(argc, argv);
     if(strcmp(progname, "athctrl") == 0)
 	ret =  athctrl_init(argc, argv);
+#ifdef AR_DEBUG
     if(strcmp(progname, "athdebug") == 0)
 	ret =  athdebug_init(argc, argv);
+#endif
     if(strcmp(progname, "athkey") == 0)
 	ret =  athkey_init(argc, argv);
     if(strcmp(progname, "athstats") == 0)
Index: madwifi-trunk-r3314/tools/Makefile
===================================================================
--- madwifi-trunk-r3314.orig/tools/Makefile	2008-03-07 01:45:09.450376072 +0100
+++ madwifi-trunk-r3314/tools/Makefile	2008-03-07 01:47:43.217506273 +0100
@@ -46,9 +46,10 @@
 HAL=   $(TOP)/hal
 endif
 
+DEBUG=-DAR_DEBUG
 
 ALLPROGS=	athstats 80211stats athkey athchans athctrl \
-	athdebug 80211debug wlanconfig ath_info
+	$(if $(DEBUG),80211debug athdebug) wlanconfig ath_info
 
 OBJS=	$(patsubst %,%.o,$(ALLPROGS) do_multi)
 ALL=	${OBJS} madwifi_multi
@@ -57,7 +58,7 @@
 
 INCS=	-I. -I$(HAL) -I$(TOP) -I$(ATH_HAL)
 CFLAGS=	-g -O2 -Wall
-ALL_CFLAGS= $(CFLAGS) $(INCS)
+ALL_CFLAGS= $(CFLAGS) $(INCS) $(DEBUG)
 LDFLAGS=
 
 all:	$(ALL)
@@ -84,7 +85,7 @@
 	${CC} -c -o do_multi.o -DDOMULTI=1 ${ALL_CFLAGS} do_multi.c
 madwifi_multi: $(OBJS)
 	${CC} -o madwifi_multi ${LDFLAGS} ${OBJS}
-	for i in athstats 80211stats athkey athchans athctrl athdebug wlanconfig 80211debug; do \
+	for i in $(ALLPROGS); do \
 	ln -s -f madwifi_multi $$i; \
 	done
 
Index: madwifi-trunk-r3314/net80211/ieee80211_linux.h
===================================================================
--- madwifi-trunk-r3314.orig/net80211/ieee80211_linux.h	2008-03-07 01:45:09.458376527 +0100
+++ madwifi-trunk-r3314/net80211/ieee80211_linux.h	2008-03-07 01:47:43.217506273 +0100
@@ -29,8 +29,6 @@
 #ifndef _NET80211_IEEE80211_LINUX_H_
 #define _NET80211_IEEE80211_LINUX_H_
 
-#define	IEEE80211_DEBUG
-#define	IEEE80211_DEBUG_REFCNT			/* Node reference count debugging */
 /* #define ATH_DEBUG_SPINLOCKS */		/* announce before spinlocking */
 
 #include <linux/wireless.h>
Index: madwifi-trunk-r3314/Makefile.inc
===================================================================
--- madwifi-trunk-r3314.orig/Makefile.inc	2008-03-07 01:45:09.482377896 +0100
+++ madwifi-trunk-r3314/Makefile.inc	2008-03-07 01:47:43.217506273 +0100
@@ -148,7 +148,8 @@
 TOOLS=  $(TOP)/tools 
 
 WARNINGS = -Werror
-COPTS+= $(WARNINGS)
+DEBUG = -DAR_DEBUG -DIEEE80211_DEBUG
+COPTS+= $(WARNINGS) $(DEBUG)
 INCS=	-include $(TOP)/include/compat.h -I$(TOP)/include
 
 # TARGET defines the target platform architecture. It must match one of
Index: madwifi-trunk-r3314/ath/if_ath_radar.c
===================================================================
--- madwifi-trunk-r3314.orig/ath/if_ath_radar.c	2008-03-07 01:45:09.386372426 +0100
+++ madwifi-trunk-r3314/ath/if_ath_radar.c	2008-03-07 01:47:43.217506273 +0100
@@ -19,8 +19,6 @@
  * $Id: if_ath_radar.c 2464 2007-06-15 22:51:56Z mtaylor $
  */
 #include "opt_ah.h"
-
-#define	AR_DEBUG
 #include "if_ath_debug.h"
 
 #ifndef AUTOCONF_INCLUDED
@@ -56,8 +54,6 @@
 #include <net80211/if_llc.h>
 #endif
 
-#define	AR_DEBUG
-
 #include "net80211/if_athproto.h"
 #include "if_athvar.h"
 
Index: madwifi-trunk-r3314/ath/if_ath_hal.h
===================================================================
--- madwifi-trunk-r3314.orig/ath/if_ath_hal.h	2008-03-07 01:45:09.394372879 +0100
+++ madwifi-trunk-r3314/ath/if_ath_hal.h	2008-03-07 01:47:43.221504502 +0100
@@ -1081,6 +1081,7 @@
 
            tail -f /var/log/messages | sed -f hal_unmangle.sed 
  */
+#ifdef AR_DEBUG
 static inline void ath_hal_dump_map(struct ath_hal *ah)
 {
 #ifdef CONFIG_KALLSYMS
@@ -1345,7 +1346,7 @@
 #endif				/* #ifndef CONFIG_KALLSYMS */
 
 }
-
+#endif
 #include "if_ath_hal_wrappers.h"
 
 #endif				/* #ifndef _IF_ATH_HAL_H_ */
Index: madwifi-trunk-r3314/net80211/ieee80211_var.h
===================================================================
--- madwifi-trunk-r3314.orig/net80211/ieee80211_var.h	2008-03-07 01:45:09.466376986 +0100
+++ madwifi-trunk-r3314/net80211/ieee80211_var.h	2008-03-07 01:47:43.221504502 +0100
@@ -492,9 +492,10 @@
 	/* inject a fake radar signal -- used while on a 802.11h DFS channels */
 	unsigned int (*ic_test_radar)(struct ieee80211com *);
 
+#ifdef AR_DEBUG
 	/* dump HAL */
 	unsigned int (*ic_dump_hal_map)(struct ieee80211com *);
-
+#endif
 	/* DFS channel availability check time (in seconds) */
 	void (*ic_set_dfs_cac_time)(struct ieee80211com *, unsigned int);
 	unsigned int (*ic_get_dfs_cac_time)(struct ieee80211com *);
Index: madwifi-trunk-r3314/net80211/ieee80211_wireless.c
===================================================================
--- madwifi-trunk-r3314.orig/net80211/ieee80211_wireless.c	2008-03-07 01:45:09.474377438 +0100
+++ madwifi-trunk-r3314/net80211/ieee80211_wireless.c	2008-03-07 01:47:43.225502730 +0100
@@ -1548,6 +1548,7 @@
 	return 0;
 }
 
+#ifdef AR_DEBUG
 static int 
 ieee80211_ioctl_hal_map(struct net_device *dev, struct iw_request_info *info,
        void *w, char *extra)
@@ -1558,7 +1559,7 @@
        params[0] = ic->ic_dump_hal_map(ic);
        return 0;
 }
-
+#endif
 
 static int
 ieee80211_ioctl_radar(struct net_device *dev, struct iw_request_info *info,
@@ -5258,8 +5259,10 @@
 	  IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,   "getwmmparams" },
 	{ IEEE80211_IOCTL_RADAR,
 	  0, 0, "doth_radar" },
+#ifdef AR_DEBUG
 	{ IEEE80211_IOCTL_HALMAP,
 	  0, 0, "dump_hal_map" },
+#endif
 	/*
 	 * These depends on sub-ioctl support which added in version 12.
 	 */
@@ -5695,7 +5698,9 @@
 	set_priv(IEEE80211_IOCTL_SETMLME, ieee80211_ioctl_setmlme),
 	set_priv(IEEE80211_IOCTL_SETKEY, ieee80211_ioctl_setkey),
 	set_priv(IEEE80211_IOCTL_DELKEY, ieee80211_ioctl_delkey),
+#ifdef AR_DEBUG
 	set_priv(IEEE80211_IOCTL_HALMAP, ieee80211_ioctl_hal_map),
+#endif
 	set_priv(IEEE80211_IOCTL_ADDMAC, ieee80211_ioctl_addmac),
 	set_priv(IEEE80211_IOCTL_DELMAC, ieee80211_ioctl_delmac),
 	set_priv(IEEE80211_IOCTL_WDSADDMAC, ieee80211_ioctl_wdsmac),
Index: madwifi-trunk-r3314/ath/if_ath_debug.h
===================================================================
--- madwifi-trunk-r3314.orig/ath/if_ath_debug.h	2008-03-07 01:45:09.402373336 +0100
+++ madwifi-trunk-r3314/ath/if_ath_debug.h	2008-03-07 01:47:43.225502730 +0100
@@ -68,13 +68,6 @@
 		ath_keyprint((_sc), __func__, _ix, _hk, _mac);		\
 } while (0)
 
-#else /* #ifdef AR_DEBUG */
-
-#define	DFLAG_ISSET(sc, _m)		0
-#define	DPRINTF(sc, _m, _fmt, ...)
-#define	KEYPRINTF(sc, k, ix, mac)
-
-#endif /* #ifdef AR_DEBUG */
 
 #define	IFF_DUMPPKTS(_sc, _m)   DFLAG_ISSET((_sc), (_m))
 
@@ -89,5 +82,15 @@
 #define	IPRINTF(_sc, _fmt, ...) \
 		printk(KERN_INFO "%s: %s: " _fmt, \
 			SC_DEV_NAME(_sc), __func__, ## __VA_ARGS__)
+#else
+#define	DFLAG_ISSET(sc, _m)		0
+#define	DPRINTF(sc, _m, _fmt, ...)
+#define	KEYPRINTF(sc, k, ix, mac)
+#define EPRINTF(...)
+#define WPRINTF(...)
+#define IPRINTF(...)
+#define IFF_DUMPPKTS(...) 0
+
+#endif
 
 #endif /* #ifndef _IF_ATH_DEBUG_H_ */
Index: madwifi-trunk-r3314/net80211/ieee80211_node.c
===================================================================
--- madwifi-trunk-r3314.orig/net80211/ieee80211_node.c	2008-03-07 01:49:21.741746524 +0100
+++ madwifi-trunk-r3314/net80211/ieee80211_node.c	2008-03-07 01:50:03.856146488 +0100
@@ -920,6 +920,9 @@
 	ni->ni_rxkeyoff = 0;
 }
 
+#ifndef IEEE80211_DEBUG
+#define node_print_message(...) do {} while(0)
+#else
 static void node_print_message(
 		u_int32_t flags,
 		int show_counter, 
@@ -972,7 +975,7 @@
 			adjusted_refcount);
 	va_end(args);
 }
-EXPORT_SYMBOL(node_print_message);
+#endif
 
 static void
 #ifdef IEEE80211_DEBUG_REFCNT