Index: linux-2.6.20.7/drivers/char/ts0710_mux_usb.c =================================================================== --- linux-2.6.20.7.orig/drivers/char/ts0710_mux_usb.c 2007-04-24 16:31:51.000000000 +0200 +++ linux-2.6.20.7/drivers/char/ts0710_mux_usb.c 2007-04-24 16:34:57.000000000 +0200 @@ -35,10 +35,14 @@ #include #include #include + +#ifdef CONFIG_PXA_EZX #include #include #include #include +#endif + #include #include #include @@ -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(); @@ -734,7 +748,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);