diff mbox

[RFC/PATCH] Input: make input_report_slot_state() return boolean

Message ID 20180605171604.GA221901@dtor-ws (mailing list archive)
State New, archived
Headers show

Commit Message

Dmitry Torokhov June 5, 2018, 5:16 p.m. UTC
Let's make input_report_slot_state() return boolean representing whether
the contact is active or not. This will allow writing code like:

	if (input_mt_report_slot_state(input, obj->mt_tool,
					obj->type != RMI_2D_OBJECT_NONE) {

		input_event(sensor->input, EV_ABS, ABS_MT_POSITION_X, obj->x);
		input_event(sensor->input, EV_ABS, ABS_MT_POSITION_Y, obj->y);
		...
	}

instead of:

	input_mt_report_slot_state(input, obj->mt_tool,
				   obj->type != RMI_2D_OBJECT_NONE);
	if (obj->type != RMI_2D_OBJECT_NONE) {
		input_event(sensor->input, EV_ABS, ABS_MT_POSITION_X, obj->x);
		input_event(sensor->input, EV_ABS, ABS_MT_POSITION_Y, obj->y);
		...
	}

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
---
 drivers/input/input-mt.c | 10 +++++++---
 include/linux/input/mt.h |  2 +-
 2 files changed, 8 insertions(+), 4 deletions(-)

Comments

Henrik Rydberg June 5, 2018, 6:54 p.m. UTC | #1
On 06/05/2018 07:16 PM, Dmitry Torokhov wrote:

> Let's make input_report_slot_state() return boolean representing whether
> the contact is active or not. This will allow writing code like:
>
> 	if (input_mt_report_slot_state(input, obj->mt_tool,
> 					obj->type != RMI_2D_OBJECT_NONE) {
>
> 		input_event(sensor->input, EV_ABS, ABS_MT_POSITION_X, obj->x);
> 		input_event(sensor->input, EV_ABS, ABS_MT_POSITION_Y, obj->y);
> 		...
> 	}
>
> instead of:
>
> 	input_mt_report_slot_state(input, obj->mt_tool,
> 				   obj->type != RMI_2D_OBJECT_NONE);
> 	if (obj->type != RMI_2D_OBJECT_NONE) {
> 		input_event(sensor->input, EV_ABS, ABS_MT_POSITION_X, obj->x);
> 		input_event(sensor->input, EV_ABS, ABS_MT_POSITION_Y, obj->y);
> 		...
> 	}
>
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> ---
>   drivers/input/input-mt.c | 10 +++++++---
>   include/linux/input/mt.h |  2 +-
>   2 files changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/input/input-mt.c b/drivers/input/input-mt.c
> index 7ca4b318ed419..4a69716e54614 100644
> --- a/drivers/input/input-mt.c
> +++ b/drivers/input/input-mt.c
> @@ -131,8 +131,10 @@ EXPORT_SYMBOL(input_mt_destroy_slots);
>    * inactive, or if the tool type is changed, a new tracking id is
>    * assigned to the slot. The tool type is only reported if the
>    * corresponding absbit field is set.
> + *
> + * Returns true if contact is active.
>    */
> -void input_mt_report_slot_state(struct input_dev *dev,
> +bool input_mt_report_slot_state(struct input_dev *dev,
>   				unsigned int tool_type, bool active)
>   {
>   	struct input_mt *mt = dev->mt;
> @@ -140,14 +142,14 @@ void input_mt_report_slot_state(struct input_dev *dev,
>   	int id;
>   
>   	if (!mt)
> -		return;
> +		return false;
>   
>   	slot = &mt->slots[mt->slot];
>   	slot->frame = mt->frame;
>   
>   	if (!active) {
>   		input_event(dev, EV_ABS, ABS_MT_TRACKING_ID, -1);
> -		return;
> +		return false;
>   	}
>   
>   	id = input_mt_get_value(slot, ABS_MT_TRACKING_ID);
> @@ -156,6 +158,8 @@ void input_mt_report_slot_state(struct input_dev *dev,
>   
>   	input_event(dev, EV_ABS, ABS_MT_TRACKING_ID, id);
>   	input_event(dev, EV_ABS, ABS_MT_TOOL_TYPE, tool_type);
> +
> +	return true;
>   }
>   EXPORT_SYMBOL(input_mt_report_slot_state);
>   
> diff --git a/include/linux/input/mt.h b/include/linux/input/mt.h
> index d7188de4db968..3f4bf60b0bb55 100644
> --- a/include/linux/input/mt.h
> +++ b/include/linux/input/mt.h
> @@ -100,7 +100,7 @@ static inline bool input_is_mt_axis(int axis)
>   	return axis == ABS_MT_SLOT || input_is_mt_value(axis);
>   }
>   
> -void input_mt_report_slot_state(struct input_dev *dev,
> +bool input_mt_report_slot_state(struct input_dev *dev,
>   				unsigned int tool_type, bool active);
>   
>   void input_mt_report_finger_count(struct input_dev *dev, int count);
   Reviewed-by: Henrik Rydberg <rydberg@bitmath.org>

Thanks, Dmitry.

Henrik

--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Benjamin Tissoires June 6, 2018, 2:45 p.m. UTC | #2
On Tue, Jun 5, 2018 at 7:16 PM, Dmitry Torokhov
<dmitry.torokhov@gmail.com> wrote:
> Let's make input_report_slot_state() return boolean representing whether
> the contact is active or not. This will allow writing code like:
>
>         if (input_mt_report_slot_state(input, obj->mt_tool,
>                                         obj->type != RMI_2D_OBJECT_NONE) {
>
>                 input_event(sensor->input, EV_ABS, ABS_MT_POSITION_X, obj->x);
>                 input_event(sensor->input, EV_ABS, ABS_MT_POSITION_Y, obj->y);
>                 ...
>         }
>
> instead of:
>
>         input_mt_report_slot_state(input, obj->mt_tool,
>                                    obj->type != RMI_2D_OBJECT_NONE);
>         if (obj->type != RMI_2D_OBJECT_NONE) {
>                 input_event(sensor->input, EV_ABS, ABS_MT_POSITION_X, obj->x);
>                 input_event(sensor->input, EV_ABS, ABS_MT_POSITION_Y, obj->y);
>                 ...
>         }
>
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> ---

Looks good to me as well.

In case you still need it:
Acked-by: Benjamin Tissoires <benjamin.tissoires@redaht.com>

Cheers,
Benjamin
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/input/input-mt.c b/drivers/input/input-mt.c
index 7ca4b318ed419..4a69716e54614 100644
--- a/drivers/input/input-mt.c
+++ b/drivers/input/input-mt.c
@@ -131,8 +131,10 @@  EXPORT_SYMBOL(input_mt_destroy_slots);
  * inactive, or if the tool type is changed, a new tracking id is
  * assigned to the slot. The tool type is only reported if the
  * corresponding absbit field is set.
+ *
+ * Returns true if contact is active.
  */
-void input_mt_report_slot_state(struct input_dev *dev,
+bool input_mt_report_slot_state(struct input_dev *dev,
 				unsigned int tool_type, bool active)
 {
 	struct input_mt *mt = dev->mt;
@@ -140,14 +142,14 @@  void input_mt_report_slot_state(struct input_dev *dev,
 	int id;
 
 	if (!mt)
-		return;
+		return false;
 
 	slot = &mt->slots[mt->slot];
 	slot->frame = mt->frame;
 
 	if (!active) {
 		input_event(dev, EV_ABS, ABS_MT_TRACKING_ID, -1);
-		return;
+		return false;
 	}
 
 	id = input_mt_get_value(slot, ABS_MT_TRACKING_ID);
@@ -156,6 +158,8 @@  void input_mt_report_slot_state(struct input_dev *dev,
 
 	input_event(dev, EV_ABS, ABS_MT_TRACKING_ID, id);
 	input_event(dev, EV_ABS, ABS_MT_TOOL_TYPE, tool_type);
+
+	return true;
 }
 EXPORT_SYMBOL(input_mt_report_slot_state);
 
diff --git a/include/linux/input/mt.h b/include/linux/input/mt.h
index d7188de4db968..3f4bf60b0bb55 100644
--- a/include/linux/input/mt.h
+++ b/include/linux/input/mt.h
@@ -100,7 +100,7 @@  static inline bool input_is_mt_axis(int axis)
 	return axis == ABS_MT_SLOT || input_is_mt_value(axis);
 }
 
-void input_mt_report_slot_state(struct input_dev *dev,
+bool input_mt_report_slot_state(struct input_dev *dev,
 				unsigned int tool_type, bool active);
 
 void input_mt_report_finger_count(struct input_dev *dev, int count);