aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/devicetree/bindings/input/ti,drv260x.txt50
-rw-r--r--Documentation/devicetree/bindings/input/ti,drv2667.txt17
-rw-r--r--Documentation/devicetree/bindings/input/ti,palmas-pwrbutton.txt36
-rw-r--r--drivers/acpi/acpi_pnp.c2
-rw-r--r--drivers/input/gameport/gameport.c41
-rw-r--r--drivers/input/joystick/analog.c71
-rw-r--r--drivers/input/joystick/xpad.c34
-rw-r--r--drivers/input/keyboard/cros_ec_keyb.c92
-rw-r--r--drivers/input/misc/Kconfig43
-rw-r--r--drivers/input/misc/Makefile4
-rw-r--r--drivers/input/misc/drv260x.c741
-rw-r--r--drivers/input/misc/drv2667.c500
-rw-r--r--drivers/input/misc/max77693-haptic.c357
-rw-r--r--drivers/input/misc/palmas-pwrbutton.c332
-rw-r--r--drivers/input/misc/soc_button_array.c60
-rw-r--r--drivers/input/mouse/Makefile2
-rw-r--r--drivers/input/mouse/focaltech.c52
-rw-r--r--drivers/input/mouse/focaltech.h22
-rw-r--r--drivers/input/mouse/psmouse-base.c30
-rw-r--r--drivers/input/mouse/psmouse.h1
-rw-r--r--drivers/input/mouse/synaptics.c17
-rw-r--r--include/dt-bindings/input/ti-drv260x.h36
-rw-r--r--include/linux/mfd/max77693-private.h9
-rw-r--r--include/linux/platform_data/drv260x-pdata.h28
24 files changed, 2468 insertions, 109 deletions
diff --git a/Documentation/devicetree/bindings/input/ti,drv260x.txt b/Documentation/devicetree/bindings/input/ti,drv260x.txt
new file mode 100644
index 000000000000..ee09c8f4474a
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/ti,drv260x.txt
@@ -0,0 +1,50 @@
1* Texas Instruments - drv260x Haptics driver family
2
3Required properties:
4 - compatible - One of:
5 "ti,drv2604" - DRV2604
6 "ti,drv2605" - DRV2605
7 "ti,drv2605l" - DRV2605L
8 - reg - I2C slave address
9 - vbat-supply - Required supply regulator
10 - mode - Power up mode of the chip (defined in include/dt-bindings/input/ti-drv260x.h)
11 DRV260X_LRA_MODE - Linear Resonance Actuator mode (Piezoelectric)
12 DRV260X_LRA_NO_CAL_MODE - This is a LRA Mode but there is no calibration
13 sequence during init. And the device is configured for real
14 time playback mode (RTP mode).
15 DRV260X_ERM_MODE - Eccentric Rotating Mass mode (Rotary vibrator)
16 - library-sel - These are ROM based waveforms pre-programmed into the IC.
17 This should be set to set the library to use at power up.
18 (defined in include/dt-bindings/input/ti-drv260x.h)
19 DRV260X_LIB_EMPTY - Do not use a pre-programmed library
20 DRV260X_ERM_LIB_A - Pre-programmed Library
21 DRV260X_ERM_LIB_B - Pre-programmed Library
22 DRV260X_ERM_LIB_C - Pre-programmed Library
23 DRV260X_ERM_LIB_D - Pre-programmed Library
24 DRV260X_ERM_LIB_E - Pre-programmed Library
25 DRV260X_ERM_LIB_F - Pre-programmed Library
26 DRV260X_LIB_LRA - Pre-programmed LRA Library
27
28Optional properties:
29 - enable-gpio - gpio pin to enable/disable the device.
30 - vib-rated-mv - The rated voltage of the actuator in millivolts.
31 If this is not set then the value will be defaulted to
32 3.2 v.
33 - vib-overdrive-mv - The overdrive voltage of the actuator in millivolts.
34 If this is not set then the value will be defaulted to
35 3.2 v.
36Example:
37
38haptics: haptics@5a {
39 compatible = "ti,drv2605l";
40 reg = <0x5a>;
41 vbat-supply = <&vbat>;
42 enable-gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>;
43 mode = <DRV260X_LRA_MODE>;
44 library-sel = <DRV260X_LIB_LRA>;
45 vib-rated-mv = <3200>;
46 vib-overdriver-mv = <3200>;
47}
48
49For more product information please see the link below:
50http://www.ti.com/product/drv2605
diff --git a/Documentation/devicetree/bindings/input/ti,drv2667.txt b/Documentation/devicetree/bindings/input/ti,drv2667.txt
new file mode 100644
index 000000000000..996382cf994a
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/ti,drv2667.txt
@@ -0,0 +1,17 @@
1* Texas Instruments - drv2667 Haptics driver
2
3Required properties:
4 - compatible - "ti,drv2667" - DRV2667
5 - reg - I2C slave address
6 - vbat-supply - Required supply regulator
7
8Example:
9
10haptics: haptics@59 {
11 compatible = "ti,drv2667";
12 reg = <0x59>;
13 vbat-supply = <&vbat>;
14};
15
16For more product information please see the link below:
17http://www.ti.com/product/drv2667
diff --git a/Documentation/devicetree/bindings/input/ti,palmas-pwrbutton.txt b/Documentation/devicetree/bindings/input/ti,palmas-pwrbutton.txt
new file mode 100644
index 000000000000..a3dde8c30e67
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/ti,palmas-pwrbutton.txt
@@ -0,0 +1,36 @@
1Texas Instruments Palmas family power button module
2
3This module is part of the Palmas family of PMICs. For more details
4about the whole chip see:
5Documentation/devicetree/bindings/mfd/palmas.txt.
6
7This module provides a simple power button event via an Interrupt.
8
9Required properties:
10- compatible: should be one of the following
11 - "ti,palmas-pwrbutton": For Palmas compatible power on button
12- interrupt-parent: Parent interrupt device, must be handle of palmas node.
13- interrupts: Interrupt number of power button submodule on device.
14
15Optional Properties:
16
17- ti,palmas-long-press-seconds: Duration in seconds which the power
18 button should be kept pressed for Palmas to power off automatically.
19 NOTE: This depends on OTP support and POWERHOLD signal configuration
20 on platform. Valid values are 6, 8, 10 and 12.
21- ti,palmas-pwron-debounce-milli-seconds: Duration in milliseconds
22 which the power button should be kept pressed for Palmas to register
23 a press for debouncing purposes. NOTE: This depends on specific
24 Palmas variation capability. Valid values are 15, 100, 500 and 1000.
25
26Example:
27
28&palmas {
29 palmas_pwr_button: pwrbutton {
30 compatible = "ti,palmas-pwrbutton";
31 interrupt-parent = <&tps659038>;
32 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
33 ti,palmas-long-press-seconds = <12>;
34 ti,palmas-pwron-debounce-milli-seconds = <15>;
35 };
36};
diff --git a/drivers/acpi/acpi_pnp.c b/drivers/acpi/acpi_pnp.c
index 996fa1959eea..1f8b20496f32 100644
--- a/drivers/acpi/acpi_pnp.c
+++ b/drivers/acpi/acpi_pnp.c
@@ -15,8 +15,6 @@
15#include <linux/ctype.h> 15#include <linux/ctype.h>
16 16
17static const struct acpi_device_id acpi_pnp_device_ids[] = { 17static const struct acpi_device_id acpi_pnp_device_ids[] = {
18 /* soc_button_array */
19 {"PNP0C40"},
20 /* pata_isapnp */ 18 /* pata_isapnp */
21 {"PNP0600"}, /* Generic ESDI/IDE/ATA compatible hard disk controller */ 19 {"PNP0600"}, /* Generic ESDI/IDE/ATA compatible hard disk controller */
22 /* floppy */ 20 /* floppy */
diff --git a/drivers/input/gameport/gameport.c b/drivers/input/gameport/gameport.c
index 24c41ba7d4e0..e29c04e2aff4 100644
--- a/drivers/input/gameport/gameport.c
+++ b/drivers/input/gameport/gameport.c
@@ -23,6 +23,7 @@
23#include <linux/workqueue.h> 23#include <linux/workqueue.h>
24#include <linux/sched.h> /* HZ */ 24#include <linux/sched.h> /* HZ */
25#include <linux/mutex.h> 25#include <linux/mutex.h>
26#include <linux/timekeeping.h>
26 27
27/*#include <asm/io.h>*/ 28/*#include <asm/io.h>*/
28 29
@@ -30,6 +31,10 @@ MODULE_AUTHOR("Vojtech Pavlik <vojtech@ucw.cz>");
30MODULE_DESCRIPTION("Generic gameport layer"); 31MODULE_DESCRIPTION("Generic gameport layer");
31MODULE_LICENSE("GPL"); 32MODULE_LICENSE("GPL");
32 33
34static bool use_ktime = true;
35module_param(use_ktime, bool, 0400);
36MODULE_PARM_DESC(use_ktime, "Use ktime for measuring I/O speed");
37
33/* 38/*
34 * gameport_mutex protects entire gameport subsystem and is taken 39 * gameport_mutex protects entire gameport subsystem and is taken
35 * every time gameport port or driver registrered or unregistered. 40 * every time gameport port or driver registrered or unregistered.
@@ -76,6 +81,38 @@ static unsigned int get_time_pit(void)