~ubuntu-branches/ubuntu/precise/linux-lowlatency/precise

« back to all changes in this revision

Viewing changes to drivers/isdn/hardware/eicon/xdi_adapter.h

  • Committer: Package Import Robot
  • Author(s): Alessio Igor Bogani
  • Date: 2011-10-26 11:13:05 UTC
  • Revision ID: package-import@ubuntu.com-20111026111305-tz023xykf0i6eosh
Tags: upstream-3.2.0
ImportĀ upstreamĀ versionĀ 3.2.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* $Id: xdi_adapter.h,v 1.7 2004/03/21 17:26:01 armin Exp $ */
 
2
 
 
3
#ifndef __DIVA_OS_XDI_ADAPTER_H__
 
4
#define __DIVA_OS_XDI_ADAPTER_H__
 
5
 
 
6
#define DIVAS_XDI_ADAPTER_BUS_PCI  0
 
7
#define DIVAS_XDI_ADAPTER_BUS_ISA  1
 
8
 
 
9
typedef struct _divas_pci_card_resources {
 
10
        byte bus;
 
11
        byte func;
 
12
        void *hdev;
 
13
 
 
14
        dword bar[8];           /* contains context of appropriate BAR Register */
 
15
        void __iomem *addr[8];          /* same bar, but mapped into memory */
 
16
        dword length[8];        /* bar length */
 
17
        int mem_type_id[MAX_MEM_TYPE];
 
18
        unsigned int qoffset;
 
19
        byte irq;
 
20
} divas_pci_card_resources_t;
 
21
 
 
22
typedef union _divas_card_resources {
 
23
        divas_pci_card_resources_t pci;
 
24
} divas_card_resources_t;
 
25
 
 
26
struct _diva_os_xdi_adapter;
 
27
typedef int (*diva_init_card_proc_t) (struct _diva_os_xdi_adapter * a);
 
28
typedef int (*diva_cmd_card_proc_t) (struct _diva_os_xdi_adapter * a,
 
29
                                     diva_xdi_um_cfg_cmd_t * data,
 
30
                                     int length);
 
31
typedef void (*diva_xdi_clear_interrupts_proc_t) (struct
 
32
                                                  _diva_os_xdi_adapter *);
 
33
 
 
34
#define DIVA_XDI_MBOX_BUSY                      1
 
35
#define DIVA_XDI_MBOX_WAIT_XLOG 2
 
36
 
 
37
typedef struct _xdi_mbox_t {
 
38
        dword status;
 
39
        diva_xdi_um_cfg_cmd_data_t cmd_data;
 
40
        dword data_length;
 
41
        void *data;
 
42
} xdi_mbox_t;
 
43
 
 
44
typedef struct _diva_os_idi_adapter_interface {
 
45
        diva_init_card_proc_t cleanup_adapter_proc;
 
46
        diva_cmd_card_proc_t cmd_proc;
 
47
} diva_os_idi_adapter_interface_t;
 
48
 
 
49
typedef struct _diva_os_xdi_adapter {
 
50
        struct list_head link;
 
51
        int CardIndex;
 
52
        int CardOrdinal;
 
53
        int controller;         /* number of this controller */
 
54
        int Bus;                /* PCI, ISA, ... */
 
55
        divas_card_resources_t resources;
 
56
        char port_name[24];
 
57
        ISDN_ADAPTER xdi_adapter;
 
58
        xdi_mbox_t xdi_mbox;
 
59
        diva_os_idi_adapter_interface_t interface;
 
60
        struct _diva_os_xdi_adapter *slave_adapters[3];
 
61
        void *slave_list;
 
62
        void *proc_adapter_dir; /* adapterX proc entry */
 
63
        void *proc_info;        /* info proc entry     */
 
64
        void *proc_grp_opt;     /* group_optimization  */
 
65
        void *proc_d_l1_down;   /* dynamic_l1_down     */
 
66
        volatile diva_xdi_clear_interrupts_proc_t clear_interrupts_proc;
 
67
        dword dsp_mask;
 
68
} diva_os_xdi_adapter_t;
 
69
 
 
70
#endif