Main Page | Data Structures | Directories | File List | Data Fields | Globals

hostap_plx.c File Reference

#include <linux/config.h>
#include <linux/version.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/if.h>
#include <linux/skbuff.h>
#include <linux/netdevice.h>
#include <linux/workqueue.h>
#include "hostap_wext.h"
#include <linux/ioport.h>
#include <linux/pci.h>
#include "hostap_wlan.h"
#include "hostap_hw.c"

Include dependency graph for hostap_plx.c:

Go to the source code of this file.

Defines

#define PRISM2_PLX
#define PLX_MIN_ATTR_LEN   512
#define COR_SRESET   0x80
#define COR_LEVLREQ   0x40
#define COR_ENABLE_FUNC   0x01
#define PLX_PCIIPR   0x3d
#define PLX_INTCSR   0x4c
#define PLX_INTCSR_PCI_INTEN   BIT(6)
#define PLX_CNTRL   0x50
#define PLX_CNTRL_SERIAL_EEPROM_PRESENT   BIT(28)
#define PLXDEV(vendor, dev, str)   { vendor, dev, PCI_ANY_ID, PCI_ANY_ID }
#define HFA384X_OUTB(v, a)   outb((v), dev->base_addr + (a))
#define HFA384X_INB(a)   inb(dev->base_addr + (a))
#define HFA384X_OUTW(v, a)   outw((v), dev->base_addr + (a))
#define HFA384X_INW(a)   inw(dev->base_addr + (a))
#define HFA384X_INSW(a, buf, wc)   insw(dev->base_addr + (a), buf, wc)
#define HFA384X_OUTSW(a, buf, wc)   outsw(dev->base_addr + (a), buf, wc)
#define CISTPL_CONFIG   0x1A
#define CISTPL_MANFID   0x20
#define CISTPL_END   0xFF
#define CIS_MAX_LEN   256

Functions

 MODULE_AUTHOR ("SSH Communications Security Corp, Jouni Malinen")
 MODULE_DESCRIPTION ("Support for Intersil Prism2-based 802.11 wireless LAN ""cards (PLX).")
 MODULE_SUPPORTED_DEVICE ("Intersil Prism2-based WLAN cards (PLX)")
 MODULE_LICENSE ("GPL")
 MODULE_PARM (ignore_cis,"i")
 MODULE_PARM_DESC (ignore_cis,"Do not verify manfid information in CIS")
static int hfa384x_from_bap (struct net_device *dev, u16 bap, void *buf, int len)
static int hfa384x_to_bap (struct net_device *dev, u16 bap, void *buf, int len)
static void prism2_plx_cor_sreset (local_info_t *local)
static void prism2_plx_genesis_reset (local_info_t *local, int hcr)
static int prism2_plx_check_cis (unsigned long attr_mem, int attr_len, unsigned int *cor_offset, unsigned int *cor_index)
static int prism2_plx_probe (struct pci_dev *pdev, const struct pci_device_id *id)
static void prism2_plx_remove (struct pci_dev *pdev)
 MODULE_DEVICE_TABLE (pci, prism2_plx_id_table)
static int __init init_prism2_plx (void)
static void __exit exit_prism2_plx (void)
 module_init (init_prism2_plx)
 module_exit (exit_prism2_plx)

Variables

static char * version = PRISM2_VERSION " (Jouni Malinen <jkmaline@cc.hut.fi>)"
static char * dev_info = "hostap_plx"
static int ignore_cis = 0
static struct pci_device_id
prism2_plx_id_table[] 
__devinitdata
static struct prism2_plx_manfid prism2_plx_known_manfids []
static struct prism2_helper_functions prism2_plx_funcs
static struct pci_driver prism2_plx_drv_id


Define Documentation

#define CIS_MAX_LEN   256
 

Referenced by prism2_plx_check_cis().

#define CISTPL_CONFIG   0x1A
 

Referenced by prism2_config(), and prism2_plx_check_cis().

#define CISTPL_END   0xFF
 

Referenced by prism2_plx_check_cis().

#define CISTPL_MANFID   0x20
 

Referenced by prism2_plx_check_cis().

#define COR_ENABLE_FUNC   0x01
 

Definition at line 56 of file hostap_plx.c.

Referenced by prism2_plx_probe().

#define COR_LEVLREQ   0x40
 

