ad714x            126 drivers/input/misc/ad714x.c static void ad714x_use_com_int(struct ad714x_chip *ad714x,
ad714x            134 drivers/input/misc/ad714x.c 	ad714x->read(ad714x, STG_COM_INT_EN_REG, &data, 1);
ad714x            136 drivers/input/misc/ad714x.c 	ad714x->write(ad714x, STG_COM_INT_EN_REG, data);
ad714x            138 drivers/input/misc/ad714x.c 	ad714x->read(ad714x, STG_HIGH_INT_EN_REG, &data, 1);
ad714x            140 drivers/input/misc/ad714x.c 	ad714x->write(ad714x, STG_HIGH_INT_EN_REG, data);
ad714x            143 drivers/input/misc/ad714x.c static void ad714x_use_thr_int(struct ad714x_chip *ad714x,
ad714x            151 drivers/input/misc/ad714x.c 	ad714x->read(ad714x, STG_COM_INT_EN_REG, &data, 1);
ad714x            153 drivers/input/misc/ad714x.c 	ad714x->write(ad714x, STG_COM_INT_EN_REG, data);
ad714x            155 drivers/input/misc/ad714x.c 	ad714x->read(ad714x, STG_HIGH_INT_EN_REG, &data, 1);
ad714x            157 drivers/input/misc/ad714x.c 	ad714x->write(ad714x, STG_HIGH_INT_EN_REG, data);
ad714x            160 drivers/input/misc/ad714x.c static int ad714x_cal_highest_stage(struct ad714x_chip *ad714x,
ad714x            168 drivers/input/misc/ad714x.c 		if (ad714x->sensor_val[i] > max_res) {
ad714x            169 drivers/input/misc/ad714x.c 			max_res = ad714x->sensor_val[i];
ad714x            177 drivers/input/misc/ad714x.c static int ad714x_cal_abs_pos(struct ad714x_chip *ad714x,
ad714x            184 drivers/input/misc/ad714x.c 		a_param = ad714x->sensor_val[start_stage + 1];
ad714x            185 drivers/input/misc/ad714x.c 		b_param = ad714x->sensor_val[start_stage] +
ad714x            186 drivers/input/misc/ad714x.c 			ad714x->sensor_val[start_stage + 1];
ad714x            188 drivers/input/misc/ad714x.c 		a_param = ad714x->sensor_val[end_stage] *
ad714x            190 drivers/input/misc/ad714x.c 			ad714x->sensor_val[end_stage - 1] *
ad714x            192 drivers/input/misc/ad714x.c 		b_param = ad714x->sensor_val[end_stage] +
ad714x            193 drivers/input/misc/ad714x.c 			ad714x->sensor_val[end_stage - 1];
ad714x            195 drivers/input/misc/ad714x.c 		a_param = ad714x->sensor_val[highest_stage] *
ad714x            197 drivers/input/misc/ad714x.c 			ad714x->sensor_val[highest_stage - 1] *
ad714x            199 drivers/input/misc/ad714x.c 			ad714x->sensor_val[highest_stage + 1] *
ad714x            201 drivers/input/misc/ad714x.c 		b_param = ad714x->sensor_val[highest_stage] +
ad714x            202 drivers/input/misc/ad714x.c 			ad714x->sensor_val[highest_stage - 1] +
ad714x            203 drivers/input/misc/ad714x.c 			ad714x->sensor_val[highest_stage + 1];
ad714x            213 drivers/input/misc/ad714x.c static void ad714x_button_state_machine(struct ad714x_chip *ad714x, int idx)
ad714x            215 drivers/input/misc/ad714x.c 	struct ad714x_button_plat *hw = &ad714x->hw->button[idx];
ad714x            216 drivers/input/misc/ad714x.c 	struct ad714x_button_drv *sw = &ad714x->sw->button[idx];
ad714x            220 drivers/input/misc/ad714x.c 		if (((ad714x->h_state & hw->h_mask) == hw->h_mask) &&
ad714x            221 drivers/input/misc/ad714x.c 		    ((ad714x->l_state & hw->l_mask) == hw->l_mask)) {
ad714x            222 drivers/input/misc/ad714x.c 			dev_dbg(ad714x->dev, "button %d touched\n", idx);
ad714x            230 drivers/input/misc/ad714x.c 		if (((ad714x->h_state & hw->h_mask) != hw->h_mask) ||
ad714x            231 drivers/input/misc/ad714x.c 		    ((ad714x->l_state & hw->l_mask) != hw->l_mask)) {
ad714x            232 drivers/input/misc/ad714x.c 			dev_dbg(ad714x->dev, "button %d released\n", idx);
ad714x            248 drivers/input/misc/ad714x.c static void ad714x_slider_cal_sensor_val(struct ad714x_chip *ad714x, int idx)
ad714x            250 drivers/input/misc/ad714x.c 	struct ad714x_slider_plat *hw = &ad714x->hw->slider[idx];
ad714x            253 drivers/input/misc/ad714x.c 	ad714x->read(ad714x, CDC_RESULT_S0 + hw->start_stage,
ad714x            254 drivers/input/misc/ad714x.c 			&ad714x->adc_reg[hw->start_stage],
ad714x            258 drivers/input/misc/ad714x.c 		ad714x->read(ad714x, STAGE0_AMBIENT + i * PER_STAGE_REG_NUM,
ad714x            259 drivers/input/misc/ad714x.c 				&ad714x->amb_reg[i], 1);
ad714x            261 drivers/input/misc/ad714x.c 		ad714x->sensor_val[i] =
ad714x            262 drivers/input/misc/ad714x.c 			abs(ad714x->adc_reg[i] - ad714x->amb_reg[i]);
ad714x            266 drivers/input/misc/ad714x.c static void ad714x_slider_cal_highest_stage(struct ad714x_chip *ad714x, int idx)
ad714x            268 drivers/input/misc/ad714x.c 	struct ad714x_slider_plat *hw = &ad714x->hw->slider[idx];
ad714x            269 drivers/input/misc/ad714x.c 	struct ad714x_slider_drv *sw = &ad714x->sw->slider[idx];
ad714x            271 drivers/input/misc/ad714x.c 	sw->highest_stage = ad714x_cal_highest_stage(ad714x, hw->start_stage,
ad714x            274 drivers/input/misc/ad714x.c 	dev_dbg(ad714x->dev, "slider %d highest_stage:%d\n", idx,
ad714x            291 drivers/input/misc/ad714x.c static void ad714x_slider_cal_abs_pos(struct ad714x_chip *ad714x, int idx)
ad714x            293 drivers/input/misc/ad714x.c 	struct ad714x_slider_plat *hw = &ad714x->hw->slider[idx];
ad714x            294 drivers/input/misc/ad714x.c 	struct ad714x_slider_drv *sw = &ad714x->sw->slider[idx];
ad714x            296 drivers/input/misc/ad714x.c 	sw->abs_pos = ad714x_cal_abs_pos(ad714x, hw->start_stage, hw->end_stage,
ad714x            299 drivers/input/misc/ad714x.c 	dev_dbg(ad714x->dev, "slider %d absolute position:%d\n", idx,
ad714x            313 drivers/input/misc/ad714x.c static void ad714x_slider_cal_flt_pos(struct ad714x_chip *ad714x, int idx)
ad714x            315 drivers/input/misc/ad714x.c 	struct ad714x_slider_drv *sw = &ad714x->sw->slider[idx];
ad714x            320 drivers/input/misc/ad714x.c 	dev_dbg(ad714x->dev, "slider %d filter position:%d\n", idx,
ad714x            324 drivers/input/misc/ad714x.c static void ad714x_slider_use_com_int(struct ad714x_chip *ad714x, int idx)
ad714x            326 drivers/input/misc/ad714x.c 	struct ad714x_slider_plat *hw = &ad714x->hw->slider[idx];
ad714x            328 drivers/input/misc/ad714x.c 	ad714x_use_com_int(ad714x, hw->start_stage, hw->end_stage);
ad714x            331 drivers/input/misc/ad714x.c static void ad714x_slider_use_thr_int(struct ad714x_chip *ad714x, int idx)
ad714x            333 drivers/input/misc/ad714x.c 	struct ad714x_slider_plat *hw = &ad714x->hw->slider[idx];
ad714x            335 drivers/input/misc/ad714x.c 	ad714x_use_thr_int(ad714x, hw->start_stage, hw->end_stage);
ad714x            338 drivers/input/misc/ad714x.c static void ad714x_slider_state_machine(struct ad714x_chip *ad714x, int idx)
ad714x            340 drivers/input/misc/ad714x.c 	struct ad714x_slider_plat *hw = &ad714x->hw->slider[idx];
ad714x            341 drivers/input/misc/ad714x.c 	struct ad714x_slider_drv *sw = &ad714x->sw->slider[idx];
ad714x            347 drivers/input/misc/ad714x.c 	h_state = ad714x->h_state & mask;
ad714x            348 drivers/input/misc/ad714x.c 	c_state = ad714x->c_state & mask;
ad714x            357 drivers/input/misc/ad714x.c 			ad714x_slider_use_com_int(ad714x, idx);
ad714x            358 drivers/input/misc/ad714x.c 			dev_dbg(ad714x->dev, "slider %d touched\n", idx);
ad714x            364 drivers/input/misc/ad714x.c 			ad714x_slider_cal_sensor_val(ad714x, idx);
ad714x            365 drivers/input/misc/ad714x.c 			ad714x_slider_cal_highest_stage(ad714x, idx);
ad714x            366 drivers/input/misc/ad714x.c 			ad714x_slider_cal_abs_pos(ad714x, idx);
ad714x            375 drivers/input/misc/ad714x.c 				ad714x_slider_cal_sensor_val(ad714x, idx);
ad714x            376 drivers/input/misc/ad714x.c 				ad714x_slider_cal_highest_stage(ad714x, idx);
ad714x            377 drivers/input/misc/ad714x.c 				ad714x_slider_cal_abs_pos(ad714x, idx);
ad714x            378 drivers/input/misc/ad714x.c 				ad714x_slider_cal_flt_pos(ad714x, idx);
ad714x            385 drivers/input/misc/ad714x.c 				ad714x_slider_use_thr_int(ad714x, idx);
ad714x            388 drivers/input/misc/ad714x.c 				dev_dbg(ad714x->dev, "slider %d released\n",
ad714x            407 drivers/input/misc/ad714x.c static void ad714x_wheel_cal_highest_stage(struct ad714x_chip *ad714x, int idx)
ad714x            409 drivers/input/misc/ad714x.c 	struct ad714x_wheel_plat *hw = &ad714x->hw->wheel[idx];
ad714x            410 drivers/input/misc/ad714x.c 	struct ad714x_wheel_drv *sw = &ad714x->sw->wheel[idx];
ad714x            413 drivers/input/misc/ad714x.c 	sw->highest_stage = ad714x_cal_highest_stage(ad714x, hw->start_stage,
ad714x            416 drivers/input/misc/ad714x.c 	dev_dbg(ad714x->dev, "wheel %d highest_stage:%d\n", idx,
ad714x            420 drivers/input/misc/ad714x.c static void ad714x_wheel_cal_sensor_val(struct ad714x_chip *ad714x, int idx)
ad714x            422 drivers/input/misc/ad714x.c 	struct ad714x_wheel_plat *hw = &ad714x->hw->wheel[idx];
ad714x            425 drivers/input/misc/ad714x.c 	ad714x->read(ad714x, CDC_RESULT_S0 + hw->start_stage,
ad714x            426 drivers/input/misc/ad714x.c 			&ad714x->adc_reg[hw->start_stage],
ad714x            430 drivers/input/misc/ad714x.c 		ad714x->read(ad714x, STAGE0_AMBIENT + i * PER_STAGE_REG_NUM,
ad714x            431 drivers/input/misc/ad714x.c 				&ad714x->amb_reg[i], 1);
ad714x            432 drivers/input/misc/ad714x.c 		if (ad714x->adc_reg[i] > ad714x->amb_reg[i])
ad714x            433 drivers/input/misc/ad714x.c 			ad714x->sensor_val[i] =
ad714x            434 drivers/input/misc/ad714x.c 				ad714x->adc_reg[i] - ad714x->amb_reg[i];
ad714x            436 drivers/input/misc/ad714x.c 			ad714x->sensor_val[i] = 0;
ad714x            449 drivers/input/misc/ad714x.c static void ad714x_wheel_cal_abs_pos(struct ad714x_chip *ad714x, int idx)
ad714x            451 drivers/input/misc/ad714x.c 	struct ad714x_wheel_plat *hw = &ad714x->hw->wheel[idx];
ad714x            452 drivers/input/misc/ad714x.c 	struct ad714x_wheel_drv *sw = &ad714x->sw->wheel[idx];
ad714x            461 drivers/input/misc/ad714x.c 	a_param = ad714x->sensor_val[highest] *
ad714x            463 drivers/input/misc/ad714x.c 		ad714x->sensor_val[first_before] *
ad714x            465 drivers/input/misc/ad714x.c 		ad714x->sensor_val[first_after] *
ad714x            467 drivers/input/misc/ad714x.c 	b_param = ad714x->sensor_val[highest] +
ad714x            468 drivers/input/misc/ad714x.c 		ad714x->sensor_val[first_before] +
ad714x            469 drivers/input/misc/ad714x.c 		ad714x->sensor_val[first_after];
ad714x            480 drivers/input/misc/ad714x.c static void ad714x_wheel_cal_flt_pos(struct ad714x_chip *ad714x, int idx)
ad714x            482 drivers/input/misc/ad714x.c 	struct ad714x_wheel_plat *hw = &ad714x->hw->wheel[idx];
ad714x            483 drivers/input/misc/ad714x.c 	struct ad714x_wheel_drv *sw = &ad714x->sw->wheel[idx];
ad714x            496 drivers/input/misc/ad714x.c static void ad714x_wheel_use_com_int(struct ad714x_chip *ad714x, int idx)
ad714x            498 drivers/input/misc/ad714x.c 	struct ad714x_wheel_plat *hw = &ad714x->hw->wheel[idx];
ad714x            500 drivers/input/misc/ad714x.c 	ad714x_use_com_int(ad714x, hw->start_stage, hw->end_stage);
ad714x            503 drivers/input/misc/ad714x.c static void ad714x_wheel_use_thr_int(struct ad714x_chip *ad714x, int idx)
ad714x            505 drivers/input/misc/ad714x.c 	struct ad714x_wheel_plat *hw = &ad714x->hw->wheel[idx];
ad714x            507 drivers/input/misc/ad714x.c 	ad714x_use_thr_int(ad714x, hw->start_stage, hw->end_stage);
ad714x            510 drivers/input/misc/ad714x.c static void ad714x_wheel_state_machine(struct ad714x_chip *ad714x, int idx)
ad714x            512 drivers/input/misc/ad714x.c 	struct ad714x_wheel_plat *hw = &ad714x->hw->wheel[idx];
ad714x            513 drivers/input/misc/ad714x.c 	struct ad714x_wheel_drv *sw = &ad714x->sw->wheel[idx];
ad714x            519 drivers/input/misc/ad714x.c 	h_state = ad714x->h_state & mask;
ad714x            520 drivers/input/misc/ad714x.c 	c_state = ad714x->c_state & mask;
ad714x            529 drivers/input/misc/ad714x.c 			ad714x_wheel_use_com_int(ad714x, idx);
ad714x            530 drivers/input/misc/ad714x.c 			dev_dbg(ad714x->dev, "wheel %d touched\n", idx);
ad714x            536 drivers/input/misc/ad714x.c 			ad714x_wheel_cal_sensor_val(ad714x, idx);
ad714x            537 drivers/input/misc/ad714x.c 			ad714x_wheel_cal_highest_stage(ad714x, idx);
ad714x            538 drivers/input/misc/ad714x.c 			ad714x_wheel_cal_abs_pos(ad714x, idx);
ad714x            547 drivers/input/misc/ad714x.c 				ad714x_wheel_cal_sensor_val(ad714x, idx);
ad714x            548 drivers/input/misc/ad714x.c 				ad714x_wheel_cal_highest_stage(ad714x, idx);
ad714x            549 drivers/input/misc/ad714x.c 				ad714x_wheel_cal_abs_pos(ad714x, idx);
ad714x            550 drivers/input/misc/ad714x.c 				ad714x_wheel_cal_flt_pos(ad714x, idx);
ad714x            558 drivers/input/misc/ad714x.c 				ad714x_wheel_use_thr_int(ad714x, idx);
ad714x            562 drivers/input/misc/ad714x.c 				dev_dbg(ad714x->dev, "wheel %d released\n",
ad714x            574 drivers/input/misc/ad714x.c static void touchpad_cal_sensor_val(struct ad714x_chip *ad714x, int idx)
ad714x            576 drivers/input/misc/ad714x.c 	struct ad714x_touchpad_plat *hw = &ad714x->hw->touchpad[idx];
ad714x            579 drivers/input/misc/ad714x.c 	ad714x->read(ad714x, CDC_RESULT_S0 + hw->x_start_stage,
ad714x            580 drivers/input/misc/ad714x.c 			&ad714x->adc_reg[hw->x_start_stage],
ad714x            584 drivers/input/misc/ad714x.c 		ad714x->read(ad714x, STAGE0_AMBIENT + i * PER_STAGE_REG_NUM,
ad714x            585 drivers/input/misc/ad714x.c 				&ad714x->amb_reg[i], 1);
ad714x            586 drivers/input/misc/ad714x.c 		if (ad714x->adc_reg[i] > ad714x->amb_reg[i])
ad714x            587 drivers/input/misc/ad714x.c 			ad714x->sensor_val[i] =
ad714x            588 drivers/input/misc/ad714x.c 				ad714x->adc_reg[i] - ad714x->amb_reg[i];
ad714x            590 drivers/input/misc/ad714x.c 			ad714x->sensor_val[i] = 0;
ad714x            594 drivers/input/misc/ad714x.c static void touchpad_cal_highest_stage(struct ad714x_chip *ad714x, int idx)
ad714x            596 drivers/input/misc/ad714x.c 	struct ad714x_touchpad_plat *hw = &ad714x->hw->touchpad[idx];
ad714x            597 drivers/input/misc/ad714x.c 	struct ad714x_touchpad_drv *sw = &ad714x->sw->touchpad[idx];
ad714x            599 drivers/input/misc/ad714x.c 	sw->x_highest_stage = ad714x_cal_highest_stage(ad714x,
ad714x            601 drivers/input/misc/ad714x.c 	sw->y_highest_stage = ad714x_cal_highest_stage(ad714x,
ad714x            604 drivers/input/misc/ad714x.c 	dev_dbg(ad714x->dev,
ad714x            615 drivers/input/misc/ad714x.c static int touchpad_check_second_peak(struct ad714x_chip *ad714x, int idx)
ad714x            617 drivers/input/misc/ad714x.c 	struct ad714x_touchpad_plat *hw = &ad714x->hw->touchpad[idx];
ad714x            618 drivers/input/misc/ad714x.c 	struct ad714x_touchpad_drv *sw = &ad714x->sw->touchpad[idx];
ad714x            622 drivers/input/misc/ad714x.c 		if ((ad714x->sensor_val[i] - ad714x->sensor_val[i + 1])
ad714x            623 drivers/input/misc/ad714x.c 			> (ad714x->sensor_val[i + 1] / 10))
ad714x            628 drivers/input/misc/ad714x.c 		if ((ad714x->sensor_val[i + 1] - ad714x->sensor_val[i])
ad714x            629 drivers/input/misc/ad714x.c 			> (ad714x->sensor_val[i] / 10))
ad714x            634 drivers/input/misc/ad714x.c 		if ((ad714x->sensor_val[i] - ad714x->sensor_val[i + 1])
ad714x            635 drivers/input/misc/ad714x.c 			> (ad714x->sensor_val[i + 1] / 10))
ad714x            640 drivers/input/misc/ad714x.c 		if ((ad714x->sensor_val[i + 1] - ad714x->sensor_val[i])
ad714x            641 drivers/input/misc/ad714x.c 			> (ad714x->sensor_val[i] / 10))
ad714x            654 drivers/input/misc/ad714x.c static void touchpad_cal_abs_pos(struct ad714x_chip *ad714x, int idx)
ad714x            656 drivers/input/misc/ad714x.c 	struct ad714x_touchpad_plat *hw = &ad714x->hw->touchpad[idx];
ad714x            657 drivers/input/misc/ad714x.c 	struct ad714x_touchpad_drv *sw = &ad714x->sw->touchpad[idx];
ad714x            659 drivers/input/misc/ad714x.c 	sw->x_abs_pos = ad714x_cal_abs_pos(ad714x, hw->x_start_stage,
ad714x            661 drivers/input/misc/ad714x.c 	sw->y_abs_pos = ad714x_cal_abs_pos(ad714x, hw->y_start_stage,
ad714x            664 drivers/input/misc/ad714x.c 	dev_dbg(ad714x->dev, "touchpad %d absolute position:(%d, %d)\n", idx,
ad714x            668 drivers/input/misc/ad714x.c static void touchpad_cal_flt_pos(struct ad714x_chip *ad714x, int idx)
ad714x            670 drivers/input/misc/ad714x.c 	struct ad714x_touchpad_drv *sw = &ad714x->sw->touchpad[idx];
ad714x            677 drivers/input/misc/ad714x.c 	dev_dbg(ad714x->dev, "touchpad %d filter position:(%d, %d)\n",
ad714x            699 drivers/input/misc/ad714x.c static int touchpad_check_endpoint(struct ad714x_chip *ad714x, int idx)
ad714x            701 drivers/input/misc/ad714x.c 	struct ad714x_touchpad_plat *hw = &ad714x->hw->touchpad[idx];
ad714x            702 drivers/input/misc/ad714x.c 	struct ad714x_touchpad_drv *sw  = &ad714x->sw->touchpad[idx];
ad714x            706 drivers/input/misc/ad714x.c 	percent_sensor_diff = (ad714x->sensor_val[hw->x_start_stage] -
ad714x            707 drivers/input/misc/ad714x.c 			ad714x->sensor_val[hw->x_start_stage + 1]) * 100 /
ad714x            708 drivers/input/misc/ad714x.c 			ad714x->sensor_val[hw->x_start_stage + 1];
ad714x            713 drivers/input/misc/ad714x.c 				ad714x->sensor_val[hw->x_start_stage + 1];
ad714x            717 drivers/input/misc/ad714x.c 		    (ad714x->sensor_val[hw->x_start_stage + 1] >
ad714x            723 drivers/input/misc/ad714x.c 	percent_sensor_diff = (ad714x->sensor_val[hw->x_end_stage] -
ad714x            724 drivers/input/misc/ad714x.c 			ad714x->sensor_val[hw->x_end_stage - 1]) * 100 /
ad714x            725 drivers/input/misc/ad714x.c 			ad714x->sensor_val[hw->x_end_stage - 1];
ad714x            730 drivers/input/misc/ad714x.c 				ad714x->sensor_val[hw->x_end_stage - 1];
ad714x            734 drivers/input/misc/ad714x.c 		(ad714x->sensor_val[hw->x_end_stage - 1] >
ad714x            740 drivers/input/misc/ad714x.c 	percent_sensor_diff = (ad714x->sensor_val[hw->y_start_stage] -
ad714x            741 drivers/input/misc/ad714x.c 			ad714x->sensor_val[hw->y_start_stage + 1]) * 100 /
ad714x            742 drivers/input/misc/ad714x.c 			ad714x->sensor_val[hw->y_start_stage + 1];
ad714x            747 drivers/input/misc/ad714x.c 				ad714x->sensor_val[hw->y_start_stage + 1];
ad714x            751 drivers/input/misc/ad714x.c 		(ad714x->sensor_val[hw->y_start_stage + 1] >
ad714x            757 drivers/input/misc/ad714x.c 	percent_sensor_diff = (ad714x->sensor_val[hw->y_end_stage] -
ad714x            758 drivers/input/misc/ad714x.c 		ad714x->sensor_val[hw->y_end_stage - 1]) * 100 /
ad714x            759 drivers/input/misc/ad714x.c 		ad714x->sensor_val[hw->y_end_stage - 1];
ad714x            764 drivers/input/misc/ad714x.c 				ad714x->sensor_val[hw->y_end_stage - 1];
ad714x            768 drivers/input/misc/ad714x.c 		(ad714x->sensor_val[hw->y_end_stage - 1] >
ad714x            776 drivers/input/misc/ad714x.c static void touchpad_use_com_int(struct ad714x_chip *ad714x, int idx)
ad714x            778 drivers/input/misc/ad714x.c 	struct ad714x_touchpad_plat *hw = &ad714x->hw->touchpad[idx];
ad714x            780 drivers/input/misc/ad714x.c 	ad714x_use_com_int(ad714x, hw->x_start_stage, hw->x_end_stage);
ad714x            783 drivers/input/misc/ad714x.c static void touchpad_use_thr_int(struct ad714x_chip *ad714x, int idx)
ad714x            785 drivers/input/misc/ad714x.c 	struct ad714x_touchpad_plat *hw = &ad714x->hw->touchpad[idx];
ad714x            787 drivers/input/misc/ad714x.c 	ad714x_use_thr_int(ad714x, hw->x_start_stage, hw->x_end_stage);
ad714x            788 drivers/input/misc/ad714x.c 	ad714x_use_thr_int(ad714x, hw->y_start_stage, hw->y_end_stage);
ad714x            791 drivers/input/misc/ad714x.c static void ad714x_touchpad_state_machine(struct ad714x_chip *ad714x, int idx)
ad714x            793 drivers/input/misc/ad714x.c 	struct ad714x_touchpad_plat *hw = &ad714x->hw->touchpad[idx];
ad714x            794 drivers/input/misc/ad714x.c 	struct ad714x_touchpad_drv *sw = &ad714x->sw->touchpad[idx];
ad714x            803 drivers/input/misc/ad714x.c 	h_state = ad714x->h_state & mask;
ad714x            804 drivers/input/misc/ad714x.c 	c_state = ad714x->c_state & mask;
ad714x            813 drivers/input/misc/ad714x.c 			touchpad_use_com_int(ad714x, idx);
ad714x            814 drivers/input/misc/ad714x.c 			dev_dbg(ad714x->dev, "touchpad %d touched\n", idx);
ad714x            820 drivers/input/misc/ad714x.c 			touchpad_cal_sensor_val(ad714x, idx);
ad714x            821 drivers/input/misc/ad714x.c 			touchpad_cal_highest_stage(ad714x, idx);
ad714x            822 drivers/input/misc/ad714x.c 			if ((!touchpad_check_second_peak(ad714x, idx)) &&
ad714x            823 drivers/input/misc/ad714x.c 				(!touchpad_check_endpoint(ad714x, idx))) {
ad714x            824 drivers/input/misc/ad714x.c 				dev_dbg(ad714x->dev,
ad714x            827 drivers/input/misc/ad714x.c 				touchpad_cal_abs_pos(ad714x, idx);
ad714x            838 drivers/input/misc/ad714x.c 				touchpad_cal_sensor_val(ad714x, idx);
ad714x            839 drivers/input/misc/ad714x.c 				touchpad_cal_highest_stage(ad714x, idx);
ad714x            840 drivers/input/misc/ad714x.c 				if ((!touchpad_check_second_peak(ad714x, idx))
ad714x            841 drivers/input/misc/ad714x.c 				  && (!touchpad_check_endpoint(ad714x, idx))) {
ad714x            842 drivers/input/misc/ad714x.c 					touchpad_cal_abs_pos(ad714x, idx);
ad714x            843 drivers/input/misc/ad714x.c 					touchpad_cal_flt_pos(ad714x, idx);
ad714x            855 drivers/input/misc/ad714x.c 				touchpad_use_thr_int(ad714x, idx);
ad714x            858 drivers/input/misc/ad714x.c 				dev_dbg(ad714x->dev, "touchpad %d released\n",
ad714x            870 drivers/input/misc/ad714x.c static int ad714x_hw_detect(struct ad714x_chip *ad714x)
ad714x            874 drivers/input/misc/ad714x.c 	ad714x->read(ad714x, AD714X_PARTID_REG, &data, 1);
ad714x            877 drivers/input/misc/ad714x.c 		ad714x->product = 0x7142;
ad714x            878 drivers/input/misc/ad714x.c 		ad714x->version = data & 0xF;
ad714x            879 drivers/input/misc/ad714x.c 		dev_info(ad714x->dev, "found AD7142 captouch, rev:%d\n",
ad714x            880 drivers/input/misc/ad714x.c 				ad714x->version);
ad714x            884 drivers/input/misc/ad714x.c 		ad714x->product = 0x7143;
ad714x            885 drivers/input/misc/ad714x.c 		ad714x->version = data & 0xF;
ad714x            886 drivers/input/misc/ad714x.c 		dev_info(ad714x->dev, "found AD7143 captouch, rev:%d\n",
ad714x            887 drivers/input/misc/ad714x.c 				ad714x->version);
ad714x            891 drivers/input/misc/ad714x.c 		ad714x->product = 0x7147;
ad714x            892 drivers/input/misc/ad714x.c 		ad714x->version = data & 0xF;
ad714x            893 drivers/input/misc/ad714x.c 		dev_info(ad714x->dev, "found AD7147(A) captouch, rev:%d\n",
ad714x            894 drivers/input/misc/ad714x.c 				ad714x->version);
ad714x            898 drivers/input/misc/ad714x.c 		ad714x->product = 0x7148;
ad714x            899 drivers/input/misc/ad714x.c 		ad714x->version = data & 0xF;
ad714x            900 drivers/input/misc/ad714x.c 		dev_info(ad714x->dev, "found AD7148 captouch, rev:%d\n",
ad714x            901 drivers/input/misc/ad714x.c 				ad714x->version);
ad714x            905 drivers/input/misc/ad714x.c 		dev_err(ad714x->dev,
ad714x            912 drivers/input/misc/ad714x.c static void ad714x_hw_init(struct ad714x_chip *ad714x)
ad714x            923 drivers/input/misc/ad714x.c 			ad714x->write(ad714x, reg_base + j,
ad714x            924 drivers/input/misc/ad714x.c 					ad714x->hw->stage_cfg_reg[i][j]);
ad714x            928 drivers/input/misc/ad714x.c 		ad714x->write(ad714x, AD714X_SYSCFG_REG + i,
ad714x            929 drivers/input/misc/ad714x.c 			ad714x->hw->sys_cfg_reg[i]);
ad714x            931 drivers/input/misc/ad714x.c 		ad714x->read(ad714x, AD714X_SYSCFG_REG + i, &data, 1);
ad714x            933 drivers/input/misc/ad714x.c 	ad714x->write(ad714x, AD714X_STG_CAL_EN_REG, 0xFFF);
ad714x            936 drivers/input/misc/ad714x.c 	ad714x->read(ad714x, STG_LOW_INT_STA_REG, &ad714x->l_state, 3);
ad714x            941 drivers/input/misc/ad714x.c 	struct ad714x_chip *ad714x = data;
ad714x            944 drivers/input/misc/ad714x.c 	mutex_lock(&ad714x->mutex);
ad714x            946 drivers/input/misc/ad714x.c 	ad714x->read(ad714x, STG_LOW_INT_STA_REG, &ad714x->l_state, 3);
ad714x            948 drivers/input/misc/ad714x.c 	for (i = 0; i < ad714x->hw->button_num; i++)
ad714x            949 drivers/input/misc/ad714x.c 		ad714x_button_state_machine(ad714x, i);
ad714x            950 drivers/input/misc/ad714x.c 	for (i = 0; i < ad714x->hw->slider_num; i++)
ad714x            951 drivers/input/misc/ad714x.c 		ad714x_slider_state_machine(ad714x, i);
ad714x            952 drivers/input/misc/ad714x.c 	for (i = 0; i < ad714x->hw->wheel_num; i++)
ad714x            953 drivers/input/misc/ad714x.c 		ad714x_wheel_state_machine(ad714x, i);
ad714x            954 drivers/input/misc/ad714x.c 	for (i = 0; i < ad714x->hw->touchpad_num; i++)
ad714x            955 drivers/input/misc/ad714x.c 		ad714x_touchpad_state_machine(ad714x, i);
ad714x            957 drivers/input/misc/ad714x.c 	mutex_unlock(&ad714x->mutex);
ad714x            970 drivers/input/misc/ad714x.c 	struct ad714x_chip *ad714x;
ad714x            992 drivers/input/misc/ad714x.c 	ad714x = devm_kzalloc(dev, sizeof(*ad714x) + sizeof(*ad714x->sw) +
ad714x            998 drivers/input/misc/ad714x.c 	if (!ad714x) {
ad714x           1002 drivers/input/misc/ad714x.c 	ad714x->hw = plat_data;
ad714x           1004 drivers/input/misc/ad714x.c 	drv_mem = ad714x + 1;
ad714x           1005 drivers/input/misc/ad714x.c 	ad714x->sw = drv_mem;
ad714x           1006 drivers/input/misc/ad714x.c 	drv_mem += sizeof(*ad714x->sw);
ad714x           1007 drivers/input/misc/ad714x.c 	ad714x->sw->slider = sd_drv = drv_mem;
ad714x           1008 drivers/input/misc/ad714x.c 	drv_mem += sizeof(*sd_drv) * ad714x->hw->slider_num;
ad714x           1009 drivers/input/misc/ad714x.c 	ad714x->sw->wheel = wl_drv = drv_mem;
ad714x           1010 drivers/input/misc/ad714x.c 	drv_mem += sizeof(*wl_drv) * ad714x->hw->wheel_num;
ad714x           1011 drivers/input/misc/ad714x.c 	ad714x->sw->touchpad = tp_drv = drv_mem;
ad714x           1012 drivers/input/misc/ad714x.c 	drv_mem += sizeof(*tp_drv) * ad714x->hw->touchpad_num;
ad714x           1013 drivers/input/misc/ad714x.c 	ad714x->sw->button = bt_drv = drv_mem;
ad714x           1014 drivers/input/misc/ad714x.c 	drv_mem += sizeof(*bt_drv) * ad714x->hw->button_num;
ad714x           1016 drivers/input/misc/ad714x.c 	ad714x->read = read;
ad714x           1017 drivers/input/misc/ad714x.c 	ad714x->write = write;
ad714x           1018 drivers/input/misc/ad714x.c 	ad714x->irq = irq;
ad714x           1019 drivers/input/misc/ad714x.c 	ad714x->dev = dev;
ad714x           1021 drivers/input/misc/ad714x.c 	error = ad714x_hw_detect(ad714x);
ad714x           1027 drivers/input/misc/ad714x.c 	ad714x_hw_init(ad714x);
ad714x           1028 drivers/input/misc/ad714x.c 	mutex_init(&ad714x->mutex);
ad714x           1031 drivers/input/misc/ad714x.c 	if (ad714x->hw->slider_num > 0) {
ad714x           1032 drivers/input/misc/ad714x.c 		struct ad714x_slider_plat *sd_plat = ad714x->hw->slider;
ad714x           1034 drivers/input/misc/ad714x.c 		for (i = 0; i < ad714x->hw->slider_num; i++) {
ad714x           1047 drivers/input/misc/ad714x.c 			input->id.product = ad714x->product;
ad714x           1048 drivers/input/misc/ad714x.c 			input->id.version = ad714x->version;
ad714x           1061 drivers/input/misc/ad714x.c 	if (ad714x->hw->wheel_num > 0) {
ad714x           1062 drivers/input/misc/ad714x.c 		struct ad714x_wheel_plat *wl_plat = ad714x->hw->wheel;
ad714x           1064 drivers/input/misc/ad714x.c 		for (i = 0; i < ad714x->hw->wheel_num; i++) {
ad714x           1077 drivers/input/misc/ad714x.c 			input->id.product = ad714x->product;
ad714x           1078 drivers/input/misc/ad714x.c 			input->id.version = ad714x->version;
ad714x           1091 drivers/input/misc/ad714x.c 	if (ad714x->hw->touchpad_num > 0) {
ad714x           1092 drivers/input/misc/ad714x.c 		struct ad714x_touchpad_plat *tp_plat = ad714x->hw->touchpad;
ad714x           1094 drivers/input/misc/ad714x.c 		for (i = 0; i < ad714x->hw->touchpad_num; i++) {
ad714x           1110 drivers/input/misc/ad714x.c 			input->id.product = ad714x->product;
ad714x           1111 drivers/input/misc/ad714x.c 			input->id.version = ad714x->version;
ad714x           1124 drivers/input/misc/ad714x.c 	if (ad714x->hw->button_num > 0) {
ad714x           1125 drivers/input/misc/ad714x.c 		struct ad714x_button_plat *bt_plat = ad714x->hw->button;
ad714x           1134 drivers/input/misc/ad714x.c 		for (i = 0; i < ad714x->hw->button_num; i++) {
ad714x           1140 drivers/input/misc/ad714x.c 		input->id.product = ad714x->product;
ad714x           1141 drivers/input/misc/ad714x.c 		input->id.version = ad714x->version;
ad714x           1153 drivers/input/misc/ad714x.c 	error = devm_request_threaded_irq(dev, ad714x->irq, NULL,
ad714x           1155 drivers/input/misc/ad714x.c 					  irqflags, "ad714x_captouch", ad714x);
ad714x           1157 drivers/input/misc/ad714x.c 		dev_err(dev, "can't allocate irq %d\n", ad714x->irq);
ad714x           1161 drivers/input/misc/ad714x.c 	return ad714x;
ad714x           1166 drivers/input/misc/ad714x.c int ad714x_disable(struct ad714x_chip *ad714x)
ad714x           1170 drivers/input/misc/ad714x.c 	dev_dbg(ad714x->dev, "%s enter\n", __func__);
ad714x           1172 drivers/input/misc/ad714x.c 	mutex_lock(&ad714x->mutex);
ad714x           1174 drivers/input/misc/ad714x.c 	data = ad714x->hw->sys_cfg_reg[AD714X_PWR_CTRL] | 0x3;
ad714x           1175 drivers/input/misc/ad714x.c 	ad714x->write(ad714x, AD714X_PWR_CTRL, data);
ad714x           1177 drivers/input/misc/ad714x.c 	mutex_unlock(&ad714x->mutex);
ad714x           1183 drivers/input/misc/ad714x.c int ad714x_enable(struct ad714x_chip *ad714x)
ad714x           1185 drivers/input/misc/ad714x.c 	dev_dbg(ad714x->dev, "%s enter\n", __func__);
ad714x           1187 drivers/input/misc/ad714x.c 	mutex_lock(&ad714x->mutex);
ad714x           1191 drivers/input/misc/ad714x.c 	ad714x->write(ad714x, AD714X_PWR_CTRL,
ad714x           1192 drivers/input/misc/ad714x.c 			ad714x->hw->sys_cfg_reg[AD714X_PWR_CTRL]);
ad714x           1198 drivers/input/misc/ad714x.c 	ad714x->read(ad714x, STG_LOW_INT_STA_REG, &ad714x->l_state, 3);
ad714x           1200 drivers/input/misc/ad714x.c 	mutex_unlock(&ad714x->mutex);
ad714x             48 drivers/input/misc/ad714x.h int ad714x_disable(struct ad714x_chip *ad714x);
ad714x             49 drivers/input/misc/ad714x.h int ad714x_enable(struct ad714x_chip *ad714x);