18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * IPWireless 3G PCMCIA Network Driver
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * Original code
68c2ecf20Sopenharmony_ci *   by Stephen Blackheath <stephen@blacksapphire.com>,
78c2ecf20Sopenharmony_ci *      Ben Martel <benm@symmetric.co.nz>
88c2ecf20Sopenharmony_ci *
98c2ecf20Sopenharmony_ci * Copyrighted as follows:
108c2ecf20Sopenharmony_ci *   Copyright (C) 2004 by Symmetric Systems Ltd (NZ)
118c2ecf20Sopenharmony_ci *
128c2ecf20Sopenharmony_ci * Various driver changes and rewrites, port to new kernels
138c2ecf20Sopenharmony_ci *   Copyright (C) 2006-2007 Jiri Kosina
148c2ecf20Sopenharmony_ci *
158c2ecf20Sopenharmony_ci * Misc code cleanups and updates
168c2ecf20Sopenharmony_ci *   Copyright (C) 2007 David Sterba
178c2ecf20Sopenharmony_ci */
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci#ifndef _IPWIRELESS_CS_H_
208c2ecf20Sopenharmony_ci#define _IPWIRELESS_CS_H_
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ci#include <linux/sched.h>
238c2ecf20Sopenharmony_ci#include <linux/types.h>
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci#include <pcmcia/cistpl.h>
268c2ecf20Sopenharmony_ci#include <pcmcia/ds.h>
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci#include "hardware.h"
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci#define IPWIRELESS_PCCARD_NAME		"ipwireless"
318c2ecf20Sopenharmony_ci#define IPWIRELESS_PCMCIA_VERSION	"1.1"
328c2ecf20Sopenharmony_ci#define IPWIRELESS_PCMCIA_AUTHOR        \
338c2ecf20Sopenharmony_ci	"Stephen Blackheath, Ben Martel, Jiri Kosina and David Sterba"
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ci#define IPWIRELESS_TX_QUEUE_SIZE  262144
368c2ecf20Sopenharmony_ci#define IPWIRELESS_RX_QUEUE_SIZE  262144
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ci#define IPWIRELESS_STATE_DEBUG
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_cistruct ipw_hardware;
418c2ecf20Sopenharmony_cistruct ipw_network;
428c2ecf20Sopenharmony_cistruct ipw_tty;
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_cistruct ipw_dev {
458c2ecf20Sopenharmony_ci	struct pcmcia_device *link;
468c2ecf20Sopenharmony_ci	int is_v2_card;
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ci	void __iomem *attr_memory;
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci	void __iomem *common_memory;
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ci	/* Reference to attribute memory, containing CIS data */
538c2ecf20Sopenharmony_ci	void *attribute_memory;
548c2ecf20Sopenharmony_ci
558c2ecf20Sopenharmony_ci	/* Hardware context */
568c2ecf20Sopenharmony_ci	struct ipw_hardware *hardware;
578c2ecf20Sopenharmony_ci	/* Network layer context */
588c2ecf20Sopenharmony_ci	struct ipw_network *network;
598c2ecf20Sopenharmony_ci	/* TTY device context */
608c2ecf20Sopenharmony_ci	struct ipw_tty *tty;
618c2ecf20Sopenharmony_ci	struct work_struct work_reboot;
628c2ecf20Sopenharmony_ci};
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ci/* Module parametres */
658c2ecf20Sopenharmony_ciextern int ipwireless_debug;
668c2ecf20Sopenharmony_ciextern int ipwireless_loopback;
678c2ecf20Sopenharmony_ciextern int ipwireless_out_queue;
688c2ecf20Sopenharmony_ci
698c2ecf20Sopenharmony_ci#endif
70