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

Commit 251df49d authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull input updates from Dmitry Torokhov:
 "Assorted fixes and cleanups to the existing drivers plus a new driver
  for IMS Passenger Control Unit device they use for ther in-flight
  entertainment system."

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (44 commits)
  Input: trackpoint - Optimize trackpoint init to use power-on reset
  Input: apbps2 - convert to devm_ioremap_resource()
  Input: ALPS - use %ph to print buffers
  ARM - shmobile: Armadillo800EVA: Move st1232 reset pin handling
  Input: st1232 - add reset pin handling
  Input: st1232 - convert to devm_* infrastructure
  Input: MT - handle semi-mt devices in core
  Input: adxl34x - use spi_get_drvdata()
  Input: ad7877 - use spi_get_drvdata() and spi_set_drvdata()
  Input: ads7846 - use spi_get_drvdata() and spi_set_drvdata()
  Input: ims-pcu - fix a memory leak on error
  Input: sysrq - supplement reset sequence with timeout functionality
  Input: tegra-kbc - support for defining row/columns based on SoC
  Input: imx_keypad - switch to using managed resources
  Input: arc_ps2 - add support for device tree
  Input: mma8450 - fix signed 12bits to 32bits conversion
  Input: eeti_ts - remove redundant null check
  Input: edt-ft5x06 - remove redundant null check before kfree
  Input: ad714x - add CONFIG_PM_SLEEP to suspend/resume functions
  Input: adxl34x - add CONFIG_PM_SLEEP to suspend/resume functions
  ...
parents 8a72f382 bf61c884
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
Aeroflex Gaisler APBPS2 PS/2 Core, supporting Keyboard or Mouse.

The APBPS2 PS/2 core is available in the GRLIB VHDL IP core library.

Note: In the ordinary environment for the APBPS2 core, a LEON SPARC system,
these properties are built from information in the AMBA plug&play and from
bootloader settings.

Required properties:

- name : Should be "GAISLER_APBPS2" or "01_060"
- reg : Address and length of the register set for the device
- interrupts : Interrupt numbers for this device

For further information look in the documentation for the GLIB IP core library:
http://www.gaisler.com/products/grlib/grip.pdf
+30 −0
Original line number Diff line number Diff line
* AUO in-cell touchscreen controller using Pixcir sensors

Required properties:
- compatible: must be "auo,auo_pixcir_ts"
- reg: I2C address of the chip
- interrupts: interrupt to which the chip is connected
- gpios: gpios the chip is connected to
  first one is the interrupt gpio and second one the reset gpio
- x-size: horizontal resolution of touchscreen
- y-size: vertical resolution of touchscreen

Example:

	i2c@00000000 {
		/* ... */

		auo_pixcir_ts@5c {
			compatible = "auo,auo_pixcir_ts";
			reg = <0x5c>;
			interrupts = <2 0>;

			gpios = <&gpf 2 0 2>, /* INT */
				<&gpf 5 1 0>; /* RST */

			x-size = <800>;
			y-size = <600>;
		};

		/* ... */
	};
+24 −0
Original line number Diff line number Diff line
* Sitronix st1232 touchscreen controller

Required properties:
- compatible: must be "sitronix,st1232"
- reg: I2C address of the chip
- interrupts: interrupt to which the chip is connected

Optional properties:
- gpios: a phandle to the reset GPIO

Example:

	i2c@00000000 {
		/* ... */

		touchscreen@55 {
			compatible = "sitronix,st1232";
			reg = <0x55>;
			interrupts = <2 0>;
			gpios = <&gpio1 166 0>;
		};

		/* ... */
	};
+16 −0
Original line number Diff line number Diff line
* ARC PS/2 driver: PS/2 block used in some ARC FPGA's & nSIM OSCI model

Required properties:
- compatible		: "snps,arc_ps2"
- reg			: offset and length (always 0x14) of registers
- interrupts		: interrupt
- interrupt-names	: name of interrupt, must be "arc_ps2_irq"

Example:

serio@c9000400 {
	compatible = "snps,arc_ps2";
	reg = <0xc9000400 0x14>;
	interrupts = <13>;
	interrupt-names = "arc_ps2_irq";
}
+6 −1
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@
#include <linux/err.h>
#include <linux/kernel.h>
#include <linux/input.h>
#include <linux/platform_data/st1232_pdata.h>
#include <linux/irq.h>
#include <linux/platform_device.h>
#include <linux/gpio.h>
@@ -882,10 +883,15 @@ static struct platform_device i2c_gpio_device = {
};

/* I2C */
static struct st1232_pdata st1232_i2c0_pdata = {
	.reset_gpio = 166,
};

static struct i2c_board_info i2c0_devices[] = {
	{
		I2C_BOARD_INFO("st1232-ts", 0x55),
		.irq = evt2irq(0x0340),
		.platform_data = &st1232_i2c0_pdata,
	},
	{
		I2C_BOARD_INFO("wm8978", 0x1a),
@@ -1009,7 +1015,6 @@ static void __init eva_init(void)

	/* Touchscreen */
	gpio_request(GPIO_FN_IRQ10,	NULL); /* TP_INT */
	gpio_request_one(GPIO_PORT166, GPIOF_OUT_INIT_HIGH, NULL); /* TP_RST_B */

	/* GETHER */
	gpio_request(GPIO_FN_ET_CRS,		NULL);
Loading