Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Functions | Variables
divasmain.c File Reference
#include <linux/module.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <asm/uaccess.h>
#include <asm/io.h>
#include <linux/ioport.h>
#include <linux/pci.h>
#include <linux/interrupt.h>
#include <linux/list.h>
#include <linux/poll.h>
#include <linux/kmod.h>
#include "platform.h"
#include "pc.h"
#include "di_defs.h"
#include "divasync.h"
#include "diva.h"
#include "di.h"
#include "io.h"
#include "xdi_msg.h"
#include "xdi_adapter.h"
#include "xdi_vers.h"
#include "diva_dma.h"
#include "diva_pci.h"

Go to the source code of this file.

Data Structures

struct  _diva_os_thread_dpc
 

Macros

#define PCI_DEVICE_ID_EICON_MAESTRAP_2   0xE015
 
#define PCI_DEVICE_ID_EICON_4BRI_VOIP   0xE016
 
#define PCI_DEVICE_ID_EICON_4BRI_2_VOIP   0xE017
 
#define PCI_DEVICE_ID_EICON_BRI2M_2   0xE018
 
#define PCI_DEVICE_ID_EICON_MAESTRAP_2_VOIP   0xE019
 
#define PCI_DEVICE_ID_EICON_2F   0xE01A
 
#define PCI_DEVICE_ID_EICON_BRI2M_2_VOIP   0xE01B
 

Typedefs

typedef struct _diva_os_thread_dpc diva_os_thread_dpc_t
 

Functions

 MODULE_DESCRIPTION ("Kernel driver for Eicon DIVA Server cards")
 
 MODULE_AUTHOR ("Cytronics & Melware, Eicon Networks")
 
 MODULE_LICENSE ("GPL")
 
 module_param (dbgmask, int, 0)
 
 MODULE_PARM_DESC (dbgmask,"initial debug mask")
 
irqreturn_t diva_os_irq_wrapper (int irq, void *context)
 
int create_divas_proc (void)
 
void remove_divas_proc (void)
 
void diva_get_vserial_number (PISDN_ADAPTER IoAdapter, char *buf)
 
int divasfunc_init (int dbgmask)
 
void divasfunc_exit (void)
 
 MODULE_DEVICE_TABLE (pci, divas_pci_tbl)
 
void diva_log_info (unsigned char *format,...)
 
void divas_get_version (char *p)
 
byte diva_os_get_pci_bus (void *pci_dev_handle)
 
byte diva_os_get_pci_func (void *pci_dev_handle)
 
unsigned long divasa_get_pci_irq (unsigned char bus, unsigned char func, void *pci_dev_handle)
 
unsigned long divasa_get_pci_bar (unsigned char bus, unsigned char func, int bar, void *pci_dev_handle)
 
void PCIwrite (byte bus, byte func, int offset, void *data, int length, void *pci_dev_handle)
 
void PCIread (byte bus, byte func, int offset, void *data, int length, void *pci_dev_handle)
 
void diva_init_dma_map (void *hdev, struct _diva_dma_map_entry **ppmap, int nentries)
 
void diva_free_dma_map (void *hdev, struct _diva_dma_map_entry *pmap)
 
int diva_os_register_io_port (void *adapter, int on, unsigned long port, unsigned long length, const char *name, int id)
 
void __iomemdivasa_remap_pci_bar (diva_os_xdi_adapter_t *a, int id, unsigned long bar, unsigned long area_length)
 
void divasa_unmap_pci_bar (void __iomem *bar)
 
byte __inline__ inpp (void __iomem *addr)
 
word __inline__ inppw (void __iomem *addr)
 
void __inline__ inppw_buffer (void __iomem *addr, void *P, int length)
 
void __inline__ outppw_buffer (void __iomem *addr, void *P, int length)
 
void __inline__ outppw (void __iomem *addr, word w)
 
void __inline__ outpp (void __iomem *addr, word p)
 
int diva_os_register_irq (void *context, byte irq, const char *name)
 
void diva_os_remove_irq (void *context, byte irq)
 
int diva_os_initialize_soft_isr (diva_os_soft_isr_t *psoft_isr, diva_os_soft_isr_callback_t callback, void *callback_context)
 
int diva_os_schedule_soft_isr (diva_os_soft_isr_t *psoft_isr)
 
int diva_os_cancel_soft_isr (diva_os_soft_isr_t *psoft_isr)
 
void diva_os_remove_soft_isr (diva_os_soft_isr_t *psoft_isr)
 
 module_init (divas_init)
 
 module_exit (divas_exit)
 

Variables

charDRIVERRELEASE_DIVAS = "2.0"
 

Macro Definition Documentation

#define PCI_DEVICE_ID_EICON_2F   0xE01A

Definition at line 103 of file divasmain.c.

#define PCI_DEVICE_ID_EICON_4BRI_2_VOIP   0xE017

Definition at line 91 of file divasmain.c.

#define PCI_DEVICE_ID_EICON_4BRI_VOIP   0xE016

Definition at line 87 of file divasmain.c.

#define PCI_DEVICE_ID_EICON_BRI2M_2   0xE018

Definition at line 95 of file divasmain.c.

