blob: 0e0363af9ab240f55ad34edc0cb1b672417d3b53 [file] [log] [blame]
David Sterba099dc4f2008-02-07 10:57:12 +01001/*
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
41struct ipw_hardware;
42struct ipw_network;
43struct ipw_tty;
44
45struct ipw_dev {
46 struct pcmcia_device *link;
47 int is_v2_card;
David Sterba09e491e2008-07-28 16:53:16 +020048
David Sterba099dc4f2008-02-07 10:57:12 +010049 window_handle_t handle_attr_memory;
50 void __iomem *attr_memory;
David Sterba09e491e2008-07-28 16:53:16 +020051 win_req_t request_attr_memory;
52
David Sterba099dc4f2008-02-07 10:57:12 +010053 window_handle_t handle_common_memory;
54 void __iomem *common_memory;
David Sterba09e491e2008-07-28 16:53:16 +020055 win_req_t request_common_memory;
56
David Sterba099dc4f2008-02-07 10:57:12 +010057 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 */
71extern int ipwireless_debug;
72extern int ipwireless_loopback;
73extern int ipwireless_out_queue;
74
75#endif