linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] HID for 4.11
@ 2017-02-20 15:20 Jiri Kosina
  2017-02-21  2:48 ` Linus Torvalds
  0 siblings, 1 reply; 34+ messages in thread
From: Jiri Kosina @ 2017-02-20 15:20 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel

Linus,

please pull from

  git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git for-linus

to receive HID subsystem updates for 4.11:

=====
- a lot of Wacom driver updates; most notably second generation Intuos Pro
  is now supported, code from Aaron Armstrong Skomra and Jason Gerecke
- Surface 3 and 4 Type Cover Pro support from Daniel Keller, Dennis Chen 
  and Yuta Kobayashi
- hid-rmi is now generic transport driver, used by synaptics-rmi4; Support 
  the Lenovo Thinkpad X1 Tablet dock follows on top, from Andrew Duggan
- a few misc bugfixes and improvements here and there
=====

Thanks.

----------------------------------------------------------------
Aaron Armstrong Skomra (5):
      HID: wacom: generic: remove input_event_flag
      HID: wacom: generic: add support for touchring
      HID: wacom: generic: add vendor defined touch
      HID: wacom: generic: support generic touch switch
      HID: wacom: generic: support LEDs

Andrew Duggan (3):
      HID: rmi: Make hid-rmi a transport driver for synaptics-rmi4
      HID: rmi: Handle all Synaptics touchpads using hid-rmi
      HID: rmi: Support the Lenovo Thinkpad X1 Tablet dock using hid-rmi

Benjamin Tissoires (4):
      HID: wacom: release the resources before leaving despite devm
      HID: wacom: remove warning while disconnecting devices
      HID: wacom: do not attempt to switch mode while in probe
      HID: multitouch: fix LG Melfas touchscreen

Bhumika Goyal (1):
      HID: intel-ish-hid: constify device_type structure

Corentin Labbe (1):
      HID: intel-ish-hid: Remove unneeded linux/miscdevice.h include

Daniel Keller (1):
      HID: multitouch: enable Surface 4 Type Cover Pro (non-JP) to report multitouch data

Dennis Chen (2):
      HID: multitouch: enable Surface 3 Type Cover Pro to report multitouch data
      HID: whitespace cleanup

Even Xu (1):
      HID: intel-ish-hid: ipc: check FW status to distinguish ISH resume paths

Grant Grundler (1):
      HID: remove use of DRIVER_LICENSE

Jason Gerecke (4):
      HID: wacom: Enable HID_GENERIC codepath for Bluetooth devices
      HID: wacom: Move WAC_CMD_* into wacom_wac.h
      HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface
      HID: wacom: Bluetooth IRQ for Intuos Pro should handle prox/range

Marcel Hasler (2):
      HID: add device ID for updated Mayflash/Dragonrise GameCube adapter
      HID: hid-mf: add force feedback support for Mayflash DolphinBar and GameCube

Nicolas Iooss (2):
      HID: intel-ish-hid: add printf attribute to print_log()
      HID: intel-ish-hid: format 32-bit integers with %X

Ping Cheng (1):
      HID: wacom: don't apply generic settings to old devices

Yuta Kobayashi (1):
      HID: multitouch: enable the Surface 4 Type Cover Pro (JP) to report multitouch data

 drivers/hid/Kconfig                         |   5 +
 drivers/hid/hid-core.c                      |  27 +-
 drivers/hid/hid-ids.h                       |  11 +-
 drivers/hid/hid-mf.c                        |  19 +-
 drivers/hid/hid-microsoft.c                 |  12 -
 drivers/hid/hid-multitouch.c                |  44 ++
 drivers/hid/hid-rmi.c                       | 975 ++++------------------------
 drivers/hid/intel-ish-hid/ipc/hw-ish-regs.h |   8 +
 drivers/hid/intel-ish-hid/ipc/hw-ish.h      |  12 +
 drivers/hid/intel-ish-hid/ipc/pci-ish.c     |  38 +-
 drivers/hid/intel-ish-hid/ishtp-hid.c       |   2 +-
 drivers/hid/intel-ish-hid/ishtp/bus.c       |   2 +-
 drivers/hid/intel-ish-hid/ishtp/hbm.c       |   1 -
 drivers/hid/intel-ish-hid/ishtp/init.c      |   1 -
 drivers/hid/intel-ish-hid/ishtp/ishtp-dev.h |   3 +-
 drivers/hid/usbhid/hid-core.c               |   3 +-
 drivers/hid/usbhid/hid-quirks.c             |  12 +-
 drivers/hid/usbhid/usbkbd.c                 |   3 +-
 drivers/hid/usbhid/usbmouse.c               |   3 +-
 drivers/hid/wacom.h                         |   5 +-
 drivers/hid/wacom_sys.c                     | 147 ++++-
 drivers/hid/wacom_wac.c                     | 289 ++++++++-
 drivers/hid/wacom_wac.h                     |  37 +-
 23 files changed, 698 insertions(+), 961 deletions(-)

-- 
Jiri Kosina
SUSE Labs

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [GIT PULL] HID for 4.11
  2017-02-20 15:20 [GIT PULL] HID for 4.11 Jiri Kosina
@ 2017-02-21  2:48 ` Linus Torvalds
  2017-02-21  3:03   ` Linus Torvalds
  2017-02-21  9:32   ` ath10k regression on XPS13 Kalle Valo
  0 siblings, 2 replies; 34+ messages in thread
From: Linus Torvalds @ 2017-02-21  2:48 UTC (permalink / raw)
  To: Jiri Kosina; +Cc: Linux Kernel Mailing List

On Mon, Feb 20, 2017 at 7:20 AM, Jiri Kosina <jikos@kernel.org> wrote:
>
>   git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git for-linus
>
> to receive HID subsystem updates for 4.11:

The touchpad on my XPS13 no longer works. It might not be this pull
request, and I'll bisect the exact cause, but this pull seems the most
likely culprit.

Just an early heads-up,

                Linus

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [GIT PULL] HID for 4.11
  2017-02-21  2:48 ` Linus Torvalds
@ 2017-02-21  3:03   ` Linus Torvalds
  2017-02-21  3:19     ` Linus Torvalds
  2017-02-21  4:13     ` Linus Torvalds
  2017-02-21  9:32   ` ath10k regression on XPS13 Kalle Valo
  1 sibling, 2 replies; 34+ messages in thread
From: Linus Torvalds @ 2017-02-21  3:03 UTC (permalink / raw)
  To: Jiri Kosina; +Cc: Linux Kernel Mailing List

On Mon, Feb 20, 2017 at 6:48 PM, Linus Torvalds
<torvalds@linux-foundation.org> wrote:
> On Mon, Feb 20, 2017 at 7:20 AM, Jiri Kosina <jikos@kernel.org> wrote:
>>
>>   git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git for-linus
>>
>> to receive HID subsystem updates for 4.11:
>
> The touchpad on my XPS13 no longer works. It might not be this pull
> request, and I'll bisect the exact cause, but this pull seems the most
> likely culprit.

It's bisecting right into the HID pull request, so you can consider
that confirmed.  There's something badly broken in this pull.

I'll have a more specific commit (or range) soon.

               Linus

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [GIT PULL] HID for 4.11
  2017-02-21  3:03   ` Linus Torvalds
@ 2017-02-21  3:19     ` Linus Torvalds
  2017-02-21  4:13     ` Linus Torvalds
  1 sibling, 0 replies; 34+ messages in thread
From: Linus Torvalds @ 2017-02-21  3:19 UTC (permalink / raw)
  To: Jiri Kosina; +Cc: Linux Kernel Mailing List

On Mon, Feb 20, 2017 at 7:03 PM, Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> It's bisecting right into the HID pull request, so you can consider
> that confirmed.  There's something badly broken in this pull.

Side note, the touchpad messages from a working kernel are as

  psmouse serio1: synaptics: Touchpad model: 1, fw: 8.2, id: 0x1e2a1,
caps: 0xf00223/0x840300/0x12e800/0x0, board id: 3038, fw id: 2011643
  input: SynPS/2 Synaptics TouchPad as
/devices/platform/i8042/serio1/input/input6
  input: DLL0704:01 06CB:76AE Touchpad as
/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-8/i2c-DLL0704:01/0018:06CB:76AE.0002/input/input19

whereas a bad kernel seems to miss that third line.

               Linus

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [GIT PULL] HID for 4.11
  2017-02-21  3:03   ` Linus Torvalds
  2017-02-21  3:19     ` Linus Torvalds
