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