Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
main.c File Reference
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/device.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/suspend.h>
#include <linux/if_arp.h>
#include <linux/wireless.h>
#include <linux/ieee80211.h>
#include <net/iw_handler.h>
#include <net/cfg80211.h>
#include "hermes_rid.h"
#include "hermes_dld.h"
#include "hw.h"
#include "scan.h"
#include "mic.h"
#include "fw.h"
#include "wext.h"
#include "cfg.h"
#include "main.h"
#include "orinoco.h"

Go to the source code of this file.

Data Structures

struct  hermes_txexc_data
 
struct  hermes_rx_descriptor
 
struct  orinoco_rx_data
 
struct  orinoco_scan_data
 

Macros

#define DRIVER_NAME   "orinoco"
 
#define ENCAPS_OVERHEAD   (sizeof(encaps_hdr) + 2)
 
#define ORINOCO_MIN_MTU   256
 
#define ORINOCO_MAX_MTU   (IEEE80211_MAX_DATA_LEN - ENCAPS_OVERHEAD)
 
#define MAX_IRQLOOPS_PER_IRQ   10
 
#define MAX_IRQLOOPS_PER_JIFFY
 
#define DUMMY_FID   0xFFFF
 
#define MAX_MULTICAST(priv)   (HERMES_MAX_MULTICAST)
 
#define ORINOCO_INTEN
 
#define orinoco_register_pm_notifier(priv)   do { } while (0)
 
#define orinoco_unregister_pm_notifier(priv)   do { } while (0)
 

Functions

 MODULE_AUTHOR ("Pavel Roskin <[email protected]> & ""David Gibson <hermes@gibson.dropbear.id.au>")
 
 MODULE_DESCRIPTION ("Driver for Lucent Orinoco, Prism II based ""and similar wireless cards")
 
 MODULE_LICENSE ("Dual MPL/GPL")
 
 module_param (suppress_linkstatus, bool, 0644)
 
 MODULE_PARM_DESC (suppress_linkstatus,"Don't log link status changes")
 
 module_param (ignore_disconnect, int, 0644)
 
 MODULE_PARM_DESC (ignore_disconnect,"Don't report lost link to the network layer")
 
 module_param (force_monitor, int, 0644)
 
 MODULE_PARM_DESC (force_monitor,"Allow monitor mode for all firmware versions")
 
void set_port_type (struct orinoco_private *priv)
 
int orinoco_open (struct net_device *dev)
 
 EXPORT_SYMBOL (orinoco_open)
 
int orinoco_stop (struct net_device *dev)
 
 EXPORT_SYMBOL (orinoco_stop)
 
struct net_device_statsorinoco_get_stats (struct net_device *dev)
 
 EXPORT_SYMBOL (orinoco_get_stats)
 
void orinoco_set_multicast_list (struct net_device *dev)
 
 EXPORT_SYMBOL (orinoco_set_multicast_list)
 
int orinoco_change_mtu (struct net_device *dev, int new_mtu)
 
 EXPORT_SYMBOL (orinoco_change_mtu)
 
int orinoco_process_xmit_skb (struct sk_buff *skb, struct net_device *dev, struct orinoco_private *priv, int *tx_control, u8 *mic_buf)
 
 EXPORT_SYMBOL (orinoco_process_xmit_skb)
 
void orinoco_tx_timeout (struct net_device *dev)
 
 EXPORT_SYMBOL (orinoco_tx_timeout)
 
void __orinoco_ev_rx (struct net_device *dev, struct hermes *hw)
 
 EXPORT_SYMBOL (__orinoco_ev_rx)
 
void __orinoco_ev_info (struct net_device *dev, struct hermes *hw)
 
 EXPORT_SYMBOL (__orinoco_ev_info)
 
void orinoco_reset (struct work_struct *work)
 
int orinoco_commit (struct orinoco_private *priv)
 
irqreturn_t orinoco_interrupt (int irq, void *dev_id)
 
 EXPORT_SYMBOL (orinoco_interrupt)
 
int orinoco_init (struct orinoco_private *priv)
 
 EXPORT_SYMBOL (orinoco_init)
 
struct orinoco_privatealloc_orinocodev (int sizeof_card, struct device *device, int(*hard_reset)(struct orinoco_private *), int(*stop_fw)(struct orinoco_private *, int))
 
 EXPORT_SYMBOL (alloc_orinocodev)
 
int orinoco_if_add (struct orinoco_private *priv, unsigned long base_addr, unsigned int irq, const struct net_device_ops *ops)
 
 EXPORT_SYMBOL (orinoco_if_add)
 
void orinoco_if_del (struct orinoco_private *priv)
 
 EXPORT_SYMBOL (orinoco_if_del)
 
void free_orinocodev (struct orinoco_private *priv)
 
 EXPORT_SYMBOL (free_orinocodev)
 
int orinoco_up (struct orinoco_private *priv)
 
 EXPORT_SYMBOL (orinoco_up)
 
void orinoco_down (struct orinoco_private *priv)
 
 EXPORT_SYMBOL (orinoco_down)
 
 module_init (init_orinoco)
 
 module_exit (exit_orinoco)
 

Variables

int force_monitor
 
struct hermes_txexc_data __packed
 

Macro Definition Documentation

#define DRIVER_NAME   "orinoco"

Definition at line 77 of file main.c.

#define DUMMY_FID   0xFFFF

Definition at line 151 of file main.c.

#define ENCAPS_OVERHEAD   (sizeof(encaps_hdr) + 2)