@ 2017-02-21  4:13     ` Linus Torvalds
  2017-02-21  4:37       ` Linus Torvalds
  2017-02-21 14:17       ` [PATCH] HID: rmi: fallback to generic/multitouch if hid-rmi is not built (was Re: [GIT PULL] HID for 4.11) Jiri Kosina
  1 sibling, 2 replies; 34+ messages in thread
From: Linus Torvalds @ 2017-02-21  4:13 UTC (permalink / raw)
  To: Jiri Kosina; +Cc: Linux Kernel Mailing List

On Mon, Feb 20, 2017 at 7:03 PM, Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> I'll have a more specific commit (or range) soon.

Hmm. It's commit 279967a65b32 ("HID: rmi: Handle all Synaptics
touchpads using hid-rmi").

And the reason seems to be stupid: I don't have RMI enabled at all,
because that didn't use to work or make a difference.

Maybe that "let's use RMI" code should depend on RMI actually being
enabled? Because as-is, that code now breaks existing configurations.

               Linus

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [GIT PULL] HID for 4.11
  2017-02-21  4:13     ` Linus Torvalds
@ 2017-02-21  4:37       ` Linus Torvalds
  2017-03-01  0:56         ` Linus Torvalds
  2017-02-21 14:17       ` [PATCH] HID: rmi: fallback to generic/multitouch if hid-rmi is not built (was Re: [GIT PULL] HID for 4.11) Jiri Kosina
  1 sibling, 1 reply; 34+ messages in thread
From: Linus Torvalds @ 2017-02-21  4:37 UTC (permalink / raw)
  To: Jiri Kosina, Andrew Duggan, Benjamin Tissoires; +Cc: Linux Kernel Mailing List

[-- Attachment #1: Type: text/plain, Size: 789 bytes --]

On Mon, Feb 20, 2017 at 8:13 PM, Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> Hmm. It's commit 279967a65b32 ("HID: rmi: Handle all Synaptics
> touchpads using hid-rmi").
>
> And the reason seems to be stupid: I don't have RMI enabled at all,
> because that didn't use to work or make a difference.
>
> Maybe that "let's use RMI" code should depend on RMI actually being
> enabled? Because as-is, that code now breaks existing configurations.

Yeah, so enabling HID_RMI makes my touchpad work again.

But this really was a stupid waste of time, and I really think that
the synaptics code should leave the HID group as generic or
multitouch-win8 _unless_ the HID RMI support is actually enabled.

IOW, something like the attached (untested) patch, perhaps?

              Linus

[-- Attachment #2: patch.diff --]
[-- Type: text/plain, Size: 704 bytes --]

 drivers/hid/hid-core.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index 538ff697a4cf..41c88c50a96b 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -821,7 +821,8 @@ static int hid_scan_report(struct hid_device *hid)
 	case USB_VENDOR_ID_SYNAPTICS:
 		if (hid->group == HID_GROUP_GENERIC ||
 		    hid->group == HID_GROUP_MULTITOUCH_WIN_8)
-			if ((parser->scan_flags & HID_SCAN_FLAG_VENDOR_SPECIFIC)
+			if (IS_ENABLED(CONFIG_HID_RMI)
+			    && (parser->scan_flags & HID_SCAN_FLAG_VENDOR_SPECIFIC)
 			    && (parser->scan_flags & HID_SCAN_FLAG_GD_POINTER))
 				/*
 				 * hid-rmi should take care of them,

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* ath10k regression on XPS13
  2017-02-21  2:48 ` Linus Torvalds
  2017-02-21  3:03   ` Linus Torvalds
@ 2017-02-21  9:32   ` Kalle Valo
  2017-02-21 18:18     ` David Miller
  1 sibling, 1 reply; 34+ messages in thread
From: Kalle Valo @ 2017-02-21  9:32 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Jiri Kosina, Linux Kernel Mailing List, ath10k, linux-wireless, davem

(Changing subject, adding Dave and relevant lists)

Linus Torvalds <torvalds@linux-foundation.org> writes:

> On Mon, Feb 20, 2017 at 7:20 AM, Jiri Kosina <jikos@kernel.org> wrote:
>>
>>   git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git for-linus
>>
>> to receive HID subsystem updates for 4.11:
>
> The touchpad on my XPS13 no longer works. It might not be this pull
> request, and I'll bisect the exact cause, but this pull seems the most
> likely culprit.
>
> Just an early heads-up,

While talking about XPS13 also a heads-up from me as we have a nasty
regression in ath10k on XPS13 with QCA6174 (though not sure if you have
QCA6174, recent models seem to have that) which completely breaks driver
initialisation an error:

"ath10k_pci 0000:3a:00.0: failed to fetch board data for
bus=pci,vendor=168c,device=003e,subsystem-vendor=1a56,subsystem-device=1535,variant=RV_0520
from ath10k/QCA6174/hw3.0/board-2.bin"

https://bugzilla.kernel.org/show_bug.cgi?id=185621#c9

This is caused by this commit which I believe Dave will be sending to
you soon:

f2593cb1b291 ath10k: Search SMBIOS for OEM board file extension

As a workaround I recommend updating ath10k/QCA6174/hw3.0/board-2.bin
from this link _before_ updating the kernel:

https://github.com/kvalo/ath10k-firmware/blob/8d15818b0f9c7b09f743538ac2d3e1409779f52a/QCA6174/hw3.0/board-2.bin

We are working on a fix so that ath10k continues to work with older
board-2.bin, but that might take a day or two still.

-- 
Kalle Valo

^ permalink raw reply	[flat|nested] 34+ messages in thread

* [PATCH] HID: rmi: fallback to generic/multitouch if hid-rmi is not built (was Re: [GIT PULL] HID for 4.11)
  2017-02-21  4:13     ` Linus Torvalds
  2017-02-21  4:37       ` Linus Torvalds
@ 2017-02-21 14:17       ` Jiri Kosina
  2017-02-21 15:43         ` Linus Torvalds
                           ` (2 more replies)
  1 sibling, 3 replies; 34+ messages in thread
From: Jiri Kosina @ 2017-02-21 14:17 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Linux Kernel Mailing List, Andrew Duggan, Benjamin Tissoires,
	linux-input

On Mon, 20 Feb 2017, Linus Torvalds wrote:

> > I'll have a more specific commit (or range) soon.
> 
> Hmm. It's commit 279967a65b32 ("HID: rmi: Handle all Synaptics
> touchpads using hid-rmi").
> 
> And the reason seems to be stupid: I don't have RMI enabled at all,
> because that didn't use to work or make a difference.
> 
> Maybe that "let's use RMI" code should depend on RMI actually being
> enabled? Because as-is, that code now breaks existing configurations.

I agree; that's in line with what we usually try to stick to (force 
specific drivers if the device doesn't work with the generic at all and 
switch over to generic in compile-time for devices that have limited 
functionality with the generic driver).

Andrew, Benjamin, how about the patch below?




From: Jiri Kosina <jkosina@suse.cz>
Subject: [PATCH] HID: rmi: fallback to generic/multitouch if hid-rmi is not built

Commit 279967a65b32 ("HID: rmi: Handle all Synaptics touchpads using hid-rmi")
unconditionally switches over handling of all Synaptics touchpads to hid-rmi
(to make use of extended features of the HW); in case CONFIG_HID_RMI is
disabled though this renders the touchpad unusable, as the

	HID_DEVICE(HID_BUS_ANY, HID_GROUP_RMI, HID_ANY_ID, HID_ANY_ID)

match doesn't exist and generic/multitouch doesn't bind to it either (due
to hid group mismatch).

Fix this by switching over to hid-rmi only if it has been actually built.

Fixes: 279967a65b32 ("HID: rmi: Handle all Synaptics touchpads using hid-rmi")
Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
---
 drivers/hid/hid-core.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index 538ff697a4cf..e9e87d337446 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -827,7 +827,8 @@ static int hid_scan_report(struct hid_device *hid)
 				 * hid-rmi should take care of them,
 				 * not hid-generic
 				 */
-				hid->group = HID_GROUP_RMI;
+				if (IS_ENABLED(CONFIG_HID_RMI))
+					hid->group = HID_GROUP_RMI;
 		break;
 	}
 

