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/cistpl.h>
25#include <pcmcia/ds.h>
26
27#include "hardware.h"
28
29#define IPWIRELESS_PCCARD_NAME		"ipwireless"
30#define IPWIRELESS_PCMCIA_VERSION	"1.1"
31#define IPWIRELESS_PCMCIA_AUTHOR        \
32	"Stephen Blackheath, Ben Martel, Jiri Kosina and David Sterba"
33
34#define IPWIRELESS_TX_QUEUE_SIZE  262144
35#define IPWIRELESS_RX_QUEUE_SIZE  262144
36
37#define IPWIRELESS_STATE_DEBUG
38
39struct ipw_hardware;
40struct ipw_network;
41struct ipw_tty;
42
43struct ipw_dev {
44	struct pcmcia_device *link;
45	int is_v2_card;
46
47	void __iomem *attr_memory;
48
49	void __iomem *common_memory;
50
51	/* Reference to attribute memory, containing CIS data */
52	void *attribute_memory;
53
54	/* Hardware context */
55	struct ipw_hardware *hardware;
56	/* Network layer context */
57	struct ipw_network *network;
58	/* TTY device context */
59	struct ipw_tty *tty;
60	struct work_struct work_reboot;
61};
62
63/* Module parametres */
64extern int ipwireless_debug;
65extern int ipwireless_loopback;
66extern int ipwireless_out_queue;
67
68#endif
69