Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
3c589_cs.c File Reference
#include <linux/module.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/ptrace.h>
#include <linux/slab.h>
#include <linux/string.h>
#include <linux/timer.h>
#include <linux/interrupt.h>
#include <linux/in.h>
#include <linux/delay.h>
#include <linux/ethtool.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
#include <linux/if_arp.h>
#include <linux/ioport.h>
#include <linux/bitops.h>
#include <linux/jiffies.h>
#include <pcmcia/cistpl.h>
#include <pcmcia/cisreg.h>
#include <pcmcia/ciscode.h>
#include <pcmcia/ds.h>
#include <asm/uaccess.h>
#include <asm/io.h>

Go to the source code of this file.

Data Structures

struct  el3_private
 

Macros

#define pr_fmt(fmt)   KBUILD_MODNAME ": " fmt
 
#define DRV_NAME   "3c589_cs"
 
#define DRV_VERSION   "1.162-ac"
 
#define EL3_DATA   0x00
 
#define EL3_TIMER   0x0a
 
#define EL3_CMD   0x0e
 
#define EL3_STATUS   0x0e
 
#define EEPROM_READ   0x0080
 
#define EEPROM_BUSY   0x8000
 
#define EL3WINDOW(win_num)   outw(SelectWindow + (win_num), ioaddr + EL3_CMD)
 
#define TX_FIFO   0x00
 
#define RX_FIFO   0x00
 
#define RX_STATUS   0x08
 
#define TX_STATUS   0x0B
 
#define TX_FREE   0x0C /* Remaining free bytes in Tx buffer. */
 
#define WN0_IRQ   0x08 /* Window 0: Set IRQ line in bits 12-15. */
 
#define WN4_MEDIA   0x0A /* Window 4: Various transcvr/media bits. */
 
#define MEDIA_TP   0x00C0 /* Enable link beat and jabber for 10baseT. */
 
#define MEDIA_LED   0x0001 /* Enable link light on 3C589E cards. */
 
#define TX_TIMEOUT   ((400*HZ)/1000)
 
#define INT_MODULE_PARM(n, v)   static int n = v; module_param(n, int, 0)
 

Enumerations

enum  c509cmd {
  TotalReset = 0<<11, SelectWindow = 1<<11, StartCoax = 2<<11, RxDisable = 3<<11,
  RxEnable = 4<<11, RxReset = 5<<11, RxDiscard = 8<<11, TxEnable = 9<<11,
  TxDisable = 10<<11, TxReset = 11<<11, FakeIntr = 12<<11, AckIntr = 13<<11,
  SetIntrEnb = 14<<11, SetStatusEnb = 15<<11, SetRxFilter = 16<<11, SetRxThreshold = 17<<11,
  SetTxThreshold = 18<<11, SetTxStart = 19<<11, StatsEnable = 21<<11, StatsDisable = 22<<11,
  StopCoax = 23<<11, PowerUp = 27<<11, PowerDown = 28<<11, PowerAuto = 29<<11,
  TotalReset = 0<<11, SelectWindow = 1<<11, StartCoax = 2<<11, RxDisable = 3<<11,
  RxEnable = 4<<11, RxReset = 5<<11, RxDiscard = 8<<11, TxEnable = 9<<11,
  TxDisable = 10<<11, TxReset = 11<<11, FakeIntr = 12<<11, AckIntr = 13<<11,
  SetIntrEnb = 14<<11, SetStatusEnb = 15<<11, SetRxFilter = 16<<11, SetRxThreshold = 17<<11,
  SetTxThreshold = 18<<11, SetTxStart = 19<<11, StatsEnable = 21<<11, StatsDisable = 22<<11,
  StopCoax = 23<<11
}
 
enum  c509status {
  IntLatch = 0x0001, AdapterFailure = 0x0002, TxComplete = 0x0004, TxAvailable = 0x0008,
  RxComplete = 0x0010, RxEarly = 0x0020, IntReq = 0x0040, StatsFull = 0x0080,
  CmdBusy = 0x1000, IntLatch = 0x0001, AdapterFailure = 0x0002, TxComplete = 0x0004,
  TxAvailable = 0x0008, RxComplete = 0x0010, RxEarly = 0x0020, IntReq = 0x0040,
  StatsFull = 0x0080, CmdBusy = 0x1000
}
 
enum  RxFilter {
  RxStation = 1, RxMulticast = 2, RxBroadcast = 4, RxProm = 8,
  RxStation = 1, RxMulticast = 2, RxBroadcast = 4, RxProm = 8,
  RxStation = 1, RxMulticast = 2, RxBroadcast = 4, RxProm = 8,
  RxStation = 1, RxMulticast = 2, RxBroadcast = 4, RxProm = 8,
  RxStation = 1, RxMulticast = 2, RxBroadcast = 4, RxProm = 8
}
 

