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