Merge git://git.infradead.org/mtd-2.6
[linux-2.6] / drivers / char / pcmcia / ipwireless / main.h
1 /*
2  * IPWireless 3G PCMCIA Network Driver
3  *
4  * Original code
5  *   by Stephen Blackheath <stephen@blacksapphire.com>,
6  *      Ben Martel <benm@symmetric.co.nz>
7  *
8  * Copyrighted as follows:
9  *   Copyright (C) 2004 by Symmetric Systems Ltd (NZ)
10  *
11  * Various driver changes and rewrites, port to new kernels
12  *   Copyright (C) 2006-2007 Jiri Kosina
13  *
14  * Misc code cleanups and updates
15  *   Copyright (C) 2007 David Sterba
16  */
17
18 #ifndef _IPWIRELESS_CS_H_
19 #define _IPWIRELESS_CS_H_
20
21 #include <linux/sched.h>
22 #include <linux/types.h>
23
24 #include <pcmcia/cs_types.h>
25 #include <pcmcia/cs.h>
26 #include <pcmcia/cistpl.h>
27 #include <pcmcia/ds.h>
28
29 #include "hardware.h"
30
31 #define IPWIRELESS_PCCARD_NAME          "ipwireless"
32 #define IPWIRELESS_PCMCIA_VERSION       "1.1"
33 #define IPWIRELESS_PCMCIA_AUTHOR        \
34         "Stephen Blackheath, Ben Martel, Jiri Kosina and David Sterba"
35
36 #define IPWIRELESS_TX_QUEUE_SIZE  262144
37 #define IPWIRELESS_RX_QUEUE_SIZE  262144
38
39 #define IPWIRELESS_STATE_DEBUG
40
41 struct ipw_hardware;
42 struct ipw_network;
43 struct ipw_tty;
44
45 struct ipw_dev {
46         struct pcmcia_device *link;
47         int is_v2_card;
48
49         window_handle_t handle_attr_memory;
50         void __iomem *attr_memory;
51         win_req_t request_attr_memory;
52
53         window_handle_t handle_common_memory;
54         void __iomem *common_memory;
55         win_req_t request_common_memory;
56
57         dev_node_t nodes[2];
58         /* Reference to attribute memory, containing CIS data */
59         void *attribute_memory;
60
61         /* Hardware context */
62         struct ipw_hardware *hardware;
63         /* Network layer context */
64         struct ipw_network *network;
65         /* TTY device context */
66         struct ipw_tty *tty;
67         struct work_struct work_reboot;
68 };
69
70 /* Module parametres */
71 extern int ipwireless_debug;
72 extern int ipwireless_loopback;
73 extern int ipwireless_out_queue;
74
75 #endif