Definition at line 55 of file hostap_plx.c.

Referenced by prism2_plx_probe().

#define COR_SRESET   0x80
 

Definition at line 54 of file hostap_plx.c.

Referenced by prism2_plx_cor_sreset(), and prism2_plx_genesis_reset().

#define HFA384X_INB  )    inb(dev->base_addr + (a))
 

Definition at line 198 of file hostap_plx.c.

#define HFA384X_INSW a,
buf,
wc  )    insw(dev->base_addr + (a), buf, wc)
 

Definition at line 201 of file hostap_plx.c.

#define HFA384X_INW  )    inw(dev->base_addr + (a))
 

Definition at line 200 of file hostap_plx.c.

#define HFA384X_OUTB v,
 )    outb((v), dev->base_addr + (a))
 

Definition at line 197 of file hostap_plx.c.

#define HFA384X_OUTSW a,
buf,
wc  )    outsw(dev->base_addr + (a), buf, wc)
 

Definition at line 202 of file hostap_plx.c.

#define HFA384X_OUTW v,
 )    outw((v), dev->base_addr + (a))
 

Definition at line 199 of file hostap_plx.c.

#define PLX_CNTRL   0x50
 

Definition at line 62 of file hostap_plx.c.

Referenced by prism2_plx_probe().

#define PLX_CNTRL_SERIAL_EEPROM_PRESENT   BIT(28)
 

Definition at line 63 of file hostap_plx.c.

Referenced by prism2_plx_probe().

#define PLX_INTCSR   0x4c
 

Definition at line 60 of file hostap_plx.c.

Referenced by prism2_plx_probe().

#define PLX_INTCSR_PCI_INTEN   BIT(6)
 

Definition at line 61 of file hostap_plx.c.

Referenced by prism2_plx_probe().

#define PLX_MIN_ATTR_LEN   512
 

Definition at line 53 of file hostap_plx.c.

Referenced by prism2_plx_probe().

#define PLX_PCIIPR   0x3d
 

Definition at line 58 of file hostap_plx.c.

#define PLXDEV vendor,
dev,
str  )    { vendor, dev, PCI_ANY_ID, PCI_ANY_ID }
 

Definition at line 66 of file hostap_plx.c.

#define PRISM2_PLX
 

Definition at line 1 of file hostap_plx.c.


Function Documentation

static void __exit exit_prism2_plx void  ) [static]
 

Definition at line 611 of file hostap_plx.c.

References dev_info, and prism2_plx_drv_id.

static int hfa384x_from_bap struct net_device * dev,
u16 bap,
void * buf,
int len
[static]
 

Definition at line 207 of file hostap_plx.c.

References HFA384X_INB, and HFA384X_INSW.

static int hfa384x_to_bap struct net_device * dev,
u16 bap,
void * buf,
int len
[static]
 

Definition at line 227 of file hostap_plx.c.

References HFA384X_OUTB, and HFA384X_OUTSW.

static int __init init_prism2_plx void  ) [static]
 

Definition at line 596 of file hostap_plx.c.

References dev_info, prism2_plx_drv_id, and version.

MODULE_AUTHOR "SSH Communications Security  Corp,
Jouni Malinen" 
 

MODULE_DESCRIPTION "Support for Intersil Prism2-based 802.11 wireless LAN ""cards (PLX)."  ) 
 

MODULE_DEVICE_TABLE pci ,
prism2_plx_id_table 
 

module_exit exit_prism2_plx  ) 
 

module_init init_prism2_plx  ) 
 

MODULE_LICENSE "GPL"  ) 
 

MODULE_PARM ignore_cis ,
"i" 
 

MODULE_PARM_DESC ignore_cis ,
"Do not verify manfid information in CIS" 
 

MODULE_SUPPORTED_DEVICE "Intersil Prism2-based WLAN cards (PLX)"  ) 
 

static int prism2_plx_check_cis unsigned long attr_mem,
int attr_len,
unsigned int * cor_offset,
unsigned int * cor_index
[static]
 

Definition at line 317 of file hostap_plx.c.

References CIS_MAX_LEN, CISTPL_CONFIG, CISTPL_END, CISTPL_MANFID, dev_info, ignore_cis, prism2_plx_manfid::manfid1, prism2_plx_manfid::manfid2, and prism2_plx_known_manfids.

