162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * IPWireless 3G PCMCIA Network Driver
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Original code
662306a36Sopenharmony_ci *   by Stephen Blackheath <stephen@blacksapphire.com>,
762306a36Sopenharmony_ci *      Ben Martel <benm@symmetric.co.nz>
862306a36Sopenharmony_ci *
962306a36Sopenharmony_ci * Copyrighted as follows:
1062306a36Sopenharmony_ci *   Copyright (C) 2004 by Symmetric Systems Ltd (NZ)
1162306a36Sopenharmony_ci *
1262306a36Sopenharmony_ci * Various driver changes and rewrites, port to new kernels
1362306a36Sopenharmony_ci *   Copyright (C) 2006-2007 Jiri Kosina
1462306a36Sopenharmony_ci *
1562306a36Sopenharmony_ci * Misc code cleanups and updates
1662306a36Sopenharmony_ci *   Copyright (C) 2007 David Sterba
1762306a36Sopenharmony_ci */
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci#ifndef _IPWIRELESS_CS_H_
2062306a36Sopenharmony_ci#define _IPWIRELESS_CS_H_
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci#include <linux/sched.h>
2362306a36Sopenharmony_ci#include <linux/types.h>
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci#include <pcmcia/cistpl.h>
2662306a36Sopenharmony_ci#include <pcmcia/ds.h>
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci#include "hardware.h"
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci#define IPWIRELESS_PCCARD_NAME		"ipwireless"
3162306a36Sopenharmony_ci#define IPWIRELESS_PCMCIA_VERSION	"1.1"
3262306a36Sopenharmony_ci#define IPWIRELESS_PCMCIA_AUTHOR        \
3362306a36Sopenharmony_ci	"Stephen Blackheath, Ben Martel, Jiri Kosina and David Sterba"
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci#define IPWIRELESS_TX_QUEUE_SIZE  262144
3662306a36Sopenharmony_ci#define IPWIRELESS_RX_QUEUE_SIZE  262144
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci#define IPWIRELESS_STATE_DEBUG
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_cistruct ipw_hardware;
4162306a36Sopenharmony_cistruct ipw_network;
4262306a36Sopenharmony_cistruct ipw_tty;
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_cistruct ipw_dev {
4562306a36Sopenharmony_ci	struct pcmcia_device *link;
4662306a36Sopenharmony_ci	int is_v2_card;
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci	void __iomem *attr_memory;
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci	void __iomem *common_memory;
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci	/* Reference to attribute memory, containing CIS data */
5362306a36Sopenharmony_ci	void *attribute_memory;
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci	/* Hardware context */
5662306a36Sopenharmony_ci	struct ipw_hardware *hardware;
5762306a36Sopenharmony_ci	/* Network layer context */
5862306a36Sopenharmony_ci	struct ipw_network *network;
5962306a36Sopenharmony_ci	/* TTY device context */
6062306a36Sopenharmony_ci	struct ipw_tty *tty;
6162306a36Sopenharmony_ci	struct work_struct work_reboot;
6262306a36Sopenharmony_ci};
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci/* Module parametres */
6562306a36Sopenharmony_ciextern int ipwireless_debug;
6662306a36Sopenharmony_ciextern int ipwireless_loopback;
6762306a36Sopenharmony_ciextern int ipwireless_out_queue;
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci#endif
70