-- 
Jiri Kosina
SUSE Labs

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* Re: [PATCH] HID: rmi: fallback to generic/multitouch if hid-rmi is not built (was Re: [GIT PULL] HID for 4.11)
  2017-02-21 14:17       ` [PATCH] HID: rmi: fallback to generic/multitouch if hid-rmi is not built (was Re: [GIT PULL] HID for 4.11) Jiri Kosina
@ 2017-02-21 15:43         ` Linus Torvalds
  2017-02-21 15:46           ` Jiri Kosina
  2017-02-21 17:37         ` Benjamin Tissoires
  2017-02-21 21:16         ` Andrew Duggan
  2 siblings, 1 reply; 34+ messages in thread
From: Linus Torvalds @ 2017-02-21 15:43 UTC (permalink / raw)
  To: Jiri Kosina
  Cc: Linux Kernel Mailing List, Andrew Duggan, Benjamin Tissoires,
	linux-input

On Tue, Feb 21, 2017 at 6:17 AM, Jiri Kosina <jikos@kernel.org> wrote:
>
> I agree; that's in line with what we usually try to stick to (force
> specific drivers if the device doesn't work with the generic at all and
> switch over to generic in compile-time for devices that have limited
> functionality with the generic driver).

.. and maybe we should do this same thing for the WACOM case a couple
of lines up from your patch?

              Linus

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH] HID: rmi: fallback to generic/multitouch if hid-rmi is not built (was Re: [GIT PULL] HID for 4.11)
  2017-02-21 15:43         ` Linus Torvalds
@ 2017-02-21 15:46           ` Jiri Kosina
  2017-02-21 15:49             ` Linus Torvalds
  0 siblings, 1 reply; 34+ messages in thread
From: Jiri Kosina @ 2017-02-21 15:46 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Linux Kernel Mailing List, Andrew Duggan, Benjamin Tissoires,
	Ping Cheng, Jason Gerecke, linux-input

On Tue, 21 Feb 2017, Linus Torvalds wrote:

> > I agree; that's in line with what we usually try to stick to (force
> > specific drivers if the device doesn't work with the generic at all and
> > switch over to generic in compile-time for devices that have limited
> > functionality with the generic driver).
> 
> .. and maybe we should do this same thing for the WACOM case a couple
> of lines up from your patch?

Well, that's far more questionable. I am pretty sure Wacom devices are 
completely dysfunctional without a specific driver, as they have their own 
protocol.

Adding Ping and Jason to CC.

-- 
Jiri Kosina
SUSE Labs

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH] HID: rmi: fallback to generic/multitouch if hid-rmi is not built (was Re: [GIT PULL] HID for 4.11)
  2017-02-21 15:46           ` Jiri Kosina
@ 2017-02-21 15:49             ` Linus Torvalds
  2017-02-21 17:42               ` Benjamin Tissoires
  0 siblings, 1 reply; 34+ messages in thread
From: Linus Torvalds @ 2017-02-21 15:49 UTC (permalink / raw)
  To: Jiri Kosina
  Cc: Linux Kernel Mailing List, Andrew Duggan, Benjamin Tissoires,
	Ping Cheng, Jason Gerecke, linux-input

On Tue, Feb 21, 2017 at 7:46 AM, Jiri Kosina <jikos@kernel.org> wrote:
> On Tue, 21 Feb 2017, Linus Torvalds wrote:
>>
>> .. and maybe we should do this same thing for the WACOM case a couple
>> of lines up from your patch?
>
> Well, that's far more questionable. I am pretty sure Wacom devices are
> completely dysfunctional without a specific driver, as they have their own
> protocol.

Ah, ok. Never mind then.

            Linus

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH] HID: rmi: fallback to generic/multitouch if hid-rmi is not built (was Re: [GIT PULL] HID for 4.11)
  2017-02-21 14:17       ` [PATCH] HID: rmi: fallback to generic/multitouch if hid-rmi is not built (was Re: [GIT PULL] HID for 4.11) Jiri Kosina
  2017-02-21 15:43         ` Linus Torvalds
@ 2017-02-21 17:37         ` Benjamin Tissoires
  2017-02-21 21:16         ` Andrew Duggan
  2 siblings, 0 replies; 34+ messages in thread
From: Benjamin Tissoires @ 2017-02-21 17:37 UTC (permalink / raw)
  To: Jiri Kosina
  Cc: Linus Torvalds, Linux Kernel Mailing List, Andrew Duggan, linux-input

On Feb 21 2017 or thereabouts, Jiri Kosina wrote:
> On Mon, 20 Feb 2017, Linus Torvalds wrote:
> 
> > > I'll have a more specific commit (or range) soon.
> > 
> > Hmm. It's commit 279967a65b32 ("HID: rmi: Handle all Synaptics
> > touchpads using hid-rmi").
> > 
> > And the reason seems to be stupid: I don't have RMI enabled at all,
> > because that didn't use to work or make a difference.
> > 
> > Maybe that "let's use RMI" code should depend on RMI actually being
> > enabled? Because as-is, that code now breaks existing configurations.
> 
> I agree; that's in line with what we usually try to stick to (force 
> specific drivers if the device doesn't work with the generic at all and 
> switch over to generic in compile-time for devices that have limited 
> functionality with the generic driver).
> 
> Andrew, Benjamin, how about the patch below?
> 

Hi,

Sorry, I am on PTO for the rest of the week with limited internet
access.

Acked-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>

Sorry for the waste of time :(

Cheers,
Benjamin

> 
> 
> 
> From: Jiri Kosina <jkosina@suse.cz>
> Subject: [PATCH] HID: rmi: fallback to generic/multitouch if hid-rmi is not built
> 
> Commit 279967a65b32 ("HID: rmi: Handle all Synaptics touchpads using hid-rmi")
> unconditionally switches over handling of all Synaptics touchpads to hid-rmi
> (to make use of extended features of the HW); in case CONFIG_HID_RMI is
> disabled though this renders the touchpad unusable, as the
> 
> 	HID_DEVICE(HID_BUS_ANY, HID_GROUP_RMI, HID_ANY_ID, HID_ANY_ID)
> 
> match doesn't exist and generic/multitouch doesn't bind to it either (due
> to hid group mismatch).
> 
> Fix this by switching over to hid-rmi only if it has been actually built.
> 
> Fixes: 279967a65b32 ("HID: rmi: Handle all Synaptics touchpads using hid-rmi")
> Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
> ---
>  drivers/hid/hid-core.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
> index 538ff697a4cf..e9e87d337446 100644
> --- a/drivers/hid/hid-core.c
> +++ b/drivers/hid/hid-core.c
> @@ -827,7 +827,8 @@ static int hid_scan_report(struct hid_device *hid)
>  				 * hid-rmi should take care of them,
>  				 * not hid-generic
>  				 */
> -				hid->group = HID_GROUP_RMI;
> +				if (IS_ENABLED(CONFIG_HID_RMI))
> +					hid->group = HID_GROUP_RMI;
>  		break;
>  	}
>  
> 
> -- 
> Jiri Kosina
> SUSE Labs
> 

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH] HID: rmi: fallback to generic/multitouch if hid-rmi is not built (was Re: [GIT PULL] HID for 4.11)
  2017-02-21 15:49             ` Linus Torvalds
@ 2017-02-21 17:42               ` Benjamin Tissoires
  2017-02-21 21:03                 ` Jiri Kosina
  0 siblings, 1 reply; 34+ messages in thread
From: Benjamin Tissoires @ 2017-02-21 17:42 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Jiri Kosina, Linux Kernel Mailing List, Andrew Duggan,
	Ping Cheng, Jason Gerecke, linux-input

On Feb 21 2017 or thereabouts, Linus Torvalds wrote:
> On Tue, Feb 21, 2017 at 7:46 AM, Jiri Kosina <jikos@kernel.org> wrote:
> > On Tue, 21 Feb 2017, Linus Torvalds wrote:
> >>
> >> .. and maybe we should do this same thing for the WACOM case a couple
> >> of lines up from your patch?
> >
> > Well, that's far more questionable. I am pretty sure Wacom devices are
> > completely dysfunctional without a specific driver, as they have their own
> > protocol.
> 
> Ah, ok. Never mind then.
> 
>             Linus

Well, Wacom devices use to need a special driver, but the latest
generation should somewhat be able to work without a driver (IIRC).
The only thing I can think of is that Wacom devices require
HID_QUIRK_NO_INIT_REPORTS, so they might not work out of the box after
all.

Let's see what Ping and Jason think about the question.

Cheers,
Benjamin

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: ath10k regression on XPS13
  2017-02-21  9:32   ` ath10k regression on XPS13 Kalle Valo
@ 2017-02-21 18:18     ` David Miller
  2017-02-21 18:38       ` Kalle Valo
  2017-02-21 18:52       ` Linus Torvalds
  0 siblings, 2 replies; 34+ messages in thread
From: David Miller @ 2017-02-21 18:18 UTC (permalink / raw)
  To: kvalo; +Cc: torvalds, jikos, linux-kernel, ath10k, linux-wireless

