linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / drivers / net / wireless / wavelan_cs.p.h
index f7dfc2f..f2d5975 100644 (file)
 #include <linux/spinlock.h>
 #include <linux/in.h>
 #include <linux/delay.h>
+#include <linux/bitops.h>
 #include <asm/uaccess.h>
 #include <asm/io.h>
 #include <asm/system.h>
-#include <asm/bitops.h>
 
 #include <linux/netdevice.h>
 #include <linux/etherdevice.h>
 #include <pcmcia/cistpl.h>
 #include <pcmcia/cisreg.h>
 #include <pcmcia/ds.h>
-#include <pcmcia/version.h>
 
 /* Wavelan declarations */
 #include "i82593.h"    /* Definitions for the Intel chip */
 #define MULTICAST_AVOID                /* Avoid extra multicast (I'm sceptical) */
 #undef SET_MAC_ADDRESS         /* Experimental */
 
-#ifdef WIRELESS_EXT    /* If wireless extension exist in the kernel */
 /* Warning : these stuff will slow down the driver... */
 #define WIRELESS_SPY           /* Enable spying addresses */
 #undef HISTOGRAM               /* Enable histogram of sig level... */
-#endif
 
 /****************************** DEBUG ******************************/
 
@@ -625,11 +622,10 @@ struct net_local
   int          rfp;            /* Last DMA machine receive pointer */
   int          overrunning;    /* Receiver overrun flag */
 
-#ifdef WIRELESS_EXT
   iw_stats     wstats;         /* Wireless specific stats */
 
   struct iw_spy_data   spy_data;
-#endif
+  struct iw_public_data        wireless_data;
 
 #ifdef HISTOGRAM
   int          his_number;             /* Number of intervals */
@@ -644,25 +640,9 @@ struct net_local
   int                  cell_search;            /* Searching for new cell? */
   struct timer_list    cell_timer;             /* Garbage collection */
 #endif /* WAVELAN_ROAMING */
+  void __iomem *mem;
 };
 
-/**************************** PROTOTYPES ****************************/
-
-#ifdef WAVELAN_ROAMING
-/* ---------------------- ROAMING SUBROUTINES -----------------------*/
-
-wavepoint_history *wl_roam_check(unsigned short nwid, net_local *lp);
-wavepoint_history *wl_new_wavepoint(unsigned short nwid, unsigned char seq, net_local *lp);
-void wl_del_wavepoint(wavepoint_history *wavepoint, net_local *lp);
-void wl_cell_expiry(unsigned long data);
-wavepoint_history *wl_best_sigqual(int fast_search, net_local *lp);
-void wl_update_history(wavepoint_history *wavepoint, unsigned char sigqual, unsigned char seq);
-void wv_roam_handover(wavepoint_history *wavepoint, net_local *lp);
-void wv_nwid_filter(unsigned char mode, net_local *lp);
-void wv_roam_init(struct net_device *dev);
-void wv_roam_cleanup(struct net_device *dev);
-#endif /* WAVELAN_ROAMING */
-
 /* ----------------- MODEM MANAGEMENT SUBROUTINES ----------------- */
 static inline u_char           /* data */
        hasr_read(u_long);      /* Read the host interface : base address */
@@ -725,6 +705,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 *);
 /* ----------------------- PACKET RECEPTION ----------------------- */
 static inline int
        wv_start_of_frame(struct net_device *,  /* Seek beggining of current frame */
@@ -772,42 +754,26 @@ static void
 static int
        wavelan_open(struct net_device *),              /* Open the device */
        wavelan_close(struct net_device *);     /* Close the device */
-static dev_link_t *
-       wavelan_attach(void);           /* Create a new device */
 static void
-       wavelan_detach(dev_link_t *);   /* Destroy a removed device */
-static int
-       wavelan_event(event_t,          /* Manage pcmcia events */
-                     int,
-                     event_callback_args_t *);
+       wavelan_detach(struct pcmcia_device *p_dev);    /* Destroy a removed device */
 
 /**************************** VARIABLES ****************************/
 
-static dev_info_t dev_info = "wavelan_cs";
-static dev_link_t *dev_list = NULL;    /* Linked list of devices */
-
 /*
  * Parameters that can be set with 'insmod'
  * The exact syntax is 'insmod wavelan_cs.o <var>=<value>'
  */
 
-/* Bit map of interrupts to choose from */
-/* This means pick from 15, 14, 12, 11, 10, 9, 7, 5, 4 and 3 */
-static int     irq_mask = 0xdeb8;
-static int     irq_list[4] = { -1 };
-
 /* Shared memory speed, in ns */
 static int     mem_speed = 0;
 
 /* New module interface */
-MODULE_PARM(irq_mask, "i");
-MODULE_PARM(irq_list, "1-4i");
-MODULE_PARM(mem_speed, "i");
+module_param(mem_speed, int, 0);
 
 #ifdef WAVELAN_ROAMING         /* Conditional compile, see above in options */
 /* Enable roaming mode ? No ! Please keep this to 0 */
 static int     do_roaming = 0;
-MODULE_PARM(do_roaming, "i");
+module_param(do_roaming, bool, 0);
 #endif /* WAVELAN_ROAMING */
 
 MODULE_LICENSE("GPL");