Commit d46971e0 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull input updates from Dmitry Torokhov:

 - support for Acer NGR 200 Controller added to xpad driver

 - xpad driver will no longer log errors about URBs at sudden disconnect

 - a fix for potential NULL dereference in cs40l50-vibra driver

 - several drivers have been switched to using scnprintf() to suppress
   warnings about potential output truncation

* tag 'input-for-v6.16-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
  Input: cs40l50-vibra - fix potential NULL dereference in cs40l50_upload_owt()
  Input: alps - use scnprintf() to suppress truncation warning
  Input: iqs7222 - explicitly define number of external channels
  Input: xpad - support Acer NGR 200 Controller
  Input: xpad - return errors from xpad_try_sending_next_out_packet() up
  Input: xpad - adjust error handling for disconnect
  Input: apple_z2 - drop default ARCH_APPLE in Kconfig
  Input: Fully open-code compatible for grepping
  dt-bindings: HID: i2c-hid: elan: Introduce Elan eKTH8D18
  Input: psmouse - switch to use scnprintf() to suppress truncation warning
  Input: lifebook - switch to use scnprintf() to suppress truncation warning
  Input: alps - switch to use scnprintf() to suppress truncation warning
  Input: atkbd - switch to use scnprintf() to suppress truncation warning
  Input: fsia6b - suppress buffer truncation warning for phys
  Input: iqs626a - replace snprintf() with scnprintf()
parents 42bb9b63 4cf65845
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -4,14 +4,14 @@
$id: http://devicetree.org/schemas/input/elan,ekth6915.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Elan eKTH6915 touchscreen controller
title: Elan I2C-HID touchscreen controllers

maintainers:
  - Douglas Anderson <dianders@chromium.org>

description:
  Supports the Elan eKTH6915 touchscreen controller.
  This touchscreen controller uses the i2c-hid protocol with a reset GPIO.
  Supports the Elan eKTH6915 and other I2C-HID touchscreen controllers.
  These touchscreen controller use the i2c-hid protocol with a reset GPIO.

allOf:
  - $ref: /schemas/input/touchscreen/touchscreen.yaml#
@@ -23,12 +23,14 @@ properties:
          - enum:
              - elan,ekth5015m
          - const: elan,ekth6915
      - items:
          - const: elan,ekth8d18
          - const: elan,ekth6a12nay
      - enum:
          - elan,ekth6915
          - elan,ekth6a12nay

  reg:
    const: 0x10
  reg: true

  interrupts:
    maxItems: 1
+1 −1
Original line number Diff line number Diff line
@@ -149,7 +149,7 @@ static int fsia6b_serio_connect(struct serio *serio, struct serio_driver *drv)
	}
	fsia6b->dev = input_dev;

	snprintf(fsia6b->phys, sizeof(fsia6b->phys), "%s/input0", serio->phys);
	scnprintf(fsia6b->phys, sizeof(fsia6b->phys), "%s/input0", serio->phys);

	input_dev->name = DRIVER_DESC;
	input_dev->phys = fsia6b->phys;
+7 −4
Original line number Diff line number Diff line
@@ -177,6 +177,7 @@ static const struct xpad_device {
	{ 0x05fd, 0x107a, "InterAct 'PowerPad Pro' X-Box pad (Germany)", 0, XTYPE_XBOX },
	{ 0x05fe, 0x3030, "Chic Controller", 0, XTYPE_XBOX },
	{ 0x05fe, 0x3031, "Chic Controller", 0, XTYPE_XBOX },
	{ 0x0502, 0x1305, "Acer NGR200", 0, XTYPE_XBOX },
	{ 0x062a, 0x0020, "Logic3 Xbox GamePad", 0, XTYPE_XBOX },
	{ 0x062a, 0x0033, "Competition Pro Steering Wheel", 0, XTYPE_XBOX },
	{ 0x06a3, 0x0200, "Saitek Racing Wheel", 0, XTYPE_XBOX },
@@ -524,6 +525,7 @@ static const struct usb_device_id xpad_table[] = {
	XPAD_XBOX360_VENDOR(0x045e),		/* Microsoft Xbox 360 controllers */
	XPAD_XBOXONE_VENDOR(0x045e),		/* Microsoft Xbox One controllers */
	XPAD_XBOX360_VENDOR(0x046d),		/* Logitech Xbox 360-style controllers */
	XPAD_XBOX360_VENDOR(0x0502),		/* Acer Inc. Xbox 360 style controllers */
	XPAD_XBOX360_VENDOR(0x056e),		/* Elecom JC-U3613M */
	XPAD_XBOX360_VENDOR(0x06a3),		/* Saitek P3600 */
	XPAD_XBOX360_VENDOR(0x0738),		/* Mad Catz Xbox 360 controllers */
@@ -1344,11 +1346,12 @@ static int xpad_try_sending_next_out_packet(struct usb_xpad *xpad)
		usb_anchor_urb(xpad->irq_out, &xpad->irq_out_anchor);
		error = usb_submit_urb(xpad->irq_out, GFP_ATOMIC);
		if (error) {
			if (error != -ENODEV)
				dev_err(&xpad->intf->dev,
					"%s - usb_submit_urb failed with result %d\n",
					__func__, error);
			usb_unanchor_urb(xpad->irq_out);
			return -EIO;
			return error;
		}

		xpad->irq_out_active = true;
+2 −2
Original line number Diff line number Diff line
@@ -1191,7 +1191,7 @@ static void atkbd_set_device_attrs(struct atkbd *atkbd)
			 "AT %s Set %d keyboard",
			 atkbd->translated ? "Translated" : "Raw", atkbd->set);

	snprintf(atkbd->phys, sizeof(atkbd->phys),
	scnprintf(atkbd->phys, sizeof(atkbd->phys),
		  "%s/input0", atkbd->ps2dev.serio->phys);

	input_dev->name = atkbd->name;
+2 −0
Original line number Diff line number Diff line
@@ -238,6 +238,8 @@ static int cs40l50_upload_owt(struct cs40l50_work *work_data)
	header.data_words = len / sizeof(u32);

	new_owt_effect_data = kmalloc(sizeof(header) + len, GFP_KERNEL);
	if (!new_owt_effect_data)
		return -ENOMEM;

	memcpy(new_owt_effect_data, &header, sizeof(header));
	memcpy(new_owt_effect_data + sizeof(header), work_data->custom_data, len);
Loading