Lines Matching refs:sw
216 struct ad714x_button_drv *sw = &ad714x->sw->button[idx];
218 switch (sw->state) {
223 input_report_key(sw->input, hw->keycode, 1);
224 input_sync(sw->input);
225 sw->state = ACTIVE;
233 input_report_key(sw->input, hw->keycode, 0);
234 input_sync(sw->input);
235 sw->state = IDLE;
269 struct ad714x_slider_drv *sw = &ad714x->sw->slider[idx];
271 sw->highest_stage = ad714x_cal_highest_stage(ad714x, hw->start_stage,
275 sw->highest_stage);
294 struct ad714x_slider_drv *sw = &ad714x->sw->slider[idx];
296 sw->abs_pos = ad714x_cal_abs_pos(ad714x, hw->start_stage, hw->end_stage,
297 sw->highest_stage, hw->max_coord);
300 sw->abs_pos);
315 struct ad714x_slider_drv *sw = &ad714x->sw->slider[idx];
317 sw->flt_pos = (sw->flt_pos * (10 - 4) +
318 sw->abs_pos * 4)/10;
321 sw->flt_pos);
341 struct ad714x_slider_drv *sw = &ad714x->sw->slider[idx];
350 switch (sw->state) {
353 sw->state = JITTER;
367 sw->flt_pos = sw->abs_pos;
368 sw->state = ACTIVE;
379 input_report_abs(sw->input, ABS_X, sw->flt_pos);
380 input_report_key(sw->input, BTN_TOUCH, 1);
386 sw->state = IDLE;
387 input_report_key(sw->input, BTN_TOUCH, 0);
391 input_sync(sw->input);
410 struct ad714x_wheel_drv *sw = &ad714x->sw->wheel[idx];
412 sw->pre_highest_stage = sw->highest_stage;
413 sw->highest_stage = ad714x_cal_highest_stage(ad714x, hw->start_stage,
417 sw->highest_stage);
452 struct ad714x_wheel_drv *sw = &ad714x->sw->wheel[idx];
457 first_before = (sw->highest_stage + stage_num - 1) % stage_num;
458 highest = sw->highest_stage;
459 first_after = (sw->highest_stage + stage_num + 1) % stage_num;
471 sw->abs_pos = ((hw->max_coord / (hw->end_stage - hw->start_stage)) *
474 if (sw->abs_pos > hw->max_coord)
475 sw->abs_pos = hw->max_coord;
476 else if (sw->abs_pos < 0)
477 sw->abs_pos = 0;
483 struct ad714x_wheel_drv *sw = &ad714x->sw->wheel[idx];
484 if (((sw->pre_highest_stage == hw->end_stage) &&
485 (sw->highest_stage == hw->start_stage)) ||
486 ((sw->pre_highest_stage == hw->start_stage) &&
487 (sw->highest_stage == hw->end_stage)))
488 sw->flt_pos = sw->abs_pos;
490 sw->flt_pos = ((sw->flt_pos * 30) + (sw->abs_pos * 71)) / 100;
492 if (sw->flt_pos > hw->max_coord)
493 sw->flt_pos = hw->max_coord;
513 struct ad714x_wheel_drv *sw = &ad714x->sw->wheel[idx];
522 switch (sw->state) {
525 sw->state = JITTER;
539 sw->flt_pos = sw->abs_pos;
540 sw->state = ACTIVE;
551 input_report_abs(sw->input, ABS_WHEEL,
552 sw->flt_pos);
553 input_report_key(sw->input, BTN_TOUCH, 1);
559 sw->state = IDLE;
560 input_report_key(sw->input, BTN_TOUCH, 0);
565 input_sync(sw->input);
597 struct ad714x_touchpad_drv *sw = &ad714x->sw->touchpad[idx];
599 sw->x_highest_stage = ad714x_cal_highest_stage(ad714x,
601 sw->y_highest_stage = ad714x_cal_highest_stage(ad714x,
606 idx, sw->x_highest_stage, sw->y_highest_stage);
618 struct ad714x_touchpad_drv *sw = &ad714x->sw->touchpad[idx];
621 for (i = hw->x_start_stage; i < sw->x_highest_stage; i++) {
627 for (i = sw->x_highest_stage; i < hw->x_end_stage; i++) {
633 for (i = hw->y_start_stage; i < sw->y_highest_stage; i++) {
639 for (i = sw->y_highest_stage; i < hw->y_end_stage; i++) {
657 struct ad714x_touchpad_drv *sw = &ad714x->sw->touchpad[idx];
659 sw->x_abs_pos = ad714x_cal_abs_pos(ad714x, hw->x_start_stage,
660 hw->x_end_stage, sw->x_highest_stage, hw->x_max_coord);
661 sw->y_abs_pos = ad714x_cal_abs_pos(ad714x, hw->y_start_stage,
662 hw->y_end_stage, sw->y_highest_stage, hw->y_max_coord);
665 sw->x_abs_pos, sw->y_abs_pos);
670 struct ad714x_touchpad_drv *sw = &ad714x->sw->touchpad[idx];
672 sw->x_flt_pos = (sw->x_flt_pos * (10 - 4) +
673 sw->x_abs_pos * 4)/10;
674 sw->y_flt_pos = (sw->y_flt_pos * (10 - 4) +
675 sw->y_abs_pos * 4)/10;
678 idx, sw->x_flt_pos, sw->y_flt_pos);
702 struct ad714x_touchpad_drv *sw = &ad714x->sw->touchpad[idx];
709 if (!sw->left_ep) {
711 sw->left_ep = 1;
712 sw->left_ep_val =
718 LEFT_RIGHT_END_POINT_DEAVTIVALION_LEVEL + sw->left_ep_val))
719 sw->left_ep = 0;
726 if (!sw->right_ep) {
728 sw->right_ep = 1;
729 sw->right_ep_val =
735 LEFT_RIGHT_END_POINT_DEAVTIVALION_LEVEL + sw->right_ep_val))
736 sw->right_ep = 0;
743 if (!sw->top_ep) {
745 sw->top_ep = 1;
746 sw->top_ep_val =
752 TOP_BOTTOM_END_POINT_DEAVTIVALION_LEVEL + sw->top_ep_val))
753 sw->top_ep = 0;
760 if (!sw->bottom_ep) {
762 sw->bottom_ep = 1;
763 sw->bottom_ep_val =
769 TOP_BOTTOM_END_POINT_DEAVTIVALION_LEVEL + sw->bottom_ep_val))
770 sw->bottom_ep = 0;
773 return sw->left_ep || sw->right_ep || sw->top_ep || sw->bottom_ep;
794 struct ad714x_touchpad_drv *sw = &ad714x->sw->touchpad[idx];
806 switch (sw->state) {
809 sw->state = JITTER;
828 sw->x_flt_pos = sw->x_abs_pos;
829 sw->y_flt_pos = sw->y_abs_pos;
830 sw->state = ACTIVE;
844 input_report_abs(sw->input, ABS_X,
845 sw->x_flt_pos);
846 input_report_abs(sw->input, ABS_Y,
847 sw->y_flt_pos);
848 input_report_key(sw->input, BTN_TOUCH,
856 sw->state = IDLE;
857 input_report_key(sw->input, BTN_TOUCH, 0);
861 input_sync(sw->input);
992 ad714x = devm_kzalloc(dev, sizeof(*ad714x) + sizeof(*ad714x->sw) +
1005 ad714x->sw = drv_mem;
1006 drv_mem += sizeof(*ad714x->sw);
1007 ad714x->sw->slider = sd_drv = drv_mem;
1009 ad714x->sw->wheel = wl_drv = drv_mem;
1011 ad714x->sw->touchpad = tp_drv = drv_mem;
1013 ad714x->sw->button = bt_drv = drv_mem;
1025 /* initialize and request sw/hw resources */