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 #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(); @@ -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.