hardware.h (1971B)
1/* SPDX-License-Identifier: GPL-2.0 */ 2/* 3 * IPWireless 3G PCMCIA Network Driver 4 * 5 * Original code 6 * by Stephen Blackheath <stephen@blacksapphire.com>, 7 * Ben Martel <benm@symmetric.co.nz> 8 * 9 * Copyrighted as follows: 10 * Copyright (C) 2004 by Symmetric Systems Ltd (NZ) 11 * 12 * Various driver changes and rewrites, port to new kernels 13 * Copyright (C) 2006-2007 Jiri Kosina 14 * 15 * Misc code cleanups and updates 16 * Copyright (C) 2007 David Sterba 17 */ 18 19#ifndef _IPWIRELESS_CS_HARDWARE_H_ 20#define _IPWIRELESS_CS_HARDWARE_H_ 21 22#include <linux/types.h> 23#include <linux/sched.h> 24#include <linux/interrupt.h> 25 26#define IPW_CONTROL_LINE_CTS 0x0001 27#define IPW_CONTROL_LINE_DCD 0x0002 28#define IPW_CONTROL_LINE_DSR 0x0004 29#define IPW_CONTROL_LINE_RI 0x0008 30#define IPW_CONTROL_LINE_DTR 0x0010 31#define IPW_CONTROL_LINE_RTS 0x0020 32 33struct ipw_hardware; 34struct ipw_network; 35 36struct ipw_hardware *ipwireless_hardware_create(void); 37void ipwireless_hardware_free(struct ipw_hardware *hw); 38irqreturn_t ipwireless_interrupt(int irq, void *dev_id); 39int ipwireless_set_DTR(struct ipw_hardware *hw, unsigned int channel_idx, 40 int state); 41int ipwireless_set_RTS(struct ipw_hardware *hw, unsigned int channel_idx, 42 int state); 43int ipwireless_send_packet(struct ipw_hardware *hw, 44 unsigned int channel_idx, 45 const unsigned char *data, 46 unsigned int length, 47 void (*packet_sent_callback) (void *cb, 48 unsigned int length), 49 void *sent_cb_data); 50void ipwireless_associate_network(struct ipw_hardware *hw, 51 struct ipw_network *net); 52void ipwireless_stop_interrupts(struct ipw_hardware *hw); 53void ipwireless_init_hardware_v1(struct ipw_hardware *hw, 54 unsigned int base_port, 55 void __iomem *attr_memory, 56 void __iomem *common_memory, 57 int is_v2_card, 58 void (*reboot_cb) (void *data), 59 void *reboot_cb_data); 60void ipwireless_init_hardware_v2_v3(struct ipw_hardware *hw); 61void ipwireless_sleep(unsigned int tenths); 62 63#endif