Definition at line 143 of file main.c.

#define MAX_IRQLOOPS_PER_IRQ   10

Definition at line 148 of file main.c.

#define MAX_IRQLOOPS_PER_JIFFY
Value:
(20000 / HZ) /* Based on a guestimate of
* how many events the
* device could
* legitimately generate */

Definition at line 149 of file main.c.

#define MAX_MULTICAST (   priv)    (HERMES_MAX_MULTICAST)

Definition at line 155 of file main.c.

#define ORINOCO_INTEN
#define ORINOCO_MAX_MTU   (IEEE80211_MAX_DATA_LEN - ENCAPS_OVERHEAD)

Definition at line 146 of file main.c.

#define ORINOCO_MIN_MTU   256

Definition at line 145 of file main.c.

#define orinoco_register_pm_notifier (   priv)    do { } while (0)

Definition at line 2023 of file main.c.

#define orinoco_unregister_pm_notifier (   priv)    do { } while (0)

Definition at line 2024 of file main.c.

Function Documentation

void __orinoco_ev_info ( struct net_device dev,
struct hermes hw 
)

Definition at line 1408 of file main.c.

void __orinoco_ev_rx ( struct net_device dev,
struct hermes hw 
)

Definition at line 840 of file main.c.

struct orinoco_private* alloc_orinocodev ( int  sizeof_card,
struct device device,
int(*)(struct orinoco_private *)  hard_reset,
int(*)(struct orinoco_private *, int stop_fw 
)
read

Definition at line 2175 of file main.c.

EXPORT_SYMBOL ( orinoco_open  )
EXPORT_SYMBOL ( orinoco_stop  )
EXPORT_SYMBOL ( orinoco_get_stats  )
EXPORT_SYMBOL ( orinoco_set_multicast_list  )
EXPORT_SYMBOL ( orinoco_change_mtu  )
EXPORT_SYMBOL ( orinoco_process_xmit_skb  )
EXPORT_SYMBOL ( orinoco_tx_timeout  )
EXPORT_SYMBOL ( __orinoco_ev_rx  )
EXPORT_SYMBOL ( __orinoco_ev_info  )
EXPORT_SYMBOL ( orinoco_interrupt  )
EXPORT_SYMBOL ( orinoco_init  )
EXPORT_SYMBOL ( alloc_orinocodev  )
EXPORT_SYMBOL ( orinoco_if_add  )
EXPORT_SYMBOL ( orinoco_if_del  )
EXPORT_SYMBOL ( free_orinocodev  )
EXPORT_SYMBOL ( orinoco_up  )
EXPORT_SYMBOL ( orinoco_down  )
void free_orinocodev ( struct orinoco_private priv)

Definition at line 2322 of file main.c.

MODULE_AUTHOR ( "Pavel Roskin <[email protected]> & ""David Gibson <hermes@gibson.dropbear.id.au>"  )
MODULE_DESCRIPTION ( "Driver for Lucent  Orinoco,
Prism II based""and similar wireless cards  
)
module_exit ( exit_orinoco  )
module_init ( init_orinoco  )
MODULE_LICENSE ( "Dual MPL/GPL"  )
module_param ( suppress_linkstatus  ,
bool  ,
0644   
)
module_param ( ignore_disconnect  ,
int  ,
0644   
)
module_param ( force_monitor  ,
int  ,
0644   
)
MODULE_PARM_DESC ( suppress_linkstatus  ,
"Don't log link status changes"   
)
MODULE_PARM_DESC ( ignore_disconnect  ,
"Don't report lost link to the network layer"   
)
MODULE_PARM_DESC ( force_monitor  ,
"Allow monitor mode for all firmware versions  
)
int orinoco_change_mtu ( struct net_device dev,
int  new_mtu 
)

Definition at line 318 of file main.c.

int orinoco_commit ( struct orinoco_private priv)

Definition at line 1834 of file main.c.

void orinoco_down ( struct orinoco_private priv)

Definition at line 2396 of file main.c.

struct net_device_stats* orinoco_get_stats ( struct net_device dev)
read

Definition at line 294 of file main.c.

int orinoco_if_add ( struct orinoco_private priv,
unsigned long  base_addr,
unsigned int  irq,
const struct net_device_ops ops 
)

Definition at line 2249 of file main.c.

void orinoco_if_del ( struct orinoco_private priv)

Definition at line 2313 of file main.c.

int orinoco_init ( struct orinoco_private priv)

Definition at line 2031 of file main.c.

irqreturn_t orinoco_interrupt ( int  irq,
void dev_id 
)

Definition at line 1893 of file main.c.

int orinoco_open ( struct net_device dev)

Definition at line 254 of file main.c.

int orinoco_process_xmit_skb ( struct sk_buff skb,
struct net_device dev,
struct orinoco_private priv,
int tx_control,
u8 mic_buf 
)

Definition at line 364 of file main.c.

void orinoco_reset ( struct work_struct work)

Definition at line 1740 of file main.c.

void orinoco_set_multicast_list ( struct net_device dev)

Definition at line 302 of file main.c.

int orinoco_stop ( struct net_device dev)

Definition at line 274 of file main.c.

void orinoco_tx_timeout ( struct net_device dev)

Definition at line 662 of file main.c.

int orinoco_up ( struct orinoco_private priv)

Definition at line 2364 of file main.c.

void set_port_type ( struct orinoco_private priv)

Definition at line 224 of file main.c.

Variable Documentation

int force_monitor

Definition at line 133 of file main.c.