Functions

 MODULE_AUTHOR ("David Hinds <[email protected]>")
 
 MODULE_DESCRIPTION ("3Com 3c589 series PCMCIA ethernet driver")
 
 MODULE_LICENSE ("GPL")
 
 INT_MODULE_PARM (if_port, 0)
 
 MODULE_DEVICE_TABLE (pcmcia, tc589_ids)
 
 module_init (init_tc589)
 
 module_exit (exit_tc589)
 

Macro Definition Documentation

#define DRV_NAME   "3c589_cs"

Definition at line 24 of file 3c589_cs.c.

#define DRV_VERSION   "1.162-ac"

Definition at line 25 of file 3c589_cs.c.

#define EEPROM_BUSY   0x8000

Definition at line 64 of file 3c589_cs.c.

#define EEPROM_READ   0x0080

Definition at line 63 of file 3c589_cs.c.

#define EL3_CMD   0x0e

Definition at line 60 of file 3c589_cs.c.

#define EL3_DATA   0x00

Definition at line 58 of file 3c589_cs.c.

#define EL3_STATUS   0x0e

Definition at line 61 of file 3c589_cs.c.

#define EL3_TIMER   0x0a

Definition at line 59 of file 3c589_cs.c.

#define EL3WINDOW (   win_num)    outw(SelectWindow + (win_num), ioaddr + EL3_CMD)

Definition at line 66 of file 3c589_cs.c.

#define INT_MODULE_PARM (   n,
  v 
)    static int n = v; module_param(n, int, 0)

Definition at line 149 of file 3c589_cs.c.

#define MEDIA_LED   0x0001 /* Enable link light on 3C589E cards. */

Definition at line 124 of file 3c589_cs.c.

#define MEDIA_TP   0x00C0 /* Enable link beat and jabber for 10baseT. */

Definition at line 123 of file 3c589_cs.c.

#define pr_fmt (   fmt)    KBUILD_MODNAME ": " fmt

Definition at line 22 of file 3c589_cs.c.

#define RX_FIFO   0x00

Definition at line 116 of file 3c589_cs.c.

#define RX_STATUS   0x08

Definition at line 117 of file 3c589_cs.c.

#define TX_FIFO   0x00

Definition at line 115 of file 3c589_cs.c.

#define TX_FREE   0x0C /* Remaining free bytes in Tx buffer. */

Definition at line 119 of file 3c589_cs.c.

#define TX_STATUS   0x0B

Definition at line 118 of file 3c589_cs.c.

#define TX_TIMEOUT   ((400*HZ)/1000)

Definition at line 127 of file 3c589_cs.c.

#define WN0_IRQ   0x08 /* Window 0: Set IRQ line in bits 12-15. */

Definition at line 121 of file 3c589_cs.c.

#define WN4_MEDIA   0x0A /* Window 4: Various transcvr/media bits. */

Definition at line 122 of file 3c589_cs.c.

Enumeration Type Documentation

enum c509cmd
Enumerator:
TotalReset 
SelectWindow 
StartCoax 
RxDisable 
RxEnable 
RxReset 
RxDiscard 
TxEnable 
TxDisable 
TxReset 
FakeIntr 
AckIntr 
SetIntrEnb 
SetStatusEnb 
SetRxFilter 
SetRxThreshold 
SetTxThreshold 
SetTxStart 
StatsEnable 
StatsDisable 
StopCoax 
PowerUp 
PowerDown 
PowerAuto 
TotalReset 
SelectWindow 
StartCoax 
RxDisable 
RxEnable 
RxReset 
RxDiscard 
TxEnable 
TxDisable 
TxReset 
FakeIntr 
AckIntr 
SetIntrEnb 
SetStatusEnb 
SetRxFilter 
SetRxThreshold 
SetTxThreshold 
SetTxStart 
StatsEnable 
StatsDisable 
StopCoax 

Definition at line 70 of file 3c589_cs.c.

enum c509status
Enumerator:
IntLatch 
AdapterFailure 
TxComplete 
TxAvailable 
RxComplete 
RxEarly 
IntReq 
StatsFull 
CmdBusy 
IntLatch 
AdapterFailure 
TxComplete 
TxAvailable 
RxComplete 
RxEarly 
IntReq 
StatsFull 
CmdBusy 

Definition at line 94 of file 3c589_cs.c.

enum RxFilter
Enumerator:
RxStation 
RxMulticast 
RxBroadcast 
RxProm 
RxStation 
RxMulticast 
RxBroadcast 
RxProm 
RxStation 
RxMulticast 
RxBroadcast 
RxProm 
RxStation 
RxMulticast 
RxBroadcast 
RxProm 
RxStation 
RxMulticast 
RxBroadcast 
RxProm 

Definition at line 107 of file 3c589_cs.c.

Function Documentation

INT_MODULE_PARM ( if_port  ,
 
)
MODULE_AUTHOR ( "David Hinds <[email protected]>"  )
MODULE_DESCRIPTION ( "3Com 3c589 series PCMCIA ethernet driver"  )
MODULE_DEVICE_TABLE ( pcmcia  ,
tc589_ids   
)
module_exit ( exit_tc589  )
module_init ( init_tc589  )
MODULE_LICENSE ( "GPL"  )