void MsDrvInterfaceTouchDeviceSuspend(void)
{
    u16 wkup_mode = 0;
    DBG("*** %s() ***\n", __func__);
#ifdef CONFIG_UPDATE_FIRMWARE_BY_SW_ID
    if(program_over ==0)
		return;
#endif
    if(tp_suspend_flag){
        DBG("*** Mstar is already suspended! ***\n");
        return;
    }
    tp_suspend_flag = 1;
#ifdef CONFIG_ENABLE_GESTURE_WAKEUP
//    g_GestureWakeupMode = 0x1FFF; // litao Enable all gesture wakeup mode for testing 20150120

    if (g_GestureWakeupMode != 0x0000)
    {
	 wkup_mode = 0x1FFF;
	 DrvPlatformLyrDisableFingerTouchReport();
        DrvIcFwLyrOpenGestureWakeup(wkup_mode);
        return;
    }
#endif //CONFIG_ENABLE_GESTURE_WAKEUP

    DrvPlatformLyrFingerTouchReleased(0, 0); // Send touch end for clearing point touch
    input_sync(g_InputDevice);

    DrvPlatformLyrDisableFingerTouchReport();
    DrvPlatformLyrTouchDevicePowerOff(); 
}
static int msg_ts_suspend(struct device *dev)
{
	DBG("*** %s() ***\n", __func__);

	DBG("suspend bSuspendRuned=%d\n", bSuspendRuned);
	bSuspendRuned = 1;

#ifdef CONFIG_ENABLE_GESTURE_WAKEUP
	if (g_GestureWakeupMode[0] != 0x00000000 ||
			g_GestureWakeupMode[1] != 0x00000000) {
		DrvIcFwLyrOpenGestureWakeup(&g_GestureWakeupMode[0]);
		return 0;
	}
#endif /* CONFIG_ENABLE_GESTURE_WAKEUP */

	/* Send touch end for clearing point touch */
	DrvPlatformLyrFingerTouchReleased(0, 0);
	input_sync(g_InputDevice);

	DrvPlatformLyrDisableFingerTouchReport();
	DrvPlatformLyrTouchDevicePowerOff();
#ifdef CONFIG_ENABLE_REGULATOR_POWER_ON
	DrvPlatformLyrTouchDeviceRegulatorPowerOff();
#endif
	return 0;
}
void MsDrvInterfaceTouchDeviceSuspend(struct early_suspend *pSuspend)
{
    DBG("*** %s() ***\n", __func__);

#ifdef CONFIG_ENABLE_GESTURE_WAKEUP
//    g_GestureWakeupMode = 0x1FFF; // Enable all gesture wakeup mode for testing 

    if (g_GestureWakeupMode != 0x0000)
    {
        DrvIcFwLyrOpenGestureWakeup(g_GestureWakeupMode);
        return;
    }
#endif //CONFIG_ENABLE_GESTURE_WAKEUP

    DrvPlatformLyrFingerTouchReleased(0, 0); // Send touch end for clearing point touch
    input_sync(g_InputDevice);

    DrvPlatformLyrDisableFingerTouchReport();
    DrvPlatformLyrTouchDevicePowerOff(); 
}