| /* SPDX-License-Identifier: GPL-2.0 */ |
| /* |
| * IPWireless 3G PCMCIA Network Driver |
| * |
| * Original code |
| * by Stephen Blackheath <stephen@blacksapphire.com>, |
| * Ben Martel <benm@symmetric.co.nz> |
| * |
| * Copyrighted as follows: |
| * Copyright (C) 2004 by Symmetric Systems Ltd (NZ) |
| * |
| * Various driver changes and rewrites, port to new kernels |
| * Copyright (C) 2006-2007 Jiri Kosina |
| * |
| * Misc code cleanups and updates |
| * Copyright (C) 2007 David Sterba |
| */ |
| |
| #ifndef _IPWIRELESS_CS_HARDWARE_H_ |
| #define _IPWIRELESS_CS_HARDWARE_H_ |
| |
| #include <linux/types.h> |
| #include <linux/sched.h> |
| #include <linux/interrupt.h> |
| |
| #define IPW_CONTROL_LINE_CTS 0x0001 |
| #define IPW_CONTROL_LINE_DCD 0x0002 |
| #define IPW_CONTROL_LINE_DSR 0x0004 |
| #define IPW_CONTROL_LINE_RI 0x0008 |
| #define IPW_CONTROL_LINE_DTR 0x0010 |
| #define IPW_CONTROL_LINE_RTS 0x0020 |
| |
| struct ipw_hardware; |
| struct ipw_network; |
| |
| struct ipw_hardware *ipwireless_hardware_create(void); |
| void ipwireless_hardware_free(struct ipw_hardware *hw); |
| irqreturn_t ipwireless_interrupt(int irq, void *dev_id); |
| int ipwireless_set_DTR(struct ipw_hardware *hw, unsigned int channel_idx, |
| int state); |
| int ipwireless_set_RTS(struct ipw_hardware *hw, unsigned int channel_idx, |
| int state); |
| int ipwireless_send_packet(struct ipw_hardware *hw, |
| unsigned int channel_idx, |
| const unsigned char *data, |
| unsigned int length, |
| void (*packet_sent_callback) (void *cb, |
| unsigned int length), |
| void *sent_cb_data); |
| void ipwireless_associate_network(struct ipw_hardware *hw, |
| struct ipw_network *net); |
| void ipwireless_stop_interrupts(struct ipw_hardware *hw); |
| void ipwireless_init_hardware_v1(struct ipw_hardware *hw, |
| unsigned int base_port, |
| void __iomem *attr_memory, |
| void __iomem *common_memory, |
| int is_v2_card, |
| void (*reboot_cb) (void *data), |
| void *reboot_cb_data); |
| void ipwireless_init_hardware_v2_v3(struct ipw_hardware *hw); |
| void ipwireless_sleep(unsigned int tenths); |
| |
| #endif |