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

Commit eb81bfb2 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files
Dmitry writes:
  "Input updates for v4.19-rc7

   - we added a few scheduling points into various input interfaces to
     ensure that large writes will not cause RCU stalls
   - fixed configuring PS/2 keyboards as wakeup devices on newer
     platforms
   - added a new Xbox gamepad ID."

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
  Input: uinput - add a schedule point in uinput_inject_events()
  Input: evdev - add a schedule point in evdev_write()
  Input: mousedev - add a schedule point in mousedev_write()
  Input: i8042 - enable keyboard wakeups by default when s2idle is used
  Input: xpad - add support for Xbox1 PDP Camo series gamepad
parents 0c53b6a5 cecf1070
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -564,6 +564,7 @@ static ssize_t evdev_write(struct file *file, const char __user *buffer,

		input_inject_event(&evdev->handle,
				   event.type, event.code, event.value);
		cond_resched();
	}

 out:
+3 −0
Original line number Diff line number Diff line
@@ -231,6 +231,7 @@ static const struct xpad_device {
	{ 0x0e6f, 0x0246, "Rock Candy Gamepad for Xbox One 2015", 0, XTYPE_XBOXONE },
	{ 0x0e6f, 0x02ab, "PDP Controller for Xbox One", 0, XTYPE_XBOXONE },
	{ 0x0e6f, 0x02a4, "PDP Wired Controller for Xbox One - Stealth Series", 0, XTYPE_XBOXONE },
	{ 0x0e6f, 0x02a6, "PDP Wired Controller for Xbox One - Camo Series", 0, XTYPE_XBOXONE },
	{ 0x0e6f, 0x0301, "Logic3 Controller", 0, XTYPE_XBOX360 },
	{ 0x0e6f, 0x0346, "Rock Candy Gamepad for Xbox One 2016", 0, XTYPE_XBOXONE },
	{ 0x0e6f, 0x0401, "Logic3 Controller", 0, XTYPE_XBOX360 },
@@ -530,6 +531,8 @@ static const struct xboxone_init_packet xboxone_init_packets[] = {
	XBOXONE_INIT_PKT(0x0e6f, 0x02ab, xboxone_pdp_init2),
	XBOXONE_INIT_PKT(0x0e6f, 0x02a4, xboxone_pdp_init1),
	XBOXONE_INIT_PKT(0x0e6f, 0x02a4, xboxone_pdp_init2),
	XBOXONE_INIT_PKT(0x0e6f, 0x02a6, xboxone_pdp_init1),
	XBOXONE_INIT_PKT(0x0e6f, 0x02a6, xboxone_pdp_init2),
	XBOXONE_INIT_PKT(0x24c6, 0x541a, xboxone_rumblebegin_init),
	XBOXONE_INIT_PKT(0x24c6, 0x542a, xboxone_rumblebegin_init),
	XBOXONE_INIT_PKT(0x24c6, 0x543a, xboxone_rumblebegin_init),
+1 −0
Original line number Diff line number Diff line
@@ -598,6 +598,7 @@ static ssize_t uinput_inject_events(struct uinput_device *udev,

		input_event(udev->dev, ev.type, ev.code, ev.value);
		bytes += input_event_size();
		cond_resched();
	}

	return bytes;
+1 −0
Original line number Diff line number Diff line
@@ -707,6 +707,7 @@ static ssize_t mousedev_write(struct file *file, const char __user *buffer,
		mousedev_generate_response(client, c);

		spin_unlock_irq(&client->packet_lock);
		cond_resched();
	}

	kill_fasync(&client->fasync, SIGIO, POLL_IN);
+20 −9
Original line number Diff line number Diff line
@@ -1395,7 +1395,9 @@ static void __init i8042_register_ports(void)
	for (i = 0; i < I8042_NUM_PORTS; i++) {
		struct serio *serio = i8042_ports[i].serio;

		if (serio) {
		if (!serio)
			continue;

		printk(KERN_INFO "serio: %s at %#lx,%#lx irq %d\n",
			serio->name,
			(unsigned long) I8042_DATA_REG,
@@ -1403,7 +1405,16 @@ static void __init i8042_register_ports(void)
			i8042_ports[i].irq);
		serio_register_port(serio);
		device_set_wakeup_capable(&serio->dev, true);
		}

		/*
		 * On platforms using suspend-to-idle, allow the keyboard to
		 * wake up the system from sleep by enabling keyboard wakeups
		 * by default.  This is consistent with keyboard wakeup
		 * behavior on many platforms using suspend-to-RAM (ACPI S3)
		 * by default.
		 */
		if (pm_suspend_via_s2idle() && i == I8042_KBD_PORT_NO)
			device_set_wakeup_enable(&serio->dev, true);
	}
}

Loading