[brcm63xx] 6338 has no PCI
[openwrt.git] / package / madwifi / patches / 200-no_debug.patch
index 71675e5..ed44389 100644 (file)
-Index: madwifi-ng-r2525-20070630/ath/if_ath.c
-===================================================================
---- madwifi-ng-r2525-20070630.orig/ath/if_ath.c        2007-07-03 23:02:30.957978500 +0200
-+++ madwifi-ng-r2525-20070630/ath/if_ath.c     2007-07-03 23:02:32.178054750 +0200
-@@ -75,7 +75,7 @@
- #include <net80211/if_llc.h>
- #endif
+--- a/ath/if_ath.c
++++ b/ath/if_ath.c
+@@ -42,7 +42,6 @@
+  * This software is derived from work of Atsushi Onoe; his contribution
+  * is greatly appreciated.
+  */
 -#define       AR_DEBUG
 -#define       AR_DEBUG
-+#undef        AR_DEBUG
+ #include "if_ath_debug.h"
+ #include "opt_ah.h"
  
  
- #include "net80211/if_athproto.h"
- #include "if_athvar.h"
-Index: madwifi-ng-r2525-20070630/ath_rate/amrr/amrr.c
-===================================================================
---- madwifi-ng-r2525-20070630.orig/ath_rate/amrr/amrr.c        2007-07-03 23:02:25.053609500 +0200
-+++ madwifi-ng-r2525-20070630/ath_rate/amrr/amrr.c     2007-07-03 23:02:32.178054750 +0200
-@@ -70,7 +70,7 @@
+@@ -368,8 +367,10 @@ static unsigned int ath_get_dfs_cac_time
+ 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 @@ ath_attach(u_int16_t devid, struct net_d
+       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 @@ ath_attach(u_int16_t devid, struct net_d
+       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 @@ ath_vap_create(struct ieee80211com *ic, 
+               /* 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 @@ ATH_SYSCTL_DECL(ath_sysctl_halparam, ctl
+                               /* 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 @@ ath_dynamic_sysctl_register(struct ath_s
+       }
+       /* 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 @@ ath_test_radar(struct ieee80211com *ic)
+ }
+ /* 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_dump_hal_map(struct ieee80211com *ic
+       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). */
+--- a/ath_rate/amrr/amrr.c
++++ b/ath_rate/amrr/amrr.c
+@@ -70,7 +70,9 @@
  
  #include "amrr.h"
  
  
  #include "amrr.h"
  
--#define       AMRR_DEBUG
-+#undef        AMRR_DEBUG
++#ifdef AR_DEBUG
+ #define       AMRR_DEBUG
++#endif
  #ifdef AMRR_DEBUG
  #define       DPRINTF(sc, _fmt, ...) do {                                     \
        if (sc->sc_debug & 0x10)                                        \
  #ifdef AMRR_DEBUG
  #define       DPRINTF(sc, _fmt, ...) do {                                     \
        if (sc->sc_debug & 0x10)                                        \
-Index: madwifi-ng-r2525-20070630/ath_rate/minstrel/minstrel.c
-===================================================================
---- madwifi-ng-r2525-20070630.orig/ath_rate/minstrel/minstrel.c        2007-07-03 23:02:30.209931750 +0200
-+++ madwifi-ng-r2525-20070630/ath_rate/minstrel/minstrel.c     2007-07-03 23:02:32.230058000 +0200
-@@ -117,7 +117,7 @@
+--- a/ath_rate/minstrel/minstrel.c
++++ b/ath_rate/minstrel/minstrel.c
+@@ -117,7 +117,9 @@
  
  #include "minstrel.h"
  
  
  #include "minstrel.h"
  
--#define       MINSTREL_DEBUG
-+#undef        MINSTREL_DEBUG
++#ifdef AR_DEBUG
+ #define       MINSTREL_DEBUG
++#endif
  #ifdef MINSTREL_DEBUG
  enum {
                ATH_DEBUG_RATE          = 0x00000010    /* rate control */
  #ifdef MINSTREL_DEBUG
  enum {
                ATH_DEBUG_RATE          = 0x00000010    /* rate control */
-Index: madwifi-ng-r2525-20070630/ath_rate/onoe/onoe.c
-===================================================================
---- madwifi-ng-r2525-20070630.orig/ath_rate/onoe/onoe.c        2007-07-03 23:02:25.073610750 +0200
-+++ madwifi-ng-r2525-20070630/ath_rate/onoe/onoe.c     2007-07-03 23:02:32.254059500 +0200
-@@ -66,7 +66,7 @@
+--- a/ath_rate/onoe/onoe.c
++++ b/ath_rate/onoe/onoe.c
+@@ -66,7 +66,9 @@
  
  #include "onoe.h"
  
  
  #include "onoe.h"
  
--#define       ONOE_DEBUG
-+#undef        ONOE_DEBUG
++#ifdef AR_DEBUG
+ #define       ONOE_DEBUG
++#endif
  #ifdef ONOE_DEBUG
  enum {
        ATH_DEBUG_RATE  = 0x00000010,   /* rate control */
  #ifdef ONOE_DEBUG
  enum {
        ATH_DEBUG_RATE  = 0x00000010,   /* rate control */
-Index: madwifi-ng-r2525-20070630/ath_rate/sample/sample.c
-===================================================================
---- madwifi-ng-r2525-20070630.orig/ath_rate/sample/sample.c    2007-07-03 23:02:25.081611250 +0200
-+++ madwifi-ng-r2525-20070630/ath_rate/sample/sample.c 2007-07-03 23:02:32.282061250 +0200
-@@ -68,7 +68,7 @@
+--- a/ath_rate/sample/sample.c
++++ b/ath_rate/sample/sample.c
+@@ -68,7 +68,9 @@
  
  #include "sample.h"
  
 -#define       SAMPLE_DEBUG
  
  #include "sample.h"
  
 -#define       SAMPLE_DEBUG
-+#undef        SAMPLE_DEBUG
++#ifdef AR_DEBUG
++#define SAMPLE_DEBUG
++#endif
  #ifdef SAMPLE_DEBUG
  enum {
  #ifdef SAMPLE_DEBUG
  enum {
-       ATH_DEBUG_NODE          = 0x00080000,   /* node management */
-Index: madwifi-ng-r2525-20070630/net80211/ieee80211_proto.c
-===================================================================
---- madwifi-ng-r2525-20070630.orig/net80211/ieee80211_proto.c  2007-07-03 23:02:25.089611750 +0200
-+++ madwifi-ng-r2525-20070630/net80211/ieee80211_proto.c       2007-07-03 23:02:32.306062750 +0200
-@@ -286,6 +286,7 @@
- }
- EXPORT_SYMBOL(ieee80211_aclator_get);
-+#ifdef IEEE80211_DEBUG
- void
- ieee80211_print_essid(const u_int8_t *essid, int len)
- {
-@@ -312,7 +313,6 @@
- }
- EXPORT_SYMBOL(ieee80211_print_essid);
--#ifdef IEEE80211_DEBUG
- void
- ieee80211_dump_pkt(struct ieee80211com *ic,
-       const u_int8_t *buf, int len, int rate, int rssi)
-Index: madwifi-ng-r2525-20070630/net80211/ieee80211_var.h
-===================================================================
---- madwifi-ng-r2525-20070630.orig/net80211/ieee80211_var.h    2007-07-03 23:02:25.101612500 +0200
-+++ madwifi-ng-r2525-20070630/net80211/ieee80211_var.h 2007-07-03 23:02:32.330064250 +0200
-@@ -35,8 +35,8 @@
- #ifndef _NET80211_IEEE80211_VAR_H_
- #define _NET80211_IEEE80211_VAR_H_
--#define       IEEE80211_DEBUG
--#define       IEEE80211_DEBUG_REFCNT                  /* Node reference count debugging */
-+#undef        IEEE80211_DEBUG
-+#undef        IEEE80211_DEBUG_REFCNT                  /* Node reference count debugging */
- /* Definitions for IEEE 802.11 drivers. */
- #include <net80211/ieee80211_linux.h>
-Index: madwifi-ng-r2525-20070630/tools/do_multi.c
-===================================================================
---- madwifi-ng-r2525-20070630.orig/tools/do_multi.c    2007-07-03 23:02:27.557766000 +0200
-+++ madwifi-ng-r2525-20070630/tools/do_multi.c 2007-07-03 23:02:32.386067750 +0200
-@@ -9,16 +9,20 @@
+       ATH_DEBUG_RATE          = 0x00000010,   /* rate control */
+--- a/tools/do_multi.c
++++ b/tools/do_multi.c
+@@ -10,16 +10,20 @@ main(int argc, char *argv[])
  
      progname = basename(argv[0]);
  
  
      progname = basename(argv[0]);
  
-+#if 0
++#ifdef AR_DEBUG
      if(strcmp(progname, "80211debug") == 0)
        ret = a80211debug_init(argc, argv);
 +#endif
      if(strcmp(progname, "80211debug") == 0)
        ret = a80211debug_init(argc, argv);
 +#endif
@@ -116,32 +164,242 @@ Index: madwifi-ng-r2525-20070630/tools/do_multi.c
        ret = athchans_init(argc, argv);
      if(strcmp(progname, "athctrl") == 0)
        ret =  athctrl_init(argc, argv);
        ret = athchans_init(argc, argv);
      if(strcmp(progname, "athctrl") == 0)
        ret =  athctrl_init(argc, argv);
-+#if 0
++#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)
      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-ng-r2525-20070630/tools/Makefile
-===================================================================
---- madwifi-ng-r2525-20070630.orig/tools/Makefile      2007-07-03 23:02:27.605769000 +0200
-+++ madwifi-ng-r2525-20070630/tools/Makefile   2007-07-03 23:02:32.406069000 +0200
-@@ -52,7 +52,7 @@
-       
- ifdef DOMULTI
- OBJS= do_multi.o athstats.o 80211stats.o athkey.o athchans.o athctrl.o \
--      athdebug.o 80211debug.o wlanconfig.o 
-+      wlanconfig.o
- ALL=  ${OBJS} madwifi_multi
- endif
-@@ -85,7 +85,7 @@
-       ${CC} -c -o do_multi.o -DDOMULTI=1 ${ALL_CFLAGS} do_multi.c
- madwifi_multi:
-       ${CC} -o madwifi_multi ${LDFLAGS} ${OBJS}
--      for i in athstats 80211stats athkey athchans athctrl athdebug wlanconfig 80211debug; do \
-+      for i in athstats 80211stats athkey athchans athctrl wlanconfig; do \
-       ln -s -f madwifi_multi $$i; \
-       done
+--- a/tools/Makefile
++++ b/tools/Makefile
+@@ -48,6 +48,8 @@ endif
+ all: compile
++DEBUG = -DAR_DEBUG
++
+ ALLPROGS=     athstats 80211stats athkey athchans athctrl \
+       athdebug 80211debug wlanconfig ath_info
+@@ -55,7 +57,7 @@ OBJS=        $(patsubst %,%.o,$(ALLPROGS))
+ INCS= -I. -I../ath -I$(HAL) -I$(TOP) -I$(ATH_HAL)
+ CFLAGS=       -g -O2 -Wall
+-ALL_CFLAGS= $(CFLAGS) $(INCS)
++ALL_CFLAGS= $(CFLAGS) $(INCS) $(DEBUG)
+ LDFLAGS=
+--- a/net80211/ieee80211_linux.h
++++ b/net80211/ieee80211_linux.h
+@@ -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>
+--- a/Makefile.inc
++++ b/Makefile.inc
+@@ -148,7 +148,8 @@ ATH_RATE=  $(TOP)/ath_rate
+ 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
+--- a/ath/if_ath_radar.c
++++ b/ath/if_ath_radar.c
+@@ -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"
+--- a/ath/if_ath_hal.h
++++ b/ath/if_ath_hal.h
+@@ -1081,6 +1081,7 @@ static inline HAL_BOOL ath_hal_disable(s
+            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 @@ static inline void ath_hal_dump_map(stru
+ #endif                                /* #ifndef CONFIG_KALLSYMS */
+ }
+-
++#endif
+ #include "if_ath_hal_wrappers.h"
+ #endif                                /* #ifndef _IF_ATH_HAL_H_ */
+--- a/net80211/ieee80211_var.h
++++ b/net80211/ieee80211_var.h
+@@ -492,9 +492,10 @@ struct ieee80211com {
+       /* 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 *);
+--- a/net80211/ieee80211_wireless.c
++++ b/net80211/ieee80211_wireless.c
+@@ -1548,6 +1548,7 @@ ieee80211_get_txcont_power(struct net_de
+       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 @@ ieee80211_ioctl_hal_map(struct net_devic
+        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 @@ static const struct iw_priv_args ieee802
+         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 @@ static const iw_handler ieee80211_priv_h
+       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),
+--- a/ath/if_ath_debug.h
++++ b/ath/if_ath_debug.h
+@@ -54,6 +54,10 @@ enum {
+       ATH_DEBUG_GLOBAL        = (ATH_DEBUG_SKB|ATH_DEBUG_SKB_REF)
+ };
++#define       EPRINTF(_sc, _fmt, ...) \
++              printk(KERN_ERR "%s: %s: " _fmt, \
++                      SC_DEV_NAME(_sc), __func__, ## __VA_ARGS__)
++
+ #ifdef AR_DEBUG
+ /* DEBUG-ONLY DEFINITIONS */
+@@ -68,20 +72,9 @@ enum {
+               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))
+-#define       EPRINTF(_sc, _fmt, ...) \
+-              printk(KERN_ERR "%s: %s: " _fmt, \
+-                      SC_DEV_NAME(_sc), __func__, ## __VA_ARGS__)
+-
+ #define       WPRINTF(_sc, _fmt, ...) \
+               printk(KERN_WARNING "%s: %s: " _fmt, \
+                       SC_DEV_NAME(_sc), __func__, ## __VA_ARGS__)
+@@ -89,5 +82,14 @@ enum {
+ #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 WPRINTF(...)
++#define IPRINTF(...)
++#define IFF_DUMPPKTS(...) 0
++
++#endif
+ #endif /* #ifndef _IF_ATH_DEBUG_H_ */
+--- a/net80211/ieee80211_node.c
++++ b/net80211/ieee80211_node.c
+@@ -920,6 +920,9 @@ node_cleanup(struct ieee80211_node *ni)
+       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 @@ static void node_print_message(
+                       adjusted_refcount);
+       va_end(args);
+ }
+-EXPORT_SYMBOL(node_print_message);
++#endif
+ static void
+ #ifdef IEEE80211_DEBUG_REFCNT
+--- a/ath/if_ath_pci.c
++++ b/ath/if_ath_pci.c
+@@ -134,8 +134,10 @@ ath_pci_probe(struct pci_dev *pdev, cons
+       u16 vdevice;
+       int i;
+-      if (pci_enable_device(pdev))
++      if (pci_enable_device(pdev)) {
++              printk(KERN_ERR "%s: failed to enable PCI device\n", dev_info);
+               return -EIO;
++      }
+       /* XXX 32-bit addressing only */
+       if (pci_set_dma_mask(pdev, 0xffffffff)) {
+@@ -244,8 +246,10 @@ ath_pci_probe(struct pci_dev *pdev, cons
+               sc->aps_sc.sc_ledpin = 1;
+       }
+-      if (ath_attach(vdevice, dev, NULL) != 0)
++      if ((i = ath_attach(vdevice, dev, NULL)) != 0) {
++              printk(KERN_ERR "%s: ath_attach failed: %d\n", dev_info, i);
+               goto bad4;
++      }
  
  
+       athname = ath_hal_probe(id->vendor, vdevice);
+       printk(KERN_INFO "%s: %s: %s: mem=0x%lx, irq=%d\n",
This page took 0.031506 seconds and 4 git commands to generate.