Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751706AbdHVQN0 (ORCPT ); Tue, 22 Aug 2017 12:13:26 -0400 Received: from mail-lf0-f66.google.com ([209.85.215.66]:35114 "EHLO mail-lf0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751128AbdHVQNY (ORCPT ); Tue, 22 Aug 2017 12:13:24 -0400 MIME-Version: 1.0 In-Reply-To: <71e49c0b-959b-4d55-b1d3-6aafe85f8652@gmail.com> References: <20170811074201.2747-1-jam.chen.egalax@gmail.com> <71e49c0b-959b-4d55-b1d3-6aafe85f8652@gmail.com> From: Kirill Esipov Date: Tue, 22 Aug 2017 19:13:21 +0300 Message-ID: Subject: Re: HID: core: assign usbhid to handle EETI PID=0x0001 HID device To: JamChen , jikos@kernel.org, benjamin.tissoires@redhat.com Cc: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org, zboszor@pr.hu Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by nfs id v7MGDW5P001020 Content-Length: 1692 Lines: 55 Hi On 08/11/2017 10:42 AM, JamChen wrote: > From: Jam Chen > > The vendor used the same PID(0x0001) for multiple touch IC controllers. > The newer ICs can support HID class and report the multitouch collection > in the descriptor. So they were handled by the hid-multitouch driver. > But some customized firmwares don't support multitouch protocol even if > driver have got the Win8 blob data. > > Actually, those ICs only support the single touch function, and report > the mouse protocol by default. We can assign usbhid to handle them all. > > Signed-off-by: Jam Chen > --- > drivers/hid/hid-core.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c > index 9017dcc14502..df4696022488 100644 > --- a/drivers/hid/hid-core.c > +++ b/drivers/hid/hid-core.c > @@ -828,6 +828,10 @@ static int hid_scan_report(struct hid_device *hid) > */ > hid->group = HID_GROUP_RMI; > break; > + case USB_VENDOR_ID_DWAV: > + if (hid->product == USB_DEVICE_ID_EGALAX_TOUCHCONTROLLER) > + hid->group = HID_GROUP_GENERIC; > + break; > } > > /* fall back to generic driver in case specific driver doesn't exist */ > > I've tested this patch and got the same problem as Zoltán Böszörményi did: - on finger touch: pointer doesn't change its position; - on finger move: pointer is moving and it's behavior looks like touchscreen is working as touchpad; My test environments: linux kernel 4.1.18 (armv7 ti am335x) weston - 1.9.0 libinput - 1.1.4 libevdev - 1.2.99.901 Also I've tested this patch https://patchwork.kernel.org/patch/9876649/ - and it works fine. -- Kirill Esipov