diff options
author | David Sterba <dsterba@suse.cz> | 2008-02-07 04:57:12 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-07 20:19:49 -0500 |
commit | 099dc4fb62653f6019d78db55fba7a18ef02d65b (patch) | |
tree | ce488fb0777f722eb83e3b0fb2b5cde0a4a8fc7d /drivers/char/pcmcia/ipwireless/hardware.h | |
parent | 151db1fc23800875c7ac353b106b7dab77061275 (diff) |
ipwireless: driver for PC Card 3G/UMTS modem
The device is manufactured by IPWireless. In some countries (for
example Czech Republic, T-Mobile ISP) this card is shipped for service
called UMTS 4G.
It's a piece of PCMCIA "4G" UMTS PPP networking hardware that presents
itself as a serial character device (i.e. looks like usual modem to
userspace, accepts AT commands, etc).
Rewieved-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Ben Martel <benm@symmetric.co.nz>
Signed-off-by: Stephen Blackheath <stephen@symmetric.co.nz>
Signed-off-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/char/pcmcia/ipwireless/hardware.h')
-rw-r--r-- | drivers/char/pcmcia/ipwireless/hardware.h | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/drivers/char/pcmcia/ipwireless/hardware.h b/drivers/char/pcmcia/ipwireless/hardware.h new file mode 100644 index 000000000000..c83190ffb0e7 --- /dev/null +++ b/drivers/char/pcmcia/ipwireless/hardware.h | |||
@@ -0,0 +1,64 @@ | |||
1 | /* | ||
2 | * IPWireless 3G PCMCIA Network Driver | ||
3 | * | ||
4 | * Original code | ||
5 | * by Stephen Blackheath <stephen@blacksapphire.com>, | ||
6 | * Ben Martel <benm@symmetric.co.nz> | ||
7 | * | ||
8 | * Copyrighted as follows: | ||
9 | * Copyright (C) 2004 by Symmetric Systems Ltd (NZ) | ||
10 | * | ||
11 | * Various driver changes and rewrites, port to new kernels | ||
12 | * Copyright (C) 2006-2007 Jiri Kosina | ||
13 | * | ||
14 | * Misc code cleanups and updates | ||
15 | * Copyright (C) 2007 David Sterba | ||
16 | */ | ||
17 | |||
18 | #ifndef _IPWIRELESS_CS_HARDWARE_H_ | ||
19 | #define _IPWIRELESS_CS_HARDWARE_H_ | ||
20 | |||
21 | #include <linux/types.h> | ||
22 | #include <linux/sched.h> | ||
23 | #include <linux/interrupt.h> | ||
24 | |||
25 | #define IPW_CONTROL_LINE_CTS 0x0001 | ||
26 | #define IPW_CONTROL_LINE_DCD 0x0002 | ||
27 | #define IPW_CONTROL_LINE_DSR 0x0004 | ||
28 | #define IPW_CONTROL_LINE_RI 0x0008 | ||
29 | #define IPW_CONTROL_LINE_DTR 0x0010 | ||
30 | #define IPW_CONTROL_LINE_RTS 0x0020 | ||
31 | |||
32 | struct ipw_hardware; | ||
33 | struct ipw_network; | ||
34 | |||
35 | struct ipw_hardware *ipwireless_hardware_create(void); | ||
36 | void ipwireless_hardware_free(struct ipw_hardware *hw); | ||
37 | irqreturn_t ipwireless_interrupt(int irq, void *dev_id, struct pt_regs *regs); | ||
38 | int ipwireless_set_DTR(struct ipw_hardware *hw, unsigned int channel_idx, | ||
39 | int state); | ||
40 | int ipwireless_set_RTS(struct ipw_hardware *hw, unsigned int channel_idx, | ||
41 | int state); | ||
42 | int ipwireless_send_packet(struct ipw_hardware *hw, | ||
43 | unsigned int channel_idx, | ||
44 | unsigned char *data, | ||
45 | unsigned int length, | ||
46 | void (*packet_sent_callback) (void *cb, | ||
47 | unsigned int length), | ||
48 | void *sent_cb_data); | ||
49 | void ipwireless_associate_network(struct ipw_hardware *hw, | ||
50 | struct ipw_network *net); | ||
51 | void ipwireless_stop_interrupts(struct ipw_hardware *hw); | ||
52 | void ipwireless_init_hardware_v1(struct ipw_hardware *hw, | ||
53 | unsigned int base_port, | ||
54 | void __iomem *attr_memory, | ||
55 | void __iomem *common_memory, | ||
56 | int is_v2_card, | ||
57 | void (*reboot_cb) (void *data), | ||
58 | void *reboot_cb_data); | ||
59 | void ipwireless_init_hardware_v2_v3(struct ipw_hardware *hw); | ||
60 | void ipwireless_sleep(unsigned int tenths); | ||
61 | int ipwireless_dump_hardware_state(char *p, size_t limit, | ||
62 | struct ipw_hardware *hw); | ||
63 | |||
64 | #endif | ||