Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8ed86627 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull HID fixes from Jiri Kosina:

 - build dependency fix for hid-asus from Arnd Bergmann

 - addition of omitted mapping of _ASSISTANT key from Dmitry Torokhov

 - race condition fix in hid-debug inftastructure from He, Bo

 - fixed support for devices with big maximum report size from Kai-Heng
   Feng

 - deadlock fix in hid-steam from Rodrigo Rivas Costa

 - quite a few device-specific quirks

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid:
  HID: input: add mapping for Assistant key
  HID: i2c-hid: Disable runtime PM on Synaptics touchpad
  HID: quirks: Fix keyboard + touchpad on Lenovo Miix 630
  HID: logitech: Handle 0 scroll events for the m560
  HID: debug: fix race condition with between rdesc_show() and device removal
  HID: logitech: check the return value of create_singlethread_workqueue
  HID: Increase maximum report size allowed by hid_field_extract()
  HID: steam: fix deadlock with input devices.
  HID: uclogic: remove redudant duplicated null check on ver_ptr
  HID: quirks: Drop misused kernel-doc annotation
  HID: hid-asus: select CONFIG_POWER_SUPPLY
  HID: quirks: use correct format chars in dbg_hid
parents a816fd6b ce856634
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -150,6 +150,7 @@ config HID_ASUS
	tristate "Asus"
	depends on LEDS_CLASS
	depends on ASUS_WMI || ASUS_WMI=n
	select POWER_SUPPLY
	---help---
	Support for Asus notebook built-in keyboard and touchpad via i2c, and
	the Asus Republic of Gamers laptop keyboard special keys.
+3 −3
Original line number Diff line number Diff line
@@ -1301,10 +1301,10 @@ static u32 __extract(u8 *report, unsigned offset, int n)
u32 hid_field_extract(const struct hid_device *hid, u8 *report,
			unsigned offset, unsigned n)
{
	if (n > 32) {
		hid_warn(hid, "hid_field_extract() called with n (%d) > 32! (%s)\n",
	if (n > 256) {
		hid_warn(hid, "hid_field_extract() called with n (%d) > 256! (%s)\n",
			 n, current->comm);
		n = 32;
		n = 256;
	}

	return __extract(report, offset, n);
+5 −0
Original line number Diff line number Diff line
@@ -1060,10 +1060,15 @@ static int hid_debug_rdesc_show(struct seq_file *f, void *p)
	seq_printf(f, "\n\n");

	/* dump parsed data and input mappings */
	if (down_interruptible(&hdev->driver_input_lock))
		return 0;

	hid_dump_device(hdev, f);
	seq_printf(f, "\n");
	hid_dump_input_mapping(hdev, f);

	up(&hdev->driver_input_lock);

	return 0;
}

+1 −0
Original line number Diff line number Diff line
@@ -1083,6 +1083,7 @@
#define USB_DEVICE_ID_SYNAPTICS_HD	0x0ac3
#define USB_DEVICE_ID_SYNAPTICS_QUAD_HD	0x1ac3
#define USB_DEVICE_ID_SYNAPTICS_TP_V103	0x5710
#define I2C_DEVICE_ID_SYNAPTICS_7E7E	0x7e7e

#define USB_VENDOR_ID_TEXAS_INSTRUMENTS	0x2047
#define USB_DEVICE_ID_TEXAS_INSTRUMENTS_LENOVO_YOGA	0x0855
+1 −0
Original line number Diff line number Diff line
@@ -998,6 +998,7 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
		case 0x1b8: map_key_clear(KEY_VIDEO);		break;
		case 0x1bc: map_key_clear(KEY_MESSENGER);	break;
		case 0x1bd: map_key_clear(KEY_INFO);		break;
		case 0x1cb: map_key_clear(KEY_ASSISTANT);	break;
		case 0x201: map_key_clear(KEY_NEW);		break;
		case 0x202: map_key_clear(KEY_OPEN);		break;
		case 0x203: map_key_clear(KEY_CLOSE);		break;
Loading