@@ -234,21 +234,14 @@ int goodix_sync_ic_stat(struct goodix_ts_core *core_data)
234234 mutex_lock (& core_data -> work_stat );
235235 tp_stat = atomic_read (& core_data -> suspend_stat );
236236 switch (tp_stat ) {
237- case TP_NO_SUSPEND :
238- goto exit ;
239- break ;
240- case TP_GESTURE_DBCLK :
241- goto sync ;
242- break ;
243- case TP_GESTURE_FOD :
244- goto sync ;
245- break ;
246- case TP_GESTURE_DBCLK_FOD :
247- goto sync ;
248- break ;
249- case TP_SLEEP :
250- goto fromsleep ;
251- break ;
237+ case TP_SLEEP :
238+ goto fromsleep ;
239+ case TP_NO_SUSPEND :
240+ goto exit ;
241+ case TP_GESTURE_DBCLK :
242+ case TP_GESTURE_FOD :
243+ case TP_GESTURE_DBCLK_FOD :
244+ goto sync ;
252245 }
253246
254247sync :
@@ -399,41 +392,41 @@ static int gsx_gesture_ist(struct goodix_ts_core *core_data,
399392
400393 if ((core_data -> udfps_enabled || core_data -> aod_status ) && FP_Event_Gesture ) {
401394 switch (temp_data [2 ]) {
402- case 0x46 :
403- core_data -> udfps_pressed = 1 ;
404- sysfs_notify (& core_data -> pdev -> dev .kobj , NULL , "udfps_pressed" );
405- input_report_key (core_data -> input_dev , BTN_INFO , 1 );
395+ case 0x46 :
396+ core_data -> udfps_pressed = 1 ;
397+ sysfs_notify (& core_data -> pdev -> dev .kobj , NULL , "udfps_pressed" );
398+ input_report_key (core_data -> input_dev , BTN_INFO , 1 );
406399
407- core_data -> fod_pressed = true;
400+ core_data -> fod_pressed = true;
408401
409- ts_debug ("Gesture report, x=%d, y=%d, overlapping_area=%d, area=%d" ,
410- x , y , overlapping_area , area );
402+ ts_debug ("Gesture report, x=%d, y=%d, overlapping_area=%d, area=%d" ,
403+ x , y , overlapping_area , area );
411404
412- /*wait for report key event*/
413- FP_Event_Gesture = 0 ;
414- input_sync (core_data -> input_dev );
415- break ;
405+ /*wait for report key event*/
406+ FP_Event_Gesture = 0 ;
407+ input_sync (core_data -> input_dev );
408+ break ;
416409
417- case 0x4c :
418- /*wait for report key event*/
419- FP_Event_Gesture = 0 ;
420- input_report_key (core_data -> input_dev , KEY_GOTO , 1 );
421- input_sync (core_data -> input_dev );
422- input_report_key (core_data -> input_dev , KEY_GOTO , 0 );
410+ case 0x4c :
411+ /*wait for report key event*/
412+ FP_Event_Gesture = 0 ;
413+ input_report_key (core_data -> input_dev , KEY_GOTO , 1 );
414+ input_sync (core_data -> input_dev );
415+ input_report_key (core_data -> input_dev , KEY_GOTO , 0 );
416+ input_sync (core_data -> input_dev );
417+ core_data -> sleep_finger = 0 ;
418+ ts_debug ("Gesture report L" );
419+ break ;
420+
421+ case 0xff :
422+ if (core_data -> fod_pressed ) {
423+ ts_debug ("Gesture report up" );
424+ input_report_key (core_data -> input_dev , BTN_INFO , 0 );
423425 input_sync (core_data -> input_dev );
424- core_data -> sleep_finger = 0 ;
425- ts_debug ("Gesture report L" );
426- break ;
427-
428- case 0xff :
429- if (core_data -> fod_pressed ) {
430- ts_debug ("Gesture report up" );
431- input_report_key (core_data -> input_dev , BTN_INFO , 0 );
432- input_sync (core_data -> input_dev );
433- core_data -> fod_pressed = false;
434- }
435- core_data -> sleep_finger = 0 ;
436- break ;
426+ core_data -> fod_pressed = false;
427+ }
428+ core_data -> sleep_finger = 0 ;
429+ break ;
437430 }
438431 }
439432
@@ -469,7 +462,7 @@ static int gsx_gesture_ist(struct goodix_ts_core *core_data,
469462 ts_err ("set suspend function failed!!" );
470463gesture_ist_exit :
471464 ts_dev -> hw_ops -> write_trans (core_data -> ts_dev , GSX_REG_GESTURE_DATA ,
472- & clear_reg , 1 );
465+ & clear_reg , 1 );
473466 mutex_unlock (& ts_dev -> report_mutex );
474467 return EVT_CANCEL_IRQEVT ;
475468}
@@ -487,41 +480,42 @@ static int goodix_set_suspend_func(struct goodix_ts_core *core_data)
487480 u8 state_data [3 ] = {0 };
488481 int ret ;
489482
490- int mode = 0 ;
491- if (core_data -> double_tap_enabled )
492- mode |= 0x01 ;
493- if (core_data -> udfps_enabled )
494- mode |= 0x02 ;
495-
496- switch (mode ) {
497- case 0x03 : // Fod on Dt2w on
498- state_data [1 ] = 0x01 ;
499- state_data [2 ] = 0xF7 ;
500- break ;
501- case 0x01 : // Fod off Dt2w on
502- state_data [1 ] = 0x03 ;
503- state_data [2 ] = 0xF5 ;
504- break ;
505- case 0x02 : // Fod on Dt2w off
506- state_data [1 ] = 0x00 ;
507- state_data [2 ] = 0xF8 ;
508- break ;
509- case 0x00 : // Fod off Dt2w off
510- state_data [1 ] = 0x02 ;
511- state_data [2 ] = 0xF6 ;
512- break ;
513- default :
514- ret = -1 ;
515- ts_info ("Get IC mode failed, core_data->double_tap_enabled=%d, core_data->udfps_enabled=%d;" ,
516- core_data -> double_tap_enabled , core_data -> udfps_enabled );
517- return ret ;
518- }
519-
520- state_data [0 ] = GSX_GESTURE_CMD ;
521- ret = goodix_i2c_write (dev , GSX_REG_GESTURE , state_data , 3 );
522- ts_info ("Set IC double wakeup mode %s, FOD mode %s;" ,
523- core_data -> double_tap_enabled ? "on" : "off" ,
524- core_data -> udfps_enabled ? "on" : "off" );
483+ int mode = 0 ;
484+
485+ if (core_data -> double_tap_enabled )
486+ mode |= 0x01 ;
487+ if (core_data -> udfps_enabled )
488+ mode |= 0x02 ;
489+
490+ switch (mode ) {
491+ case 0x03 : // Fod on Dt2w on
492+ state_data [1 ] = 0x01 ;
493+ state_data [2 ] = 0xF7 ;
494+ break ;
495+ case 0x01 : // Fod off Dt2w on
496+ state_data [1 ] = 0x03 ;
497+ state_data [2 ] = 0xF5 ;
498+ break ;
499+ case 0x02 : // Fod on Dt2w off
500+ state_data [1 ] = 0x00 ;
501+ state_data [2 ] = 0xF8 ;
502+ break ;
503+ case 0x00 : // Fod off Dt2w off
504+ state_data [1 ] = 0x02 ;
505+ state_data [2 ] = 0xF6 ;
506+ break ;
507+ default :
508+ ret = -1 ;
509+ ts_info ("Get IC mode failed, core_data->double_tap_enabled=%d, core_data->udfps_enabled=%d;" ,
510+ core_data -> double_tap_enabled , core_data -> udfps_enabled );
511+ return ret ;
512+ }
513+
514+ state_data [0 ] = GSX_GESTURE_CMD ;
515+ ret = goodix_i2c_write (dev , GSX_REG_GESTURE , state_data , 3 );
516+ ts_info ("Set IC double wakeup mode %s, FOD mode %s;" ,
517+ core_data -> double_tap_enabled ? "on" : "off" ,
518+ core_data -> udfps_enabled ? "on" : "off" );
525519
526520 return ret ;
527521}
@@ -607,10 +601,10 @@ static int gsx_gesture_before_suspend(struct goodix_ts_core *core_data,
607601 }
608602
609603 if (!core_data -> gesture_enabled ) {
610- ts_err ("enter %s\n" , __func__ );
611- atomic_set (& core_data -> suspended , 1 );
612- return EVT_CONTINUE ;
613- }
604+ ts_err ("enter %s\n" , __func__ );
605+ atomic_set (& core_data -> suspended , 1 );
606+ return EVT_CONTINUE ;
607+ }
614608
615609 ret = goodix_set_suspend_func (core_data );
616610 if (ret != 0 ) {
0 commit comments