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
|
diff -pruN linux-2.6.20.7/drivers/char/ts0710_mux_usb.c linux-2.6.20.7_x386/drivers/char/ts0710_mux_usb.c
--- linux-2.6.20.7/drivers/char/ts0710_mux_usb.c 2007-04-22 10:51:38.000000000 +0200
+++ linux-2.6.20.7_x386/drivers/char/ts0710_mux_usb.c 2007-04-22 11:44:54.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 usb_ipc_write_bulk(struct ur
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 @@ static void suspend_timeout(unsigned lon
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 @@ static void ipcusb_xmit_data(void)
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 @@ static void ipcusb_xmit_data(void)
"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_func(unsigned long
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();
@@ -734,7 +748,9 @@ static void usb_ipc_disconnect(struct us
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);
|