From: Kalle Valo <kvalo@codeaurora.org>
Date: Tue, 21 Feb 2017 11:32:49 +0200

> We are working on a fix so that ath10k continues to work with older
> board-2.bin, but that might take a day or two still.

Kalle I really wanted to send my net-next pull request to Linus later
today.  But I guess I have to wait for this ath10k first.

Please get this to me as soon as possible, thanks.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: ath10k regression on XPS13
  2017-02-21 18:18     ` David Miller
@ 2017-02-21 18:38       ` Kalle Valo
  2017-02-21 18:53         ` David Miller
  2017-02-21 18:52       ` Linus Torvalds
  1 sibling, 1 reply; 34+ messages in thread
From: Kalle Valo @ 2017-02-21 18:38 UTC (permalink / raw)
  To: David Miller; +Cc: torvalds, jikos, linux-kernel, ath10k, linux-wireless

David Miller <davem@davemloft.net> writes:

> From: Kalle Valo <kvalo@codeaurora.org>
> Date: Tue, 21 Feb 2017 11:32:49 +0200
>
>> We are working on a fix so that ath10k continues to work with older
>> board-2.bin, but that might take a day or two still.
>
> Kalle I really wanted to send my net-next pull request to Linus later
> today.  But I guess I have to wait for this ath10k first.
>
> Please get this to me as soon as possible, thanks.

We have a fix now but it's not really tested that well so I'm reluctant
to submit it yet. As I don't want to make you wait I think I'll submit
you a patch reverting f2593cb1b291 in an hour or two. And later in the
week I send you a properly fixed (and tested) version of f2593cb1b291.

Does that sound ok to you?

-- 
Kalle Valo

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: ath10k regression on XPS13
  2017-02-21 18:18     ` David Miller
  2017-02-21 18:38       ` Kalle Valo
@ 2017-02-21 18:52       ` Linus Torvalds
  2017-02-21 21:01         ` David Miller
  1 sibling, 1 reply; 34+ messages in thread
From: Linus Torvalds @ 2017-02-21 18:52 UTC (permalink / raw)
  To: David Miller
  Cc: Kalle Valo, Jiri Kosina, Linux Kernel Mailing List,
	open list:QUALCOMM ATHEROS ATH10K WIRELESS DRIVER,
	Linux Wireless List

On Tue, Feb 21, 2017 at 10:18 AM, David Miller <davem@davemloft.net> wrote:
>
> Kalle I really wanted to send my net-next pull request to Linus later
> today.  But I guess I have to wait for this ath10k first.

Feel free to send it to me - it sounds like the regression is
 (a) easy to work around
and
 (b) has a fix coming up.

And it won't even be something that I personally notice, since I have
the prev-gen XPS13 that has intel wireless.

              Linus

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: ath10k regression on XPS13
  2017-02-21 18:38       ` Kalle Valo
@ 2017-02-21 18:53         ` David Miller
  2017-02-21 19:49           ` Kalle Valo
  0 siblings, 1 reply; 34+ messages in thread
From: David Miller @ 2017-02-21 18:53 UTC (permalink / raw)
  To: kvalo; +Cc: torvalds, jikos, linux-kernel, ath10k, linux-wireless

From: Kalle Valo <kvalo@codeaurora.org>
Date: Tue, 21 Feb 2017 20:38:48 +0200

> David Miller <davem@davemloft.net> writes:
> 
>> From: Kalle Valo <kvalo@codeaurora.org>
>> Date: Tue, 21 Feb 2017 11:32:49 +0200
>>
>>> We are working on a fix so that ath10k continues to work with older
>>> board-2.bin, but that might take a day or two still.
>>
>> Kalle I really wanted to send my net-next pull request to Linus later
>> today.  But I guess I have to wait for this ath10k first.
>>
>> Please get this to me as soon as possible, thanks.
> 
> We have a fix now but it's not really tested that well so I'm reluctant
> to submit it yet. As I don't want to make you wait I think I'll submit
> you a patch reverting f2593cb1b291 in an hour or two. And later in the
> week I send you a properly fixed (and tested) version of f2593cb1b291.
> 
> Does that sound ok to you?

Sure.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: ath10k regression on XPS13
  2017-02-21 18:53         ` David Miller
@ 2017-02-21 19:49           ` Kalle Valo
  2017-02-21 21:00             ` David Miller
  0 siblings, 1 reply; 34+ messages in thread
From: Kalle Valo @ 2017-02-21 19:49 UTC (permalink / raw)
  To: David Miller; +Cc: torvalds, jikos, linux-kernel, ath10k, linux-wireless

David Miller <davem@davemloft.net> writes:

> From: Kalle Valo <kvalo@codeaurora.org>
> Date: Tue, 21 Feb 2017 20:38:48 +0200
>
>> David Miller <davem@davemloft.net> writes:
>> 
>>> From: Kalle Valo <kvalo@codeaurora.org>
>>> Date: Tue, 21 Feb 2017 11:32:49 +0200
>>>
>>>> We are working on a fix so that ath10k continues to work with older
>>>> board-2.bin, but that might take a day or two still.
>>>
>>> Kalle I really wanted to send my net-next pull request to Linus later
>>> today.  But I guess I have to wait for this ath10k first.
>>>
>>> Please get this to me as soon as possible, thanks.
>> 
>> We have a fix now but it's not really tested that well so I'm reluctant
>> to submit it yet. As I don't want to make you wait I think I'll submit
>> you a patch reverting f2593cb1b291 in an hour or two. And later in the
>> week I send you a properly fixed (and tested) version of f2593cb1b291.
>> 
>> Does that sound ok to you?
>
> Sure.

Here's the revert:

https://patchwork.ozlabs.org/patch/730735/

I didn't send a pull request because that felt overkill to do just for
one patch.

-- 
Kalle Valo

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: ath10k regression on XPS13
  2017-02-21 19:49           ` Kalle Valo
@ 2017-02-21 21:00             ` David Miller
  0 siblings, 0 replies; 34+ messages in thread
From: David Miller @ 2017-02-21 21:00 UTC (permalink / raw)
  To: kvalo; +Cc: torvalds, jikos, linux-kernel, ath10k, linux-wireless

From: Kalle Valo <kvalo@codeaurora.org>
Date: Tue, 21 Feb 2017 21:49:09 +0200

> David Miller <davem@davemloft.net> writes:
> 
>> From: Kalle Valo <kvalo@codeaurora.org>
>> Date: Tue, 21 Feb 2017 20:38:48 +0200
>>
>>> David Miller <davem@davemloft.net> writes:
>>> 
>>>> From: Kalle Valo <kvalo@codeaurora.org>
>>>> Date: Tue, 21 Feb 2017 11:32:49 +0200
>>>>
>>>>> We are working on a fix so that ath10k continues to work with older
>>>>> board-2.bin, but that might take a day or two still.
>>>>
>>>> Kalle I really wanted to send my net-next pull request to Linus later
>>>> today.  But I guess I have to wait for this ath10k first.
>>>>
>>>> Please get this to me as soon as possible, thanks.
>>> 
>>> We have a fix now but it's not really tested that well so I'm reluctant
>>> to submit it yet. As I don't want to make you wait I think I'll submit
>>> you a patch reverting f2593cb1b291 in an hour or two. And later in the
>>> week I send you a properly fixed (and tested) version of f2593cb1b291.
>>> 
>>> Does that sound ok to you?
>>
>> Sure.
> 
> Here's the revert:
> 
> https://patchwork.ozlabs.org/patch/730735/
> 
> I didn't send a pull request because that felt overkill to do just for
> one patch.

Yep, that's fine.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: ath10k regression on XPS13
  2017-02-21 18:52       ` Linus Torvalds
@ 2017-02-21 21:01         ` David Miller
  0 siblings, 0 replies; 34+ messages in thread
From: David Miller @ 2017-02-21 21:01 UTC (permalink / raw)
  To: torvalds; +Cc: kvalo, jikos, linux-kernel, ath10k, linux-wireless

From: Linus Torvalds <torvalds@linux-foundation.org>
Date: Tue, 21 Feb 2017 10:52:33 -0800

> On Tue, Feb 21, 2017 at 10:18 AM, David Miller <davem@davemloft.net> wrote:
>>
>> Kalle I really wanted to send my net-next pull request to Linus later
>> today.  But I guess I have to wait for this ath10k first.
> 
> Feel free to send it to me - it sounds like the regression is
>  (a) easy to work around
> and
>  (b) has a fix coming up.
> 
> And it won't even be something that I personally notice, since I have
> the prev-gen XPS13 that has intel wireless.

I have the revert in my tree, it's all good.

