• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/isdn/hardware/eicon/
1/* $Id: xdi_adapter.h,v 1.7 2004/03/21 17:26:01 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
9typedef 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
22typedef union _divas_card_resources {
23	divas_pci_card_resources_t pci;
24} divas_card_resources_t;
25
26struct _diva_os_xdi_adapter;
27typedef int (*diva_init_card_proc_t) (struct _diva_os_xdi_adapter * a);
28typedef int (*diva_cmd_card_proc_t) (struct _diva_os_xdi_adapter * a,
29				     diva_xdi_um_cfg_cmd_t * data,
30				     int length);
31typedef 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
37typedef 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
44typedef 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
49typedef 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
71