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

Commit ede2e7cd authored by Dmitry Torokhov's avatar Dmitry Torokhov
Browse files

Merge branch 'next' into for-linus

Prepare input updates for 4.13 merge window.
parents 97689352 65938133
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
* D-Link DIR-685 Touchkeys

This is a I2C one-off touchkey controller based on the Cypress Semiconductor
CY8C214 MCU with some firmware in its internal 8KB flash. The circuit
board inside the router is named E119921.

The touchkey device node should be placed inside an I2C bus node.

Required properties:
- compatible: must be "dlink,dir685-touchkeys"
- reg: the I2C address of the touchkeys
- interrupts: reference to the interrupt number

Example:

touchkeys@26 {
	compatible = "dlink,dir685-touchkeys";
	reg = <0x26>;
	interrupt-parent = <&gpio0>;
	interrupts = <17 IRQ_TYPE_EDGE_FALLING>;
};
+43 −0
Original line number Diff line number Diff line
* ST-Microelectronics FingerTip touchscreen controller

The ST-Microelectronics FingerTip device provides a basic touchscreen
functionality. Along with it the user can enable the touchkey which can work as
a basic HOME and BACK key for phones.

The driver supports also hovering as an absolute single touch event with x, y, z
coordinates.

Required properties:
- compatible		: must be "st,stmfts"
- reg			: I2C slave address, (e.g. 0x49)
- interrupt-parent	: the phandle to the interrupt controller which provides
			  the interrupt
- interrupts		: interrupt specification
- avdd-supply		: analogic power supply
- vdd-supply		: power supply
- touchscreen-size-x	: see touchscreen.txt
- touchscreen-size-y	: see touchscreen.txt

Optional properties:
- touch-key-connected	: specifies whether the touchkey feature is connected
- ledvdd-supply		: power supply to the touch key leds

Example:

i2c@00000000 {

	/* ... */

	touchscreen@49 {
		compatible = "st,stmfts";
		reg = <0x49>;
		interrupt-parent = <&gpa1>;
		interrupts = <1 IRQ_TYPE_NONE>;
		touchscreen-size-x = <1599>;
		touchscreen-size-y = <2559>;
		touch-key-connected;
		avdd-supply = <&ldo30_reg>;
		vdd-supply = <&ldo31_reg>;
		ledvdd-supply = <&ldo33_reg>;
	};
};
+8 −0
Original line number Diff line number Diff line
@@ -3786,6 +3786,12 @@ S: Supported
F:	drivers/input/touchscreen/cyttsp*
F:	include/linux/input/cyttsp.h

D-LINK DIR-685 TOUCHKEYS DRIVER
M:	Linus Walleij <linus.walleij@linaro.org>
L:	linux-input@vger.kernel.org
S:	Supported
F:	drivers/input/dlink-dir685-touchkeys.c

DALLAS/MAXIM DS1685-FAMILY REAL TIME CLOCK
M:	Joshua Kinard <kumba@gentoo.org>
S:	Maintained
@@ -6598,8 +6604,10 @@ S: Maintained
F:	drivers/input/
F:	include/linux/input.h
F:	include/uapi/linux/input.h
F:	include/uapi/linux/input-event-codes.h
F:	include/linux/input/
F:	Documentation/devicetree/bindings/input/
F:	Documentation/input/

INPUT MULTITOUCH (MT) PROTOCOL
M:	Henrik Rydberg <rydberg@bitmath.org>
+1 −1
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@
#include <linux/usb/r8a66597.h>
#include <linux/usb/renesas_usbhs.h>
#include <linux/i2c.h>
#include <linux/i2c/tsc2007.h>
#include <linux/platform_data/tsc2007.h>
#include <linux/spi/spi.h>
#include <linux/spi/sh_msiof.h>
#include <linux/spi/mmc_spi.h>
+6 −6
Original line number Diff line number Diff line
@@ -481,7 +481,7 @@ EXPORT_SYMBOL(input_inject_event);
void input_alloc_absinfo(struct input_dev *dev)
{
	if (!dev->absinfo)
		dev->absinfo = kcalloc(ABS_CNT, sizeof(struct input_absinfo),
		dev->absinfo = kcalloc(ABS_CNT, sizeof(*dev->absinfo),
					GFP_KERNEL);

	WARN(!dev->absinfo, "%s(): kcalloc() failed?\n", __func__);
@@ -1126,7 +1126,7 @@ static void input_seq_print_bitmap(struct seq_file *seq, const char *name,
	 * If no output was produced print a single 0.
	 */
	if (skip_empty)
		seq_puts(seq, "0");
		seq_putc(seq, '0');

	seq_putc(seq, '\n');
}
@@ -1144,7 +1144,7 @@ static int input_devices_seq_show(struct seq_file *seq, void *v)
	seq_printf(seq, "P: Phys=%s\n", dev->phys ? dev->phys : "");
	seq_printf(seq, "S: Sysfs=%s\n", path ? path : "");
	seq_printf(seq, "U: Uniq=%s\n", dev->uniq ? dev->uniq : "");
	seq_printf(seq, "H: Handlers=");
	seq_puts(seq, "H: Handlers=");

	list_for_each_entry(handle, &dev->h_list, d_node)
		seq_printf(seq, "%s ", handle->name);
@@ -1783,7 +1783,7 @@ struct input_dev *input_allocate_device(void)
	static atomic_t input_no = ATOMIC_INIT(-1);
	struct input_dev *dev;

	dev = kzalloc(sizeof(struct input_dev), GFP_KERNEL);
	dev = kzalloc(sizeof(*dev), GFP_KERNEL);
	if (dev) {
		dev->dev.type = &input_dev_type;
		dev->dev.class = &input_class;
@@ -1849,7 +1849,7 @@ struct input_dev *devm_input_allocate_device(struct device *dev)
	struct input_devres *devres;

	devres = devres_alloc(devm_input_device_release,
			      sizeof(struct input_devres), GFP_KERNEL);
			      sizeof(*devres), GFP_KERNEL);
	if (!devres)
		return NULL;

@@ -2099,7 +2099,7 @@ int input_register_device(struct input_dev *dev)

	if (dev->devres_managed) {
		devres = devres_alloc(devm_input_device_unregister,
				      sizeof(struct input_devres), GFP_KERNEL);
				      sizeof(*devres), GFP_KERNEL);
		if (!devres)
			return -ENOMEM;

Loading