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

Commit 53431d0a authored by Dmitry Torokhov's avatar Dmitry Torokhov
Browse files

Merge branch 'next' into for-linus

Prepare second round of input updates for 4.3 merge window.
parents 01b944fe ade9c1a4
Loading
Loading
Loading
Loading
+36 −0
Original line number Diff line number Diff line
* Toradex Colibri VF50 Touchscreen driver

Required Properties:
- compatible must be toradex,vf50-touchscreen
- io-channels: adc channels being used by the Colibri VF50 module
- xp-gpios: FET gate driver for input of X+
- xm-gpios: FET gate driver for input of X-
- yp-gpios: FET gate driver for input of Y+
- ym-gpios: FET gate driver for input of Y-
- interrupt-parent: phandle for the interrupt controller
- interrupts: pen irq interrupt for touch detection
- pinctrl-names: "idle", "default", "gpios"
- pinctrl-0: pinctrl node for pen/touch detection state pinmux
- pinctrl-1: pinctrl node for X/Y and pressure measurement (ADC) state pinmux
- pinctrl-2: pinctrl node for gpios functioning as FET gate drivers
- vf50-ts-min-pressure: pressure level at which to stop measuring X/Y values

Example:

	touchctrl: vf50_touchctrl {
		compatible = "toradex,vf50-touchscreen";
		io-channels = <&adc1 0>,<&adc0 0>,
				<&adc0 1>,<&adc1 2>;
		xp-gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
		xm-gpios = <&gpio2 29 GPIO_ACTIVE_HIGH>;
		yp-gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
		ym-gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>;
		interrupt-parent = <&gpio0>;
		interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
		pinctrl-names = "idle","default","gpios";
		pinctrl-0 = <&pinctrl_touchctrl_idle>;
		pinctrl-1 = <&pinctrl_touchctrl_default>;
		pinctrl-2 = <&pinctrl_touchctrl_gpios>;
		vf50-ts-min-pressure = <200>;
		status = "disabled";
	};
+36 −0
Original line number Diff line number Diff line
* Freescale i.MX6UL Touch Controller

Required properties:
- compatible: must be "fsl,imx6ul-tsc".
- reg: this touch controller address and the ADC2 address.
- interrupts: the interrupt of this touch controller and ADC2.
- clocks: the root clock of touch controller and ADC2.
- clock-names; must be "tsc" and "adc".
- xnur-gpio: the X- gpio this controller connect to.
  This xnur-gpio returns to low once the finger leave the touch screen (The
  last touch event the touch controller capture).

Optional properties:
- measure-delay-time: the value of measure delay time.
  Before X-axis or Y-axis measurement, the screen need some time before
  even potential distribution ready.
  This value depends on the touch screen.
- pre-charge-time: the touch screen need some time to precharge.
  This value depends on the touch screen.

Example:
	tsc: tsc@02040000 {
		compatible = "fsl,imx6ul-tsc";
		reg = <0x02040000 0x4000>, <0x0219c000 0x4000>;
		interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&clks IMX6UL_CLK_IPG>,
			 <&clks IMX6UL_CLK_ADC2>;
		clock-names = "tsc", "adc";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_tsc>;
		xnur-gpio = <&gpio1 3 GPIO_ACTIVE_LOW>;
		measure-delay-time = <0xfff>;
		pre-charge-time = <0xffff>;
		status = "okay";
	};
+4 −9
Original line number Diff line number Diff line
@@ -290,19 +290,14 @@ static int evdev_flush(struct file *file, fl_owner_t id)
{
	struct evdev_client *client = file->private_data;
	struct evdev *evdev = client->evdev;
	int retval;

	retval = mutex_lock_interruptible(&evdev->mutex);
	if (retval)
		return retval;
	mutex_lock(&evdev->mutex);

	if (!evdev->exist || client->revoked)
		retval = -ENODEV;
	else
		retval = input_flush_device(&evdev->handle, file);
	if (evdev->exist && !client->revoked)
		input_flush_device(&evdev->handle, file);

	mutex_unlock(&evdev->mutex);
	return retval;
	return 0;
}

static void evdev_free(struct device *dev)
+0 −2
Original line number Diff line number Diff line
@@ -5,8 +5,6 @@
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 * <<Power management needs to be implemented>>.
 */

#include <linux/clk.h>
+1 −0
Original line number Diff line number Diff line
@@ -118,6 +118,7 @@ static const struct of_device_id ab8500_ponkey_match[] = {
	{ .compatible = "stericsson,ab8500-ponkey", },
	{}
};
MODULE_DEVICE_TABLE(of, ab8500_ponkey_match);
#endif

static struct platform_driver ab8500_ponkey_driver = {
Loading