Referenced by prism2_plx_probe().

static void prism2_plx_cor_sreset local_info_t * local  ) [static]
 

Definition at line 250 of file hostap_plx.c.

References COR_SRESET, and dev_info.

Referenced by prism2_plx_remove().

static void prism2_plx_genesis_reset local_info_t * local,
int hcr
[static]
 

Definition at line 279 of file hostap_plx.c.

References COR_SRESET.

static int prism2_plx_probe struct pci_dev * pdev,
const struct pci_device_id * id
[static]
 

Definition at line 406 of file hostap_plx.c.

References COR_ENABLE_FUNC, COR_LEVLREQ, dev_info, PLX_CNTRL, PLX_CNTRL_SERIAL_EEPROM_PRESENT, PLX_INTCSR, PLX_INTCSR_PCI_INTEN, PLX_MIN_ATTR_LEN, prism2_free_local_data(), prism2_hw_config(), prism2_init_dev(), prism2_init_local_data(), prism2_plx_check_cis(), and prism2_plx_funcs.

Here is the call graph for this function:

static void prism2_plx_remove struct pci_dev * pdev  ) [static]
 

Definition at line 556 of file hostap_plx.c.

References hfa384x_disable_interrupts(), prism2_free_local_data(), and prism2_plx_cor_sreset().

Here is the call graph for this function:


Variable Documentation

struct pci_device_id prism2_plx_id_table [] __devinitdata [static]
 

Initial value:

 {
PLXDEV(0x10b7, 0x7770, "3Com AirConnect PCI 777A"),
PLXDEV(0x111a, 0x1023, "Siemens SpeedStream SS1023"),
PLXDEV(0x126c, 0x8030, "Nortel emobility"),
PLXDEV(0x1385, 0x4100, "Netgear MA301"),
PLXDEV(0x15e8, 0x0130, "National Datacomm NCP130 (PLX9052)"),
PLXDEV(0x15e8, 0x0131, "National Datacomm NCP130 (TMD7160)"),
PLXDEV(0x1638, 0x1100, "Eumitcom WL11000"),
PLXDEV(0x16ab, 0x1101, "Global Sun Tech GL24110P (?)"),
PLXDEV(0x16ab, 0x1102, "Linksys WPC11 with WDT11"),
PLXDEV(0x16ab, 0x1103, "Longshine 8031"),
PLXDEV(0x16ec, 0x3685, "US Robotics USR2415"),
PLXDEV(0xec80, 0xec00, "Belkin F5D6000"),
        { 0 }
}

Definition at line 68 of file hostap_plx.c.

char* dev_info = "hostap_plx" [static]
 

Definition at line 31 of file hostap_plx.c.

Referenced by exit_prism2_plx(), init_prism2_plx(), prism2_plx_check_cis(), prism2_plx_cor_sreset(), and prism2_plx_probe().

int ignore_cis = 0 [static]
 

Definition at line 41 of file hostap_plx.c.

Referenced by prism2_plx_check_cis().

struct pci_driver prism2_plx_drv_id [static]
 

Initial value:

 {
        .name           = "prism2_plx",
        .id_table       = prism2_plx_id_table,
        .probe          = prism2_plx_probe,
        .remove         = prism2_plx_remove,




 
        .suspend        = NULL,
        .resume         = NULL

}

Definition at line 580 of file hostap_plx.c.

Referenced by exit_prism2_plx(), and init_prism2_plx().

struct prism2_helper_functions prism2_plx_funcs [static]
 

Initial value:

{
        .card_present   = NULL,
        .cor_sreset     = prism2_plx_cor_sreset,
        .dev_open       = NULL,
        .dev_close      = NULL,
        .genesis_reset  = prism2_plx_genesis_reset,
}

Definition at line 307 of file hostap_plx.c.

Referenced by prism2_plx_probe().

struct prism2_plx_manfid prism2_plx_known_manfids[] [static]
 

Referenced by prism2_plx_check_cis().

char* version = PRISM2_VERSION " (Jouni Malinen <jkmaline@cc.hut.fi>)" [static]
 

Definition at line 30 of file hostap_plx.c.

Referenced by init_prism2_plx().


Generated on Mon Nov 21 16:01:33 2005 for openwifi by  doxygen 1.4.1