I'll let my tree sit quietly for a few hours then send a pull
request out later tonight.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH] HID: rmi: fallback to generic/multitouch if hid-rmi is not built (was Re: [GIT PULL] HID for 4.11)
  2017-02-21 17:42               ` Benjamin Tissoires
@ 2017-02-21 21:03                 ` Jiri Kosina
  2017-02-22  0:53                   ` Jason Gerecke
  0 siblings, 1 reply; 34+ messages in thread
From: Jiri Kosina @ 2017-02-21 21:03 UTC (permalink / raw)
  To: Benjamin Tissoires
  Cc: Linus Torvalds, Linux Kernel Mailing List, Andrew Duggan,
	Ping Cheng, Jason Gerecke, linux-input

On Tue, 21 Feb 2017, Benjamin Tissoires wrote:

> Well, Wacom devices use to need a special driver, but the latest 
> generation should somewhat be able to work without a driver (IIRC). 

I vaguely recall this wasn't the case at all for the older generations 
I've had my hands on, and it wasn't just the matter of 
HID_QUIRK_NO_INIT_REPORTS quirk.

But anyway ... that wasn't reported as a regression for quite some time, 
so let's defer to what Ping and Jason have to say regarding 
protocol/driver compatibility.

I'll be pushing the RMI fix to Linus soon.

Thanks,

-- 
Jiri Kosina
SUSE Labs

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH] HID: rmi: fallback to generic/multitouch if hid-rmi is not built (was Re: [GIT PULL] HID for 4.11)
  2017-02-21 14:17       ` [PATCH] HID: rmi: fallback to generic/multitouch if hid-rmi is not built (was Re: [GIT PULL] HID for 4.11) Jiri Kosina
  2017-02-21 15:43         ` Linus Torvalds
  2017-02-21 17:37         ` Benjamin Tissoires
@ 2017-02-21 21:16         ` Andrew Duggan
  2 siblings, 0 replies; 34+ messages in thread
From: Andrew Duggan @ 2017-02-21 21:16 UTC (permalink / raw)
  To: Jiri Kosina, Linus Torvalds
  Cc: Linux Kernel Mailing List, Benjamin Tissoires, linux-input

On 02/21/2017 06:17 AM, Jiri Kosina wrote:
> On Mon, 20 Feb 2017, Linus Torvalds wrote:
>
>>> I'll have a more specific commit (or range) soon.
>> Hmm. It's commit 279967a65b32 ("HID: rmi: Handle all Synaptics
>> touchpads using hid-rmi").
>>
>> And the reason seems to be stupid: I don't have RMI enabled at all,
>> because that didn't use to work or make a difference.
>>
>> Maybe that "let's use RMI" code should depend on RMI actually being
>> enabled? Because as-is, that code now breaks existing configurations.
> I agree; that's in line with what we usually try to stick to (force
> specific drivers if the device doesn't work with the generic at all and
> switch over to generic in compile-time for devices that have limited
> functionality with the generic driver).
>
> Andrew, Benjamin, how about the patch below?
>

I tested this patch and hid-core now correctly binds hid-mulitouch to 
the touchpad if CONFIG_HID_RMI is disabled. Sorry, about the oversight.

Tested-by: Andrew Duggan <aduggan@synaptics.com>

Thanks,
Andrew

>
>
> From: Jiri Kosina <jkosina@suse.cz>
> Subject: [PATCH] HID: rmi: fallback to generic/multitouch if hid-rmi is not built
>
> Commit 279967a65b32 ("HID: rmi: Handle all Synaptics touchpads using hid-rmi")
> unconditionally switches over handling of all Synaptics touchpads to hid-rmi
> (to make use of extended features of the HW); in case CONFIG_HID_RMI is
> disabled though this renders the touchpad unusable, as the
>
> 	HID_DEVICE(HID_BUS_ANY, HID_GROUP_RMI, HID_ANY_ID, HID_ANY_ID)
>
> match doesn't exist and generic/multitouch doesn't bind to it either (due
> to hid group mismatch).
>
> Fix this by switching over to hid-rmi only if it has been actually built.
>
> Fixes: 279967a65b32 ("HID: rmi: Handle all Synaptics touchpads using hid-rmi")
> Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
> ---
>   drivers/hid/hid-core.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
> index 538ff697a4cf..e9e87d337446 100644
> --- a/drivers/hid/hid-core.c
> +++ b/drivers/hid/hid-core.c
> @@ -827,7 +827,8 @@ static int hid_scan_report(struct hid_device *hid)
>   				 * hid-rmi should take care of them,
>   				 * not hid-generic
>   				 */
> -				hid->group = HID_GROUP_RMI;
> +				if (IS_ENABLED(CONFIG_HID_RMI))
> +					hid->group = HID_GROUP_RMI;
>   		break;
>   	}
>   
>

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH] HID: rmi: fallback to generic/multitouch if hid-rmi is not built (was Re: [GIT PULL] HID for 4.11)
  2017-02-21 21:03                 ` Jiri Kosina
@ 2017-02-22  0:53                   ` Jason Gerecke
  0 siblings, 0 replies; 34+ messages in thread
From: Jason Gerecke @ 2017-02-22  0:53 UTC (permalink / raw)
  To: Jiri Kosina, Benjamin Tissoires
  Cc: Linus Torvalds, Linux Kernel Mailing List, Andrew Duggan,
	Ping Cheng, linux-input, Tobita Tatsunosuke

One of the main reasons Wacom devices have historically required a
special driver is that the HID descriptors on their branded devices are
useless. A generic driver would only know the length of a report; no
information about the contents or layout is actually provided by the
hardware. The latest generation of Wacom tablets somewhat improves the
situation, but its still not good enough for the devices to be at all
useful with an e.g. hid-generic fallback. The hardware now provides a
full descriptor, but every usage is in a Vendor Defined usage page. We
can use Wacom's usage table definitions to implement "generic Wacom"
support for these new devices (which is exactly what we did in 4.10),
but no vendor-agnostic generic driver will understand the usages.

Wacom's embedded tablet PC sensors are a different story. These devices
*do* provide generic HID descriptors and it should be possible to have
hid-generic power them as a fallback. That said, it seems that Wacom is
moving away from their 0x56A vendor ID for these embedded sensors to a
new 0x2D1F vendor ID. This VID isn't recognized by any of the existing
Wacom kernel drivers and is (as I understand) intended be a way to allow
new hardware to work with the hid-generic driver.

Jason Gerecke, Linux Software Engineer
Wacom Technology Corporation
tel: 360-896-9833 ext. 229 (direct) / fax: 360-896-9724
http://www.wacom.com

On 02/21/2017 01:03 PM, Jiri Kosina wrote:
> On Tue, 21 Feb 2017, Benjamin Tissoires wrote: > >> Well, Wacom devices use to need a special driver, but the latest
>> generation should somewhat be able to work without a driver (IIRC).
>> > > I vaguely recall this wasn't the case at all for the older >
generations I've had my hands on, and it wasn't just the matter of >
HID_QUIRK_NO_INIT_REPORTS quirk. > > But anyway ... that wasn't reported
as a regression for quite some > time, so let's defer to what Ping and
Jason have to say regarding > protocol/driver compatibility. > > I'll be
pushing the RMI fix to Linus soon. > > Thanks, >

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [GIT PULL] HID for 4.11
  2017-02-21  4:37       ` Linus Torvalds
@ 2017-03-01  0:56         ` Linus Torvalds
  2017-03-01  2:31           ` Andrew Duggan
  0 siblings, 1 reply; 34+ messages in thread
From: Linus Torvalds @ 2017-03-01  0:56 UTC (permalink / raw)
  To: Jiri Kosina, Andrew Duggan, Benjamin Tissoires; +Cc: Linux Kernel Mailing List

On Mon, Feb 20, 2017 at 8:37 PM, Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> Yeah, so enabling HID_RMI makes my touchpad work again.

.. so I just noticed something: it works subtly differently.

When I drag something around, I mostly just double-tap and move, and
that still works fine.

But sometimes I click (and hold) with one finger, and then move around
with another. That's occasionally very useful when you move longer
distances, because you can just raise and move that other finger
multiple times.

That doesn't seem to work with the RMI driver. I seem to get scroll
events instead.

I'm sure there's some setting for mouse gestures. But it's a bit odd
when they change just because the driver changes. And gnome certainly
doesn't believe in settings, because these things are obviously
"intuitive".

