Commit 8ad4b6fa authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull input fixes from Dmitry Torokhov:

 - fix Goodix driver to properly behave on the Aya Neo Next

 - some more sanity checks in usbtouchscreen driver

 - a tweak in wm97xx driver in preparation for remove() to return void

 - a clarification in input core regarding units of measurement for
   resolution on touch events.

* tag 'input-for-v5.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
  Input: document the units for resolution of size axes
  Input: goodix - call acpi_device_fix_up_power() in some cases
  Input: wm97xx - make .remove() obviously always return 0
  Input: usbtouchscreen - add driver_info sanity check
parents 396df700 2a96271f
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -900,6 +900,11 @@ static int goodix_add_acpi_gpio_mappings(struct goodix_ts_data *ts)
	} else {
		dev_warn(dev, "Unexpected ACPI resources: gpio_count %d, gpio_int_idx %d\n",
			 ts->gpio_count, ts->gpio_int_idx);
		/*
		 * On some devices _PS0 does a reset for us and
		 * sometimes this is necessary for things to work.
		 */
		acpi_device_fix_up_power(ACPI_COMPANION(dev));
		return -EINVAL;
	}

+3 −0
Original line number Diff line number Diff line
@@ -1654,6 +1654,9 @@ static int usbtouch_probe(struct usb_interface *intf,
	if (id->driver_info == DEVTYPE_IGNORE)
		return -ENODEV;

	if (id->driver_info >= ARRAY_SIZE(usbtouch_dev_info))
		return -ENODEV;

	endpoint = usbtouch_get_input_endpoint(intf->cur_altsetting);
	if (!endpoint)
		return -ENXIO;
+3 −1
Original line number Diff line number Diff line
@@ -758,7 +758,9 @@ static int wm97xx_mfd_probe(struct platform_device *pdev)

static int wm97xx_mfd_remove(struct platform_device *pdev)
{
	return wm97xx_remove(&pdev->dev);
	wm97xx_remove(&pdev->dev);

	return 0;
}

static int __maybe_unused wm97xx_suspend(struct device *dev)
+7 −4
Original line number Diff line number Diff line
@@ -78,10 +78,13 @@ struct input_id {
 * Note that input core does not clamp reported values to the
 * [minimum, maximum] limits, such task is left to userspace.
 *
 * The default resolution for main axes (ABS_X, ABS_Y, ABS_Z)
 * is reported in units per millimeter (units/mm), resolution
 * for rotational axes (ABS_RX, ABS_RY, ABS_RZ) is reported
 * in units per radian.
 * The default resolution for main axes (ABS_X, ABS_Y, ABS_Z,
 * ABS_MT_POSITION_X, ABS_MT_POSITION_Y) is reported in units
 * per millimeter (units/mm), resolution for rotational axes
 * (ABS_RX, ABS_RY, ABS_RZ) is reported in units per radian.
 * The resolution for the size axes (ABS_MT_TOUCH_MAJOR,
 * ABS_MT_TOUCH_MINOR, ABS_MT_WIDTH_MAJOR, ABS_MT_WIDTH_MINOR)
 * is reported in units per millimeter (units/mm).
 * When INPUT_PROP_ACCELEROMETER is set the resolution changes.
 * The main axes (ABS_X, ABS_Y, ABS_Z) are then reported in
 * units per g (units/g) and in units per degree per second