X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=drivers%2Fnet%2Fwireless%2Forinoco.h;h=c6b1858abde87597f3ff64bdbd4deeb33bad9568;hb=ed499983b88d138848ec9e4d104fd86a5ef0c183;hp=16db3e14b7d2d5a115e8572543b7322593d9ed02;hpb=0c97f524fc16004602f97ba19c36acdcc0fb9688;p=linux-2.6 diff --git a/drivers/net/wireless/orinoco.h b/drivers/net/wireless/orinoco.h index 16db3e14b7..c6b1858abd 100644 --- a/drivers/net/wireless/orinoco.h +++ b/drivers/net/wireless/orinoco.h @@ -36,6 +36,12 @@ typedef enum { FIRMWARE_TYPE_SYMBOL } fwtype_t; +typedef struct { + union hermes_scan_info bss; + unsigned long last_scanned; + struct list_head list; +} bss_element; + struct orinoco_private { void *card; /* Pointer to card dependent structure */ int (*hard_reset)(struct orinoco_private *); @@ -105,10 +111,12 @@ struct orinoco_private { int promiscuous, mc_count; /* Scanning support */ + struct list_head bss_list; + struct list_head bss_free_list; + bss_element *bss_data; + int scan_inprogress; /* Scan pending... */ u32 scan_mode; /* Type of scan done */ - char * scan_result; /* Result of previous scan */ - int scan_len; /* Lenght of result */ }; #ifdef ORINOCO_DEBUG @@ -128,17 +136,13 @@ extern void free_orinocodev(struct net_device *dev); extern int __orinoco_up(struct net_device *dev); extern int __orinoco_down(struct net_device *dev); extern int orinoco_reinit_firmware(struct net_device *dev); -extern irqreturn_t orinoco_interrupt(int irq, void * dev_id, struct pt_regs *regs); +extern irqreturn_t orinoco_interrupt(int irq, void * dev_id); /********************************************************************/ /* Locking and synchronization functions */ /********************************************************************/ -/* These functions *must* be inline or they will break horribly on - * SPARC, due to its weird semantics for save/restore flags. extern - * inline should prevent the kernel from linking or module from - * loading if they are not inlined. */ -extern inline int orinoco_lock(struct orinoco_private *priv, +static inline int orinoco_lock(struct orinoco_private *priv, unsigned long *flags) { spin_lock_irqsave(&priv->lock, *flags); @@ -151,7 +155,7 @@ extern inline int orinoco_lock(struct orinoco_private *priv, return 0; } -extern inline void orinoco_unlock(struct orinoco_private *priv, +static inline void orinoco_unlock(struct orinoco_private *priv, unsigned long *flags) { spin_unlock_irqrestore(&priv->lock, *flags);