Ideas? Or am I just dreaming, and the click-and-move never worked?
Because I'm pretty sure it did, but sometimes the meds kick in.

                 Linus

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [GIT PULL] HID for 4.11
  2017-03-01  0:56         ` Linus Torvalds
@ 2017-03-01  2:31           ` Andrew Duggan
  2017-03-01  3:24             ` Peter Hutterer
  0 siblings, 1 reply; 34+ messages in thread
From: Andrew Duggan @ 2017-03-01  2:31 UTC (permalink / raw)
  To: Linus Torvalds, Jiri Kosina, Benjamin Tissoires
  Cc: Linux Kernel Mailing List, Peter Hutterer

On 02/28/2017 04:56 PM, Linus Torvalds wrote:
> On Mon, Feb 20, 2017 at 8:37 PM, Linus Torvalds
> <torvalds@linux-foundation.org> wrote:
>> Yeah, so enabling HID_RMI makes my touchpad work again.
> .. so I just noticed something: it works subtly differently.
>
> When I drag something around, I mostly just double-tap and move, and
> that still works fine.
>
> But sometimes I click (and hold) with one finger, and then move around
> with another. That's occasionally very useful when you move longer
> distances, because you can just raise and move that other finger
> multiple times.
>
> That doesn't seem to work with the RMI driver. I seem to get scroll
> events instead.
>
> I'm sure there's some setting for mouse gestures. But it's a bit odd
> when they change just because the driver changes. And gnome certainly
> doesn't believe in settings, because these things are obviously
> "intuitive".
>
> Ideas? Or am I just dreaming, and the click-and-move never worked?
> Because I'm pretty sure it did, but sometimes the meds kick in.
>
>                   Linus

The RMI driver does report input events a little differently then the 
hid-multitouch driver. It may report different min / max values for 
axis, different resolution values, and it also reports ABS_MT_PRESSURE. 
Also, depending on how the touchpad's firmware was configured it may 
also report additional fingers. It probably also reports a few other 
properties which hid-multitouch does not. Since it is the input handling 
libraries in userspace which interpret the input events and decide what 
is a drag and what is a scroll I suspect the issue may be in userspace. 
The additional properties reported by the input device may be causing 
the input handler to potentially misidentify the device and treat it 
differently. That's at least where I would start looking.

For what it's worth, I'm using libinput and the RMI driver on my 
touchpad. Click and drag works well with libinput's "ClickMethod" 
parameter set to "clickfinger".

Andrew

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [GIT PULL] HID for 4.11
  2017-03-01  2:31           ` Andrew Duggan
@ 2017-03-01  3:24             ` Peter Hutterer
  2017-03-01  5:05               ` Linus Torvalds
  0 siblings, 1 reply; 34+ messages in thread
From: Peter Hutterer @ 2017-03-01  3:24 UTC (permalink / raw)
  To: Andrew Duggan
  Cc: Linus Torvalds, Jiri Kosina, Benjamin Tissoires,
	Linux Kernel Mailing List

On Tue, Feb 28, 2017 at 06:31:10PM -0800, Andrew Duggan wrote:
> On 02/28/2017 04:56 PM, Linus Torvalds wrote:
> > On Mon, Feb 20, 2017 at 8:37 PM, Linus Torvalds
> > <torvalds@linux-foundation.org> wrote:
> > > Yeah, so enabling HID_RMI makes my touchpad work again.
> > .. so I just noticed something: it works subtly differently.
> > 
> > When I drag something around, I mostly just double-tap and move, and
> > that still works fine.
> > 
> > But sometimes I click (and hold) with one finger, and then move around
> > with another. That's occasionally very useful when you move longer
> > distances, because you can just raise and move that other finger
> > multiple times.
> > 
> > That doesn't seem to work with the RMI driver. I seem to get scroll
> > events instead.

fwiw, scroll events are implemented in userspace, so this would be a bug in
libinput or the synaptics driver if you're using that one.

> > I'm sure there's some setting for mouse gestures. But it's a bit odd
> > when they change just because the driver changes. And gnome certainly
> > doesn't believe in settings, because these things are obviously
> > "intuitive".
> > 
> > Ideas? Or am I just dreaming, and the click-and-move never worked?
> > Because I'm pretty sure it did, but sometimes the meds kick in.

it definitely should work and it shouldn't be affected much by these kernel
driver changes. more specifically, scrolling should never happen while
BTN_LEFT is down.

> The RMI driver does report input events a little differently then the
> hid-multitouch driver. It may report different min / max values for axis,
> different resolution values, and it also reports ABS_MT_PRESSURE. Also,
> depending on how the touchpad's firmware was configured it may also report
> additional fingers. It probably also reports a few other properties which
> hid-multitouch does not. Since it is the input handling libraries in
> userspace which interpret the input events and decide what is a drag and
> what is a scroll I suspect the issue may be in userspace. The additional
> properties reported by the input device may be causing the input handler to
> potentially misidentify the device and treat it differently. That's at least
> where I would start looking.
> 
> For what it's worth, I'm using libinput and the RMI driver on my touchpad.
> Click and drag works well with libinput's "ClickMethod" parameter set to
> "clickfinger".

fwiw, should work with software buttons as well. but as I said above, scroll
events should never trigger as long as a button is down, at least not with
only two fingers on the touchpad.