#define PCI_DEVICE_ID_EICON_BRI2M_2_VOIP   0xE01B

Definition at line 107 of file divasmain.c.

#define PCI_DEVICE_ID_EICON_MAESTRAP_2   0xE015

Definition at line 83 of file divasmain.c.

#define PCI_DEVICE_ID_EICON_MAESTRAP_2_VOIP   0xE019

Definition at line 99 of file divasmain.c.

Typedef Documentation

Function Documentation

int create_divas_proc ( void  )

Definition at line 127 of file divasproc.c.

void diva_free_dma_map ( void hdev,
struct _diva_dma_map_entry pmap 
)

Definition at line 385 of file divasmain.c.

void diva_get_vserial_number ( PISDN_ADAPTER  IoAdapter,
char buf 
)

Definition at line 49 of file divasfunc.c.

void diva_init_dma_map ( void hdev,
struct _diva_dma_map_entry **  ppmap,
int  nentries 
)

Definition at line 348 of file divasmain.c.

void diva_log_info ( unsigned char format,
  ... 
)

Definition at line 178 of file divasmain.c.

int diva_os_cancel_soft_isr ( diva_os_soft_isr_t psoft_isr)

Definition at line 535 of file divasmain.c.

byte diva_os_get_pci_bus ( void pci_dev_handle)

Definition at line 202 of file divasmain.c.

byte diva_os_get_pci_func ( void pci_dev_handle)

Definition at line 208 of file divasmain.c.

int diva_os_initialize_soft_isr ( diva_os_soft_isr_t psoft_isr,
diva_os_soft_isr_callback_t  callback,
void callback_context 
)

Definition at line 504 of file divasmain.c.

irqreturn_t diva_os_irq_wrapper ( int  irq,
void context 
)

Definition at line 516 of file diva.c.

int diva_os_register_io_port ( void adapter,
int  on,
unsigned long  port,
unsigned long  length,
const char name,
int  id 
)

Definition at line 417 of file divasmain.c.

int diva_os_register_irq ( void context,
byte  irq,
const char name 
)

Definition at line 481 of file divasmain.c.

void diva_os_remove_irq ( void context,
byte  irq 
)

Definition at line 488 of file divasmain.c.

void diva_os_remove_soft_isr ( diva_os_soft_isr_t psoft_isr)

Definition at line 540 of file divasmain.c.

int diva_os_schedule_soft_isr ( diva_os_soft_isr_t psoft_isr)

Definition at line 523 of file divasmain.c.

void divas_get_version ( char p)

Definition at line 190 of file divasmain.c.

unsigned long divasa_get_pci_bar ( unsigned char  bus,
unsigned char  func,
int  bar,
void pci_dev_handle 
)

Definition at line 225 of file divasmain.c.

unsigned long divasa_get_pci_irq ( unsigned char  bus,
unsigned char  func,
void pci_dev_handle 
)

Definition at line 214 of file divasmain.c.

void __iomem* divasa_remap_pci_bar ( diva_os_xdi_adapter_t a,
int  id,
unsigned long  bar,
unsigned long  area_length 
)

Definition at line 431 of file divasmain.c.

void divasa_unmap_pci_bar ( void __iomem bar)

Definition at line 438 of file divasmain.c.

void divasfunc_exit ( void  )

Definition at line 233 of file divasfunc.c.

int divasfunc_init ( int  dbgmask)

Definition at line 212 of file divasfunc.c.

byte __inline__ inpp ( void __iomem addr)

Definition at line 448 of file divasmain.c.

word __inline__ inppw ( void __iomem addr)

Definition at line 453 of file divasmain.c.

void __inline__ inppw_buffer ( void __iomem addr,
void P,
int  length 
)

Definition at line 458 of file divasmain.c.

MODULE_AUTHOR ( "Cytronics &  Melware,
Eicon Networks"   
)
MODULE_DESCRIPTION ( "Kernel driver for Eicon DIVA Server cards )
MODULE_DEVICE_TABLE ( pci  ,
divas_pci_tbl   
)
module_exit ( divas_exit  )
module_init ( divas_init  )
MODULE_LICENSE ( "GPL"  )
module_param ( dbgmask  ,
int  ,
 
)
MODULE_PARM_DESC ( dbgmask  ,
"initial debug mask  
)
void __inline__ outpp ( void __iomem addr,
word  p 
)

Definition at line 473 of file divasmain.c.

void __inline__ outppw ( void __iomem addr,
word  w 
)

Definition at line 468 of file divasmain.c.

void __inline__ outppw_buffer ( void __iomem addr,
void P,
int  length 
)

Definition at line 463 of file divasmain.c.

void PCIread ( byte  bus,
byte  func,
int  offset,
void data,
int  length,
void pci_dev_handle 
)

Definition at line 293 of file divasmain.c.

void PCIwrite ( byte  bus,
byte  func,
int  offset,
void data,
int  length,
void pci_dev_handle 
)

Definition at line 252 of file divasmain.c.

void remove_divas_proc ( void  )

Definition at line 137 of file divasproc.c.

Variable Documentation

char* DRIVERRELEASE_DIVAS = "2.0"

Definition at line 56 of file divasmain.c.