fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / drivers / net / wireless / wavelan.p.h
index d35ac4d..72b646c 100644 (file)
  * characteristics of the hardware.  Applications such as mobile IP may
  * take advantage of it.
  *
- * You will need to enable the CONFIG_NET_RADIO define in the kernel
- * configuration to enable the wireless extensions (this is the one
- * giving access to the radio network device choice).
- *
- * It might also be a good idea as well to fetch the wireless tools to
+ * It might be a good idea as well to fetch the wireless tools to
  * configure the device and play a bit.
  */
 
 #include       <linux/in.h>
 #include       <linux/string.h>
 #include       <linux/delay.h>
+#include       <linux/bitops.h>
 #include       <asm/system.h>
-#include       <asm/bitops.h>
 #include       <asm/io.h>
 #include       <asm/dma.h>
 #include       <asm/uaccess.h>
 #define MULTICAST_AVOID                /* Avoid extra multicast (I'm sceptical). */
 #undef SET_MAC_ADDRESS         /* Experimental */
 
-#ifdef WIRELESS_EXT    /* If wireless extensions exist in the kernel */
 /* Warning:  this stuff will slow down the driver. */
 #define WIRELESS_SPY           /* Enable spying addresses. */
 #undef HISTOGRAM               /* Enable histogram of signal level. */
-#endif
 
 /****************************** DEBUG ******************************/
 
@@ -506,11 +500,10 @@ struct net_local
   u_short      tx_first_free;
   u_short      tx_first_in_use;
 
-#ifdef WIRELESS_EXT
   iw_stats     wstats;         /* Wireless-specific statistics */
 
   struct iw_spy_data   spy_data;
-#endif
+  struct iw_public_data        wireless_data;
 
 #ifdef HISTOGRAM
   int          his_number;             /* number of intervals */
@@ -614,6 +607,8 @@ static inline void
 /* ------------------- IOCTL, STATS & RECONFIG ------------------- */
 static en_stats        *
        wavelan_get_stats(struct net_device *); /* Give stats /proc/net/dev */
+static iw_stats *
+       wavelan_get_wireless_stats(struct net_device *);
 static void
        wavelan_set_multicast_list(struct net_device *);
 /* ----------------------- PACKET RECEPTION ----------------------- */
@@ -647,8 +642,7 @@ static int
 /* ---------------------- INTERRUPT HANDLING ---------------------- */
 static irqreturn_t
        wavelan_interrupt(int,          /* interrupt handler */
-                         void *,
-                         struct pt_regs *);
+                         void *);
 static void
        wavelan_watchdog(struct net_device *);  /* transmission watchdog */
 /* ------------------- CONFIGURATION CALLBACKS ------------------- */
@@ -700,10 +694,11 @@ static unsigned short     iobase[]        =
 /* Parameters set by insmod */
 static int     io[4];
 static int     irq[4];
-static char    name[4][IFNAMSIZ];
-MODULE_PARM(io, "1-4i");
-MODULE_PARM(irq, "1-4i");
-MODULE_PARM(name, "1-4c" __MODULE_STRING(IFNAMSIZ));
+static char    *name[4];
+module_param_array(io, int, NULL, 0);
+module_param_array(irq, int, NULL, 0);
+module_param_array(name, charp, NULL, 0);
+
 MODULE_PARM_DESC(io, "WaveLAN I/O base address(es),required");
 MODULE_PARM_DESC(irq, "WaveLAN IRQ number(s)");
 MODULE_PARM_DESC(name, "WaveLAN interface neme(s)");