diff --git a/drivers/soc/qcom/qbt_handler.c b/drivers/soc/qcom/qbt_handler.c index 962d9fd54407..dffe54334a0a 100644 --- a/drivers/soc/qcom/qbt_handler.c +++ b/drivers/soc/qcom/qbt_handler.c @@ -109,13 +109,13 @@ static void qbt_add_touch_event(struct touch_event *evt) event.touch_valid = true; switch (evt->type) { case 'D': - event.state = 1; + event.state = QBT_EVENT_FINGER_DOWN; break; case 'U': - event.state = 0; + event.state = QBT_EVENT_FINGER_UP; break; case 'M': - event.state = 2; + event.state = QBT_EVENT_FINGER_MOVE; break; default: pr_err("Invalid touch event type\n"); @@ -132,7 +132,8 @@ static void qbt_radius_filter(struct touch_event *evt) { struct qbt_drvdata *drvdata = drvdata_g; struct fd_event event; - int fifo_len = 0, last_x = 0, last_y = 0, last_state = 0, + int fifo_len = 0, last_x = 0, last_y = 0, + last_state = QBT_EVENT_FINGER_UP, delta_x = 0, delta_y = 0, i = 0; fifo_len = kfifo_len(&drvdata->fd_events); @@ -148,7 +149,8 @@ static void qbt_radius_filter(struct touch_event *evt) kfifo_put(&drvdata->fd_events, event); } } - if (last_state == 1 || last_state == 3) { + if (last_state == QBT_EVENT_FINGER_DOWN || + last_state == QBT_EVENT_FINGER_MOVE) { delta_x = abs(last_x - evt->x); delta_y = abs(last_y - evt->y); if (delta_x > drvdata->touch_config.rad_x || @@ -768,7 +770,7 @@ static void qbt_fd_report_event(struct qbt_drvdata *drvdata, int state) drvdata->fd_gpio.event_reported = 1; drvdata->fd_gpio.last_gpio_state = state; - event.state = state ? 1 : 2; + event.state = state; event.touch_valid = false; do_gettimeofday(&event.timestamp); @@ -796,7 +798,8 @@ static void qbt_gpio_work_func(struct work_struct *work) drvdata = container_of(work, struct qbt_drvdata, fd_gpio.work); - state = (__gpio_get_value(drvdata->fd_gpio.gpio) ? 1 : 0) + state = (__gpio_get_value(drvdata->fd_gpio.gpio) ? + QBT_EVENT_FINGER_DOWN : QBT_EVENT_FINGER_UP) ^ drvdata->fd_gpio.active_low; qbt_fd_report_event(drvdata, state); diff --git a/include/uapi/linux/qbt_handler.h b/include/uapi/linux/qbt_handler.h index 6dd90a5a7965..cba181a43965 100644 --- a/include/uapi/linux/qbt_handler.h +++ b/include/uapi/linux/qbt_handler.h @@ -18,6 +18,19 @@ #define QBT_ACQUIRE_WAKELOCK 107 #define QBT_RELEASE_WAKELOCK 108 +/* + * enum qbt_finger_events - + * enumeration of qbt finger events + * @QBT_EVENT_FINGER_UP - finger up detected + * @QBT_EVENT_FINGER_DOWN - finger down detected + * @QBT_EVENT_FINGER_MOVE - finger move detected + */ +enum qbt_finger_events { + QBT_EVENT_FINGER_UP, + QBT_EVENT_FINGER_DOWN, + QBT_EVENT_FINGER_MOVE +}; + /* * enum qbt_fw_event - * enumeration of firmware events