Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp3676442imm; Tue, 29 May 2018 11:23:31 -0700 (PDT) X-Google-Smtp-Source: AB8JxZriSNzxPbQkYJI3xrKfMn/jW9I77q/Nx4BzOx3W6/Kk6tAeDqWC2GccnP5xodAwX+olhZMz X-Received: by 2002:a17:902:ba93:: with SMTP id k19-v6mr18182538pls.379.1527618211946; Tue, 29 May 2018 11:23:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527618211; cv=none; d=google.com; s=arc-20160816; b=LWwEQVdiqV/lGqHGHLX6knrXe4raVLLmkM9PpiJhrtmxtp/TQURbgDkLYbwpiF75LE /0cVQzDq3nHq6oWsFsSO1lY6BYPRGTnfchPs8jrBzBFvX8L7Jb8Ja7oc/89lZfYGWTHv bzWnPkqXhxJQz5Ne+1CbR6AqDTCjiuLkRrEncL1Cz5sdNte4AksxM73JnuMiFsPw7Nav tPR2gvruENwggDxZ8rhJsBwxDfSBbUOVooI5gwcq3fsT8GHPwAx8anUH9VxqTSOduPDG q8fZIjrPE6jmWEdlzLzAnfr7rjTeanF4IuhBL2M+yTlA9qJv+vXcLSOdVDGKuZFlvTKp GFHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature:arc-authentication-results; bh=nnfEJuU4psUA32YU3yvC+pw82iNPCi0wJzAXpgk33TA=; b=Fi63tUuxlOKrbXmCEKIfuOJRlPAwVeSMYNlHY8qhOdIldksPdetDBaWBdcYK1YgO73 T6XvyqYqOuhACUk7WZl6p2295O9o4pwWwDrCdx1J3CLFweeQFiq2NuXrTG5p5k05+vhA p+nDZ9d3dcwOXLMqXCksBbciYGFbMujb+qcZsday8spsLe3S/DblGipk2bUehItCkKSe L27F9lYDcCm0IdA6rYptIJHtfdG6svQCzIeCOoKjyp5kGfkd64m7mdZRr7CUoWtDEIeH Zx0tUupo1hGKaXrsPU6snV4GG+VjWpsJ2a1GV9o+OTM8IX4ZRLWL9DtbDAwQbDFoeP8W ya3Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=jKH0kVz2; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t14-v6si25591395pgn.521.2018.05.29.11.23.18; Tue, 29 May 2018 11:23:31 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=jKH0kVz2; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965836AbeE2SVP (ORCPT + 99 others); Tue, 29 May 2018 14:21:15 -0400 Received: from mail-pl0-f67.google.com ([209.85.160.67]:37503 "EHLO mail-pl0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965725AbeE2SVL (ORCPT ); Tue, 29 May 2018 14:21:11 -0400 Received: by mail-pl0-f67.google.com with SMTP id w19-v6so9427421plq.4; Tue, 29 May 2018 11:21:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=nnfEJuU4psUA32YU3yvC+pw82iNPCi0wJzAXpgk33TA=; b=jKH0kVz2ug3Bz3BeLVWlnrsSN1oLBxv1gKU19VGx6QQqabxfUFUhq/z8TlQpV2dz/7 6n7JQTUUPbNMrglqtb733Kagt00iSk2Or8OJIC29qMZ5cXMEmh+hndUXytMmAs5kgf6u uEzaTHsxkaj/iLonTuTlX21U/cZLraFOveWlbdMksMq0xJYlCyHc277076+jewNfLHtm 4hXsTMczIScbprWDjA36j4bwErni4n/LQDTELXPO3UDp8DA/yqnA60g41zmqHGQoi+9p 29h7es1/jctWIB+SfGqFCn1jtIAUvqtJEWCKTjYN6Fw1/iggHA94BXO3KOhn3jHM4twP e1Xg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=nnfEJuU4psUA32YU3yvC+pw82iNPCi0wJzAXpgk33TA=; b=Orl5ihJdkletbQVyHX1mk2JheLjS8ZqxqRUo4cNH7Pv88Cu4MHLmxQkEUIg0f+PCiv cWBjFXzZ/RMmm3O3+jkYICYFKzrAwk04j0I0lfldaCRiGqmGgwk/B7MQCvyj4Cg8G/kc XHTNplHihPMEvyNNSJKr8tOdmBAfRKiL9OcE3xckdyCEPv41tmki2DP8b9PkG/4AO6Sj GgyFb6g/OJpF+zp5pmo2F4jA4/orXM0wNnyafzXbNUa7OcgxwvsJ2NQ9DqAQfXlFSE/5 Mb41X9bH4amVxuN+YQjGUINVD83Mt7NZVmPmRTGa0PpHbD8TC1CHX9h0WBRlqeHsc7nU KYZA== X-Gm-Message-State: ALKqPwf4wvs4YtVcjuh42kGY7dTMcVrccnAdPwBmY8UGapDV00Kww3pn AEMKncFifqCI2/AUrASR76A= X-Received: by 2002:a17:902:8685:: with SMTP id g5-v6mr18305582plo.302.1527618070368; Tue, 29 May 2018 11:21:10 -0700 (PDT) Received: from dtor-ws ([2620:0:1000:1511:8de6:27a8:ed13:2ef5]) by smtp.gmail.com with ESMTPSA id r20-v6sm61412270pff.152.2018.05.29.11.21.08 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 29 May 2018 11:21:09 -0700 (PDT) Date: Tue, 29 May 2018 11:21:07 -0700 From: Dmitry Torokhov To: Benjamin Tissoires Cc: Jiri Kosina , Mario.Limonciello@dell.com, Peter Hutterer , linux-input@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 1/9] Input: mt - export MT_TOOL in input_mt_init_slot() Message-ID: <20180529182107.GC167092@dtor-ws> References: <20180529095800.13504-1-benjamin.tissoires@redhat.com> <20180529095800.13504-2-benjamin.tissoires@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180529095800.13504-2-benjamin.tissoires@redhat.com> User-Agent: Mutt/1.9.2 (2017-12-15) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Benjamin, On Tue, May 29, 2018 at 11:57:52AM +0200, Benjamin Tissoires wrote: > Looks like we require users to set a tool but input_mt_init_slots() never > set the tool bit for us. Meaning that this is a useless information the > driver tries to forward. I am not sure if I agree with this patch: up until now drivers could decide if they export presence of the tool type to userspace and userspace could distinguish between "pure" touchscreens and touchscreens that support additional tools, such as stylus. Now we unconditionally claim that all multi-touch devices support multiple tools. The fact that we were dropping MT_TOOL_TYPE for devices that do not support anything but finger I'd consider a "feature". > > Signed-off-by: Benjamin Tissoires > --- > drivers/input/input-mt.c | 1 + > drivers/input/rmi4/rmi_2d_sensor.c | 2 -- > drivers/input/touchscreen/atmel_mxt_ts.c | 2 -- > drivers/input/touchscreen/hideep.c | 2 -- > drivers/input/touchscreen/wacom_w8001.c | 2 -- > 5 files changed, 1 insertion(+), 8 deletions(-) > > diff --git a/drivers/input/input-mt.c b/drivers/input/input-mt.c > index a1bbec9cda8d..3900686c5d0f 100644 > --- a/drivers/input/input-mt.c > +++ b/drivers/input/input-mt.c > @@ -57,6 +57,7 @@ int input_mt_init_slots(struct input_dev *dev, unsigned int num_slots, > mt->flags = flags; > input_set_abs_params(dev, ABS_MT_SLOT, 0, num_slots - 1, 0, 0); > input_set_abs_params(dev, ABS_MT_TRACKING_ID, 0, TRKID_MAX, 0, 0); > + input_set_abs_params(dev, ABS_MT_TOOL_TYPE, 0, MT_TOOL_MAX, 0, 0); > > if (flags & (INPUT_MT_POINTER | INPUT_MT_DIRECT)) { > __set_bit(EV_KEY, dev->evbit); > diff --git a/drivers/input/rmi4/rmi_2d_sensor.c b/drivers/input/rmi4/rmi_2d_sensor.c > index 8bb866c7b985..23e666bd2539 100644 > --- a/drivers/input/rmi4/rmi_2d_sensor.c > +++ b/drivers/input/rmi4/rmi_2d_sensor.c > @@ -186,8 +186,6 @@ static void rmi_2d_sensor_set_input_params(struct rmi_2d_sensor *sensor) > input_set_abs_params(input, ABS_MT_TOUCH_MAJOR, 0, 0x0f, 0, 0); > input_set_abs_params(input, ABS_MT_TOUCH_MINOR, 0, 0x0f, 0, 0); > input_set_abs_params(input, ABS_MT_ORIENTATION, 0, 1, 0, 0); > - input_set_abs_params(input, ABS_MT_TOOL_TYPE, > - 0, MT_TOOL_MAX, 0, 0); > > if (sensor->sensor_type == rmi_sensor_touchpad) > input_flags = INPUT_MT_POINTER; > diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c > index 54fe190fd4bc..0dcf48100dc1 100644 > --- a/drivers/input/touchscreen/atmel_mxt_ts.c > +++ b/drivers/input/touchscreen/atmel_mxt_ts.c > @@ -2021,8 +2021,6 @@ static int mxt_initialize_input_device(struct mxt_data *data) > } > > if (data->multitouch == MXT_TOUCH_MULTITOUCHSCREEN_T100) { > - input_set_abs_params(input_dev, ABS_MT_TOOL_TYPE, > - 0, MT_TOOL_MAX, 0, 0); > input_set_abs_params(input_dev, ABS_MT_DISTANCE, > MXT_DISTANCE_ACTIVE_TOUCH, > MXT_DISTANCE_HOVERING, > diff --git a/drivers/input/touchscreen/hideep.c b/drivers/input/touchscreen/hideep.c > index f1cd4dd9a4a3..980539d8d551 100644 > --- a/drivers/input/touchscreen/hideep.c > +++ b/drivers/input/touchscreen/hideep.c > @@ -799,8 +799,6 @@ static int hideep_init_input(struct hideep_ts *ts) > input_set_capability(ts->input_dev, EV_ABS, ABS_MT_POSITION_Y); > input_set_abs_params(ts->input_dev, ABS_MT_PRESSURE, 0, 65535, 0, 0); > input_set_abs_params(ts->input_dev, ABS_MT_TOUCH_MAJOR, 0, 255, 0, 0); > - input_set_abs_params(ts->input_dev, ABS_MT_TOOL_TYPE, > - 0, MT_TOOL_MAX, 0, 0); > touchscreen_parse_properties(ts->input_dev, true, &ts->prop); > > if (ts->prop.max_x == 0 || ts->prop.max_y == 0) { > diff --git a/drivers/input/touchscreen/wacom_w8001.c b/drivers/input/touchscreen/wacom_w8001.c > index 3715d1eace92..946dca30560b 100644 > --- a/drivers/input/touchscreen/wacom_w8001.c > +++ b/drivers/input/touchscreen/wacom_w8001.c > @@ -529,8 +529,6 @@ static int w8001_setup_touch(struct w8001 *w8001, char *basename, > 0, touch.x, 0, 0); > input_set_abs_params(dev, ABS_MT_POSITION_Y, > 0, touch.y, 0, 0); > - input_set_abs_params(dev, ABS_MT_TOOL_TYPE, > - 0, MT_TOOL_MAX, 0, 0); > input_abs_set_res(dev, ABS_MT_POSITION_X, touch.panel_res); > input_abs_set_res(dev, ABS_MT_POSITION_Y, touch.panel_res); > > -- > 2.14.3 > Thanks. -- Dmitry