1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
Index: linux-2.6.21/drivers/char/ts0710_mux_usb.c
===================================================================
--- linux-2.6.21.orig/drivers/char/ts0710_mux_usb.c 2007-09-28 23:37:33.000000000 +0200
+++ linux-2.6.21/drivers/char/ts0710_mux_usb.c 2007-09-28 23:37:45.000000000 +0200
@@ -35,10 +35,14 @@
#include <linux/list.h>
#include <linux/errno.h>
#include <asm/uaccess.h>
+
+#ifdef CONFIG_PXA_EZX
#include <asm/hardware.h>
#include <asm/arch/hardware.h>
#include <asm/arch-pxa/pxa-regs.h>
#include <asm/arch-pxa/ezx.h>
+#endif
+
#include <linux/slab.h>
#include <linux/miscdevice.h>
#include <linux/init.h>
@@ -341,8 +345,10 @@
static void wakeup_timeout(unsigned long data)
{
+#ifdef CONFIG_PXA_EZX
GPSR(GPIO_MCU_INT_SW) = GPIO_bit(GPIO_MCU_INT_SW);
bvd_dbg("wakup_timeout: send GPIO_MCU_INT_SW signal!");
+#endif
}
static void suspend_timeout(unsigned long data)
@@ -353,10 +359,12 @@
bvd_dbg("suspend_timeout: add the suspend timer again");
} else {
unlink_urbs(&bvd_ipc->readurb_mux);
+#ifdef CONFIG_PXA_EZX
UHCRHPS3 = 0x4;
mdelay(40);
bvd_dbg("suspend_timeout: send SUSPEND signal! UHCRHPS3=0x%x",
UHCRHPS3);
+#endif
}
}
@@ -404,6 +412,7 @@
bvd_ipc->writeurb_mux.transfer_buffer_length = buf_num;
bvd_dbg("ipcusb_xmit_data: copy data to write urb finished! ");
+#ifdef CONFIG_PXA_EZX
if ((UHCRHPS3 & 0x4) == 0x4) {
static int ret;
int time = 0;
@@ -442,6 +451,7 @@
"failed! status=%d\n", ret);
bvd_dbg("ipcusb_xmit_data: Send a IN token successfully!");
}
+#endif
sumbit_times++;
bvd_ipc->write_finished_flag = 0;
@@ -464,12 +474,16 @@
static void usbipc_bh_bp_func(unsigned long param)
{
+#ifdef CONFIG_PXA_EZX
if ((UHCRHPS3 & 0x4) == 0x4) {
UHCRHPS3 = 0x8;
+#endif
mdelay(40);
+#ifdef CONFIG_PXA_EZX
bvd_dbg("ipcusb_softint_send_readurb: Send RESUME signal! "
"UHCRHPS3=0x%x", UHCRHPS3);
}
+#endif
if (bvd_ipc->ipc_flag == IPC_USB_PROBE_READY) {
//get_halted_bit();
@@ -735,7 +749,9 @@
printk("usb_ipc_disconnect. bvd_ipc_disconnect address: %p\n", bvd_ipc_disconnect);
//FIXME: Memory leak?
+#ifdef CONFIG_PXA_EZX
if ((UHCRHPS3 & 0x4) == 0)
+#endif
// usb_unlink_urb(&bvd_ipc_disconnect->readurb_mux);
//usb_unlink_urb(&bvd_ipc_disconnect->writeurb_mux);
Index: linux-2.6.21/drivers/char/Kconfig
===================================================================
--- linux-2.6.21.orig/drivers/char/Kconfig 2007-09-29 10:52:18.000000000 +0200
+++ linux-2.6.21/drivers/char/Kconfig 2007-09-29 10:52:30.000000000 +0200
@@ -1073,7 +1073,7 @@
config TS0710_MUX
tristate "GSM TS 07.10 Multiplex driver"
- depends on EZX_BP
+ depends on EZX_BP || X86
help
This implements the GSM 07.10 multiplex.
|