I suspect you're just triggering a bug that wasn't triggered by the ps/2
emulation. you can run linput-debug-events --verbose and have a look at the
various state debugging information, that may hint at what's going on (e.g.
a finger mistaken as palm touch, or something). Or record one such
interaction with evemu-record and send it to me (preferrably here [1], if
you're using libinput). Also, what version of libinput/synaptics are you on?

Cheers,
   Peter

[1] https://bugs.freedesktop.org/enter_bug.cgi?product=wayland&component=libinput

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [GIT PULL] HID for 4.11
  2017-03-01  3:24             ` Peter Hutterer
@ 2017-03-01  5:05               ` Linus Torvalds
  2017-03-01  7:43                 ` Andrew Duggan
  2017-03-01  9:03                 ` Benjamin Tissoires
  0 siblings, 2 replies; 34+ messages in thread
From: Linus Torvalds @ 2017-03-01  5:05 UTC (permalink / raw)
  To: Peter Hutterer
  Cc: Andrew Duggan, Jiri Kosina, Benjamin Tissoires,
	Linux Kernel Mailing List

On Tue, Feb 28, 2017 at 7:24 PM, Peter Hutterer
<peter.hutterer@who-t.net> wrote:
>
> I suspect you're just triggering a bug that wasn't triggered by the ps/2
> emulation. you can run linput-debug-events --verbose and have a look at the
> various state debugging information, that may hint at what's going on (e.g.
> a finger mistaken as palm touch, or something). Or record one such
> interaction with evemu-record and send it to me (preferrably here [1], if
> you're using libinput). Also, what version of libinput/synaptics are you on?

bug reported (it's bug 100014).

This is libinput-1.5.4 on Fedora 24. I attached both the
libinput-debug-events output as well as evemu-report output, which
hopefully fills in all the details.

                 Linus

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [GIT PULL] HID for 4.11
  2017-03-01  5:05               ` Linus Torvalds
@ 2017-03-01  7:43                 ` Andrew Duggan
  2017-03-01  9:03                 ` Benjamin Tissoires
  1 sibling, 0 replies; 34+ messages in thread
From: Andrew Duggan @ 2017-03-01  7:43 UTC (permalink / raw)
  To: Linus Torvalds, Peter Hutterer
  Cc: Jiri Kosina, Benjamin Tissoires, Linux Kernel Mailing List,
	Dmitry Torokhov


On 02/28/2017 09:05 PM, Linus Torvalds wrote:
> On Tue, Feb 28, 2017 at 7:24 PM, Peter Hutterer
> <peter.hutterer@who-t.net> wrote:
>> I suspect you're just triggering a bug that wasn't triggered by the ps/2
>> emulation. you can run linput-debug-events --verbose and have a look at the
>> various state debugging information, that may hint at what's going on (e.g.
>> a finger mistaken as palm touch, or something). Or record one such
>> interaction with evemu-record and send it to me (preferrably here [1], if
>> you're using libinput). Also, what version of libinput/synaptics are you on?
> bug reported (it's bug 100014).
>
> This is libinput-1.5.4 on Fedora 24. I attached both the
> libinput-debug-events output as well as evemu-report output, which
> hopefully fills in all the details.
>
>                   Linus

Actually, it looks like this is a regression which was introduced by 
bf3e8502eefd ("Input: synaptics-rmi4 - clean up F30 implementation"). 
 From the bug report I noticed that the INPUT_PROP_BUTTONPAD property 
was not set for the touchpad. The previous behavior was to set 
INPUT_PROP_BUTTONPAD if F30 detected only one valid button (or if there 
was a flag in the platform data). But, now INPUT_PROP_BUTTONPAD is not 
being set and libinput does not know that the touchpad is a clickpad. 
After updating I was able to reproduce the issue with bf3e8502eefd applied.

Andrew

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [GIT PULL] HID for 4.11
  2017-03-01  5:05               ` Linus Torvalds
  2017-03-01  7:43                 ` Andrew Duggan
@ 2017-03-01  9:03                 ` Benjamin Tissoires
  2017-03-01  9:06                   ` Benjamin Tissoires
  2017-03-01 17:54                   ` Linus Torvalds
  1 sibling, 2 replies; 34+ messages in thread
From: Benjamin Tissoires @ 2017-03-01  9:03 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Peter Hutterer, Andrew Duggan, Jiri Kosina, Linux Kernel Mailing List

On Feb 28 2017 or thereabouts, Linus Torvalds wrote:
> On Tue, Feb 28, 2017 at 7:24 PM, Peter Hutterer
> <peter.hutterer@who-t.net> wrote:
> >
> > I suspect you're just triggering a bug that wasn't triggered by the ps/2
> > emulation. you can run linput-debug-events --verbose and have a look at the
> > various state debugging information, that may hint at what's going on (e.g.
> > a finger mistaken as palm touch, or something). Or record one such
> > interaction with evemu-record and send it to me (preferrably here [1], if
> > you're using libinput). Also, what version of libinput/synaptics are you on?
> 
> bug reported (it's bug 100014).
> 

Thanks for the report.

As Peter mentioned in the bug, there is a missing property on the kernel
node (INPUT_PROP_BUTTONPAD). 

The thing is this property is solely driven in the current driver by the
provided platform_data, so there is no way we ever set it through
hid-rmi. I wonder how we missed that.

Anyway, the good news is that the evemu record shows only one exportted
button, so we can infer the property quite easily in the module. Would
something like that work for you?

>From 5f28af88f2c67d1c533500765c5190cdd3006539 Mon Sep 17 00:00:00 2001
From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Date: Wed, 1 Mar 2017 09:57:00 +0100
Subject: [PATCH] Input: rmi4 - f30: detect INPUT_PROP_BUTTONPAD from the
 button count

INPUT_PROP_BUTTONPAD is currently only set through the platform data.
The RMI4 header doc says that this property is there to force the
buttonpad property, so we also need to detect it by looking at
the exported buttons count.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
---
 drivers/input/rmi4/rmi_f30.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/input/rmi4/rmi_f30.c b/drivers/input/rmi4/rmi_f30.c
index 3422464..1986786 100644
--- a/drivers/input/rmi4/rmi_f30.c
+++ b/drivers/input/rmi4/rmi_f30.c
@@ -258,9 +258,10 @@ static int rmi_f30_map_gpios(struct rmi_function *fn,
 
 	/*
 	 * Buttonpad could be also inferred from f30->has_mech_mouse_btns,
-	 * but I am not sure, so use only the pdata info.
+	 * but I am not sure, so use only the pdata info and the number of
+	 * mapped buttons.
 	 */
-	if (pdata->f30_data.buttonpad)
+	if (pdata->f30_data.buttonpad || (button - BTN_LEFT == 1))
 		__set_bit(INPUT_PROP_BUTTONPAD, input->propbit);
 
 	return 0;
-- 
2.9.3

Dmitry, Andrew, would this work for you too?

Cheers,
Benjamin

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* Re: [GIT PULL] HID for 4.11
  2017-03-01  9:03                 ` Benjamin Tissoires
@ 2017-03-01  9:06                   ` Benjamin Tissoires
  2017-03-01 17:31                     ` Dmitry Torokhov
  2017-03-01 17:54                   ` Linus Torvalds
  1 sibling, 1 reply; 34+ messages in thread
From: Benjamin Tissoires @ 2017-03-01  9:06 UTC (permalink / raw)
  To: Linus Torvalds, Dmitry Torokhov
  Cc: Peter Hutterer, Andrew Duggan, Jiri Kosina, Linux Kernel Mailing List

[I forgot to add Dmitry in the loop, sorry for the noise.]

On Mar 01 2017 or thereabouts, Benjamin Tissoires wrote:
> On Feb 28 2017 or thereabouts, Linus Torvalds wrote:
> > On Tue, Feb 28, 2017 at 7:24 PM, Peter Hutterer
> > <peter.hutterer@who-t.net> wrote:
> > >
> > > I suspect you're just triggering a bug that wasn't triggered by the ps/2
> > > emulation. you can run linput-debug-events --verbose and have a look at the
> > > various state debugging information, that may hint at what's going on (e.g.
> > > a finger mistaken as palm touch, or something). Or record one such
> > > interaction with evemu-record and send it to me (preferrably here [1], if
> > > you're using libinput). Also, what version of libinput/synaptics are you on?
> > 
> > bug reported (it's bug 100014).
> > 
> 
> Thanks for the report.
> 
> As Peter mentioned in the bug, there is a missing property on the kernel
> node (INPUT_PROP_BUTTONPAD). 
> 
> The thing is this property is solely driven in the current driver by the
> provided platform_data, so there is no way we ever set it through
> hid-rmi. I wonder how we missed that.
> 
> Anyway, the good news is that the evemu record shows only one exportted
> button, so we can infer the property quite easily in the module. Would
> something like that work for you?
> 
> From 5f28af88f2c67d1c533500765c5190cdd3006539 Mon Sep 17 00:00:00 2001
> From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
> Date: Wed, 1 Mar 2017 09:57:00 +0100
> Subject: [PATCH] Input: rmi4 - f30: detect INPUT_PROP_BUTTONPAD from the
>  button count
> 
> INPUT_PROP_BUTTONPAD is currently only set through the platform data.
> The RMI4 header doc says that this property is there to force the
> buttonpad property, so we also need to detect it by looking at
> the exported buttons count.
> 
> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
> ---
>  drivers/input/rmi4/rmi_f30.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/input/rmi4/rmi_f30.c b/drivers/input/rmi4/rmi_f30.c
> index 3422464..1986786 100644
> --- a/drivers/input/rmi4/rmi_f30.c
> +++ b/drivers/input/rmi4/rmi_f30.c
> @@ -258,9 +258,10 @@ static int rmi_f30_map_gpios(struct rmi_function *fn,
>  
>  	/*
>  	 * Buttonpad could be also inferred from f30->has_mech_mouse_btns,
> -	 * but I am not sure, so use only the pdata info.
> +	 * but I am not sure, so use only the pdata info and the number of
> +	 * mapped buttons.
>  	 */
> -	if (pdata->f30_data.buttonpad)
> +	if (pdata->f30_data.buttonpad || (button - BTN_LEFT == 1))
>  		__set_bit(INPUT_PROP_BUTTONPAD, input->propbit);
>  
>  	return 0;
> -- 
> 2.9.3
> 
> Dmitry, Andrew, would this work for you too?
> 
> Cheers,
> Benjamin

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [GIT PULL] HID for 4.11
  2017-03-01  9:06                   ` Benjamin Tissoires
@ 2017-03-01 17:31                     ` Dmitry Torokhov
  0 siblings, 0 replies; 34+ messages in thread
From: Dmitry Torokhov @ 2017-03-01 17:31 UTC (permalink / raw)
  To: Benjamin Tissoires
  Cc: Linus Torvalds, Peter Hutterer, Andrew Duggan, Jiri Kosina,
	Linux Kernel Mailing List

Hi Benjamin,

On Wed, Mar 01, 2017 at 10:06:35AM +0100, Benjamin Tissoires wrote:
> [I forgot to add Dmitry in the loop, sorry for the noise.]
> 
> On Mar 01 2017 or thereabouts, Benjamin Tissoires wrote:
> > On Feb 28 2017 or thereabouts, Linus Torvalds wrote:
> > > On Tue, Feb 28, 2017 at 7:24 PM, Peter Hutterer
> > > <peter.hutterer@who-t.net> wrote:
> > > >
> > > > I suspect you're just triggering a bug that wasn't triggered by the ps/2
> > > > emulation. you can run linput-debug-events --verbose and have a look at the
> > > > various state debugging information, that may hint at what's going on (e.g.
> > > > a finger mistaken as palm touch, or something). Or record one such
> > > > interaction with evemu-record and send it to me (preferrably here [1], if
> > > > you're using libinput). Also, what version of libinput/synaptics are you on?
> > > 
> > > bug reported (it's bug 100014).
> > > 
> > 
> > Thanks for the report.
> > 
> > As Peter mentioned in the bug, there is a missing property on the kernel
> > node (INPUT_PROP_BUTTONPAD). 
> > 
> > The thing is this property is solely driven in the current driver by the
> > provided platform_data, so there is no way we ever set it through
> > hid-rmi. I wonder how we missed that.
> > 
> > Anyway, the good news is that the evemu record shows only one exportted
> > button, so we can infer the property quite easily in the module. Would
> > something like that work for you?
> > 
> > From 5f28af88f2c67d1c533500765c5190cdd3006539 Mon Sep 17 00:00:00 2001
> > From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
> > Date: Wed, 1 Mar 2017 09:57:00 +0100
> > Subject: [PATCH] Input: rmi4 - f30: detect INPUT_PROP_BUTTONPAD from the
> >  button count
> > 
> > INPUT_PROP_BUTTONPAD is currently only set through the platform data.
> > The RMI4 header doc says that this property is there to force the
> > buttonpad property, so we also need to detect it by looking at
> > the exported buttons count.
> > 
> > Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
> > ---
> >  drivers/input/rmi4/rmi_f30.c | 5 +++--
> >  1 file changed, 3 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/input/rmi4/rmi_f30.c b/drivers/input/rmi4/rmi_f30.c
> > index 3422464..1986786 100644
> > --- a/drivers/input/rmi4/rmi_f30.c
> > +++ b/drivers/input/rmi4/rmi_f30.c
> > @@ -258,9 +258,10 @@ static int rmi_f30_map_gpios(struct rmi_function *fn,
> >  
> >  	/*
> >  	 * Buttonpad could be also inferred from f30->has_mech_mouse_btns,
> > -	 * but I am not sure, so use only the pdata info.
> > +	 * but I am not sure, so use only the pdata info and the number of
> > +	 * mapped buttons.
> >  	 */
> > -	if (pdata->f30_data.buttonpad)
> > +	if (pdata->f30_data.buttonpad || (button - BTN_LEFT == 1))
> >  		__set_bit(INPUT_PROP_BUTTONPAD, input->propbit);

Would prefer if we changed button_mapped to n_buttons_mapped counter and
used that, instead of doing calculations on event code.

Thanks.

-- 
Dmitry

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [GIT PULL] HID for 4.11
  2017-03-01  9:03                 ` Benjamin Tissoires
  2017-03-01  9:06                   ` Benjamin Tissoires
@ 2017-03-01 17:54                   ` Linus Torvalds
  2017-03-01 17:58                     ` Dmitry Torokhov
  1 sibling, 1 reply; 34+ messages in thread
From: Linus Torvalds @ 2017-03-01 17:54 UTC (permalink / raw)
  To: Benjamin Tissoires, Dmitry Torokhov
  Cc: Peter Hutterer, Andrew Duggan, Jiri Kosina, Linux Kernel Mailing List

On Wed, Mar 1, 2017 at 1:03 AM, Benjamin Tissoires
<benjamin.tissoires@redhat.com> wrote:
>
> As Peter mentioned in the bug, there is a missing property on the kernel
> node (INPUT_PROP_BUTTONPAD).
>
> The thing is this property is solely driven in the current driver by the
> provided platform_data, so there is no way we ever set it through
> hid-rmi. I wonder how we missed that.
>
> Anyway, the good news is that the evemu record shows only one exportted
> button, so we can infer the property quite easily in the module. Would
> something like that work for you?
>
> From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
> Date: Wed, 1 Mar 2017 09:57:00 +0100
> Subject: [PATCH] Input: rmi4 - f30: detect INPUT_PROP_BUTTONPAD from the button count

Yes, this fixes the problem for me. My click-and-drag works again, so
you can add a

  Reported-and-tested-by: Linus Torvalds <torvalds@linux-foundation.org>

I see that Dmitry doesn't love the patch, but I'm assuming I'll get
that or something equivalent soon. In the meantime, I'll just keep it
on my laptop as a workaround.

Thanks,

                   Linus

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [GIT PULL] HID for 4.11
  2017-03-01 17:54                   ` Linus Torvalds
@ 2017-03-01 17:58                     ` Dmitry Torokhov
  2017-03-01 18:02                       ` Linus Torvalds
  0 siblings, 1 reply; 34+ messages in thread
From: Dmitry Torokhov @ 2017-03-01 17:58 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Benjamin Tissoires, Peter Hutterer, Andrew Duggan, Jiri Kosina,
	Linux Kernel Mailing List

On Wed, Mar 01, 2017 at 09:54:07AM -0800, Linus Torvalds wrote:
> On Wed, Mar 1, 2017 at 1:03 AM, Benjamin Tissoires
> <benjamin.tissoires@redhat.com> wrote:
> >
> > As Peter mentioned in the bug, there is a missing property on the kernel
> > node (INPUT_PROP_BUTTONPAD).
> >
> > The thing is this property is solely driven in the current driver by the
> > provided platform_data, so there is no way we ever set it through
> > hid-rmi. I wonder how we missed that.
> >
> > Anyway, the good news is that the evemu record shows only one exportted
> > button, so we can infer the property quite easily in the module. Would
> > something like that work for you?
> >
> > From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
> > Date: Wed, 1 Mar 2017 09:57:00 +0100
> > Subject: [PATCH] Input: rmi4 - f30: detect INPUT_PROP_BUTTONPAD from the button count
> 
> Yes, this fixes the problem for me. My click-and-drag works again, so
> you can add a
> 
>   Reported-and-tested-by: Linus Torvalds <torvalds@linux-foundation.org>
> 
> I see that Dmitry doesn't love the patch, but I'm assuming I'll get
> that or something equivalent soon. In the meantime, I'll just keep it
> on my laptop as a workaround.

Given that it does work for you just apply it. The objections I raised
was more of a bikeshedding.

Thanks.

-- 
Dmitry

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [GIT PULL] HID for 4.11
  2017-03-01 17:58                     ` Dmitry Torokhov
@ 2017-03-01 18:02                       ` Linus Torvalds
  0 siblings, 0 replies; 34+ messages in thread
From: Linus Torvalds @ 2017-03-01 18:02 UTC (permalink / raw)
  To: Dmitry Torokhov
  Cc: Benjamin Tissoires, Peter Hutterer, Andrew Duggan, Jiri Kosina,
	Linux Kernel Mailing List

On Wed, Mar 1, 2017 at 9:58 AM, Dmitry Torokhov
<dmitry.torokhov@gmail.com> wrote:
>
> Given that it does work for you just apply it. The objections I raised
> was more of a bikeshedding.

Ok. Patch applied directly and in my tree now,

                  Linus

^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2017-03-01 20:05 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-20 15:20 [GIT PULL] HID for 4.11 Jiri Kosina
2017-02-21  2:48 ` Linus Torvalds
2017-02-21  3:03   ` Linus Torvalds
2017-02-21  3:19     ` Linus Torvalds
2017-02-21  4:13     ` Linus Torvalds
2017-02-21  4:37       ` Linus Torvalds
2017-03-01  0:56         ` Linus Torvalds
2017-03-01  2:31           ` Andrew Duggan
2017-03-01  3:24             ` Peter Hutterer
2017-03-01  5:05               ` Linus Torvalds
2017-03-01  7:43                 ` Andrew Duggan
2017-03-01  9:03                 ` Benjamin Tissoires
2017-03-01  9:06                   ` Benjamin Tissoires
2017-03-01 17:31                     ` Dmitry Torokhov
2017-03-01 17:54                   ` Linus Torvalds
2017-03-01 17:58                     ` Dmitry Torokhov
2017-03-01 18:02                       ` Linus Torvalds
2017-02-21 14:17       ` [PATCH] HID: rmi: fallback to generic/multitouch if hid-rmi is not built (was Re: [GIT PULL] HID for 4.11) Jiri Kosina
2017-02-21 15:43         ` Linus Torvalds
2017-02-21 15:46           ` Jiri Kosina
2017-02-21 15:49             ` Linus Torvalds
2017-02-21 17:42               ` Benjamin Tissoires
2017-02-21 21:03                 ` Jiri Kosina
2017-02-22  0:53                   ` Jason Gerecke
2017-02-21 17:37         ` Benjamin Tissoires
2017-02-21 21:16         ` Andrew Duggan
2017-02-21  9:32   ` ath10k regression on XPS13 Kalle Valo
2017-02-21 18:18     ` David Miller
2017-02-21 18:38       ` Kalle Valo
2017-02-21 18:53         ` David Miller
2017-02-21 19:49           ` Kalle Valo
2017-02-21 21:00             ` David Miller
2017-02-21 18:52       ` Linus Torvalds
2017-02-21 21:01         ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).