aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-07-15Input: ts4800-ts - add missing of_node_put after calling of_parse_phandlePeter Chen1-6/+7
of_node_put needs to be called when the device node which is got from of_parse_phandle has finished using. Signed-off-by: Peter Chen <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-07-14Input: synaptics-rmi4 - use the RMI_F11_REL_BYTES define in ↵Andrew Duggan1-2/+2
rmi_f11_rel_pos_report The size of relative data in F11 is already defined by RMI_F11_REL_BYTES. Use the define in rmi_f11_rel_pos_report() to be consistent. Signed-off-by: Andrew Duggan <[email protected]> Reviewed-by: Nick Dyer <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-07-14Input: synaptics-rmi4 - remove unneeded variableAndrew Duggan1-4/+1
Remove the data_base_addr_offset variable in rmi_f11_attention(). The f11 data is read as a single block so there is no need to store an offset to the data address. Signed-off-by: Andrew Duggan <[email protected]> Reviewed-by: Benjamin Tissoires <[email protected]> Reviewed-by: Nick Dyer <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-07-14Input: synaptics-rmi4 - remove pointer to rmi_function in f12_dataAndrew Duggan1-1/+0
The pointer to struct rmi_function in f12_data is never set and was never used. The fn pointer is also stored in rmi_2d_sensor which is a member of f12_data. Signed-off-by: Andrew Duggan <[email protected]> Reviewed-by: Benjamin Tissoires <[email protected]> Reviewed-by: Nick Dyer <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-07-14Input: synaptics-rmi4 - use of_get_child_by_name() to fix refcountAndrew Duggan1-2/+2
Calling of_find_node_by_name() assumes that the caller has incremented the refcount of the of_node being passed in. Currently, the caller is not incrementing the refcount of the of_node which results in the node being prematurely freed when of_find_node_by_name() calls of_node_put() on it. Instead use of_get_child_by_name() which does not call put on the of_node. Signed-off-by: Andrew Duggan <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-07-14Revert "Input: wacom_w8001 - drop use of ABS_MT_TOOL_TYPE"Dmitry Torokhov1-0/+3
This reverts commit 5f7e5445a2de848c66d2d80ba5479197e8287c33 because removal of input_mt_report_slot_state() means we no longer generate tracking IDs for the reported contacts. Cc: [email protected] Acked-by: Peter Hutterer <[email protected]> Acked-by: Ping Cheng <[email protected]>
2016-07-13Input: synaptics-rmi4 - support regulator suppliesBjorn Andersson2-0/+55
Support the two supplies - vdd and vio - to make it possible to control power to the Synaptics chip. Signed-off-by: Bjorn Andersson <[email protected]> Signed-off-by: Bjorn Andersson <[email protected]> Acked-by: Rob Herring <[email protected]> Reviewed-by: Andrew Duggan <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-07-13Input: raydium_i2c_ts - check CRC of incoming packetsJeffrey Lin1-19/+43
Check CRC of incoming touch packets to ensure that we do not operate on corrupted data. Signed-off-by: Jeffrey Lin <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-07-13Input: xen-kbdfront - prefer xenbus_write() over xenbus_printf() where possibleJan Beulich1-4/+4
... as being the simpler variant. Signed-off-by: Jan Beulich <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-07-13Input: fix a double word "is is" in include/linux/input.hMasanari Iida1-1/+1
This patch fix a double word "is is" found in in Documentation/DocBook/device-drivers.xml. It is because the file was created from comments in sources, so I have to fix the double words in include/linux/input.h Signed-off-by: Masanari Iida <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-06-29Input: xpad - validate USB endpoint count during probeCameron Gutman1-0/+3
This prevents a malicious USB device from causing an oops. Signed-off-by: Cameron Gutman <[email protected]> Cc: [email protected] Signed-off-by: Dmitry Torokhov <[email protected]>
2016-06-29Input: add SW_PEN_INSERTED defineDouglas Anderson1-0/+1
Some devices with a pen may have a switch that can be used to detect when the pen is inserted or removed to a slot on the device. Let's add a define to the input event codes so that everyone can be on the same page for what event we should generate when the pen is inserted or removed. In general the pen switch could be used by the software on the device to kick off any number of actions when the pen is inserted or removed. Signed-off-by: Douglas Anderson <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-06-23Input: vmmouse - remove port reservationSinclair Yeh1-20/+2
The VMWare EFI BIOS will expose port 0x5658 as an ACPI resource. This causes the port to be reserved by the APCI module as the system comes up, making it unavailable to be reserved again by other drivers, thus preserving this VMWare port for special use in a VMWare guest. This port is designed to be shared among multiple VMWare services, such as the VMMOUSE. Because of this, VMMOUSE should not try to reserve this port on its own. The VMWare non-EFI BIOS does not do this to preserve compatibility with existing/legacy VMs. It is known that there is small chance a VM may be configured such that these ports get reserved by other non-VMWare devices, and if this ever happens, the result is undefined. Signed-off-by: Sinclair Yeh <[email protected]> Reviewed-by: Thomas Hellstrom <[email protected]> Cc: <[email protected]> # 4.1- Signed-off-by: Dmitry Torokhov <[email protected]>
2016-06-23Input: add powerkey driver for HISI 65xx SoCJorge Ramirez-Ortiz3-0/+152
This driver provides a input driver for the power button on the HiSi 65xx SoC for boards like HiKey. This driver was originally by Zhiliang Xue <[email protected]> then basically rewritten by Jorge, but preserving the original module author credits. Signed-off-by: Jorge Ramirez-Ortiz <[email protected]> [jstultz: Reworked commit message, folded in other fixes/cleanups from Jorge, implemented some larger cleanups suggested by DmitryT] Signed-off-by: John Stultz <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-06-23Input: elantech - add more IC body types to the listDmitry Torokhov1-7/+1
The touchpad in HP Pavilion 14-ab057ca reports it's version as 12 and according to Elan both 11 and 12 are valid IC types and should be identified as hw_version 4. Reported-by: Patrick Lessard <[email protected]> Tested-by: Patrick Lessard <[email protected]> Cc: [email protected] Signed-off-by: Dmitry Torokhov <[email protected]>
2016-06-23Input: wacom_w8001 - ignore invalid pen data packetsPing Cheng1-0/+9
ThinkPad X60 Tablet PC (pen only device) sometime posts packets that are larger than W8001_PKTLEN_TPCPEN. Reported-by: Chris J Arges <[email protected]> Tested-by: Chris J Arges <[email protected]> Signed-off-by: Ping Cheng <[email protected]> Reviewed-by: Peter Hutterer <[email protected]> Cc: [email protected] Signed-off-by: Dmitry Torokhov <[email protected]>
2016-06-23Input: wacom_w8001 - w8001_MAX_LENGTH should be 13Ping Cheng1-1/+1
Somehow the patch that added two-finger touch support forgot to update W8001_MAX_LENGTH from 11 to 13. Signed-off-by: Ping Cheng <[email protected]> Reviewed-by: Peter Hutterer <[email protected]> Cc: [email protected] Signed-off-by: Dmitry Torokhov <[email protected]>
2016-06-23Input: apanel - spelling mistake - "skiping" -> "skipping"Colin Ian King1-1/+1
trivial fix to spelling mistake in pr_notice message Signed-off-by: Colin Ian King <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-06-23Input: ams_delta_serio - fix spelling mistake: "paritiy" -> "parity"Colin Ian King1-1/+1
trivial fix to spelling mistake in dev_warn message Signed-off-by: Colin Ian King <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-06-23Input: tegra-kbc - fix spelling mistake: "porperly" -> "properly"Colin Ian King1-1/+1
trivial fix to spelling mistake in dev_err message Signed-off-by: Colin Ian King <[email protected]> Acked-by: Thierry Reding <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-06-23Input: regulator-haptic - fix spelling mistake: "dveice" -> "device"Colin Ian King1-1/+1
Trivial fix to spelling mistake Signed-off-by: Colin Ian King <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-06-23Input: xpad - fix oops when attaching an unknown Xbox One gamepadCameron Gutman1-10/+13
Xbox One controllers have multiple interfaces which all have the same class, subclass, and protocol. One of the these interfaces has only a single endpoint. When Xpad attempts to bind to this interface, it causes an oops when trying initialize the output URB by trying to access the second endpoint's descriptor. This situation was avoided for known Xbox One devices by checking the XTYPE constant associated with the VID and PID tuple. However, this breaks when new or previously unknown Xbox One controllers are attached to the system. This change addresses the problem by deriving the XTYPE for Xbox One controllers based on the interface protocol before checking the interface number. Fixes: 1a48ff81b391 ("Input: xpad - add support for Xbox One controllers") Signed-off-by: Cameron Gutman <[email protected]> Cc: [email protected] Signed-off-by: Dmitry Torokhov <[email protected]>
2016-06-18MAINTAINERS: add Pali Rohár as reviewer of ALPS PS/2 touchpad driverPali Rohár1-0/+4
Signed-off-by: Pali Rohár <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-06-18Input: psmouse - use same format for secondary devices as for primaryPali Rohár2-2/+2
This patch changes name of secondary psmouse devices to mach format of primary device. Format of primary device is "protocol vendor name" and is set by function psmouse_switch_protocol() in file psmouse-base.c. Signed-off-by: Pali Rohár <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-06-18Merge branch 'cec-defines' into for-linusDmitry Torokhov9990-248158/+507228
Let's bring in HDMI CEC defines to ease merging CEC support in the next merge window.
2016-06-18Input: add HDMI CEC specific keycodesKamil Debski1-0/+31
Add HDMI CEC specific keycodes to the keycodes definition. Signed-off-by: Kamil Debski <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-06-18Input: add BUS_CEC typeHans Verkuil1-0/+1
Inputs can come in over the HDMI CEC bus, so add a new type for this. Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-06-02Input: add Pegasus Notetaker tablet driverMartin Kepplinger3-0/+437
This adds a driver for the Pegasus Notetaker Pen. When connected, this uses the Pen as an input tablet. This device was sold in various different brandings, for example "Pegasus Mobile Notetaker M210", "Genie e-note The Notetaker", "Staedtler Digital ballpoint pen 990 01", "IRISnotes Express" or "NEWLink Digital Note Taker". Here's an example, so that you know what we are talking about: http://www.genie-online.de/genie-e-note-2/ https://pegatech.blogspot.com/ seems to be a remaining official resource. This device can also transfer saved (offline recorded handwritten) data and there are userspace programs that do this, see https://launchpad.net/m210 (Well, alternatively there are really fast scanners out there :) It's *really* fun to use as an input tablet though! So let's support this for everybody. Signed-off-by: Martin Kepplinger <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-06-01Input: xpad - fix rumble on Xbox One controllers with 2015 firmwareCameron Gutman1-8/+8
Xbox One controllers that shipped with or were upgraded to the 2015 firmware discard the current rumble packets we send. This patch changes the Xbox One rumble packet to a form that both the newer and older firmware will accept. It is based on changes made to support newer Xbox One controllers in the SteamOS brewmaster-4.1 kernel branch. Signed-off-by: Cameron Gutman <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-06-01Input: ti_am335x_tsc - use variable name for sizeof() operatorAndrew F. Davis1-1/+1
Fix the code formatting to use the kernel preferred style of using the actual variables to determize the size using the sizeof() operator. Signed-off-by: Andrew F. Davis <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-06-01Input: update input_mt_report_pointer_emulation to support hoveringKT Liao1-1/+16
For devices that are incapable of reporting per-contact distance and can only report ABS_DISTANCE, just distance is not enough for upper layers of OS to determine whether contact is leaving the area or if it is continuing hovering, we need BTN_TOOL_FINGER for that: Contact State Inactive Hovering Active (far away) (inside hover area) (touching surface) BTN_TOUCH 0 0 1 BTN_TOOL_FINGER 0 1 1 ABS_DISTANCE N/A 1 0 Signed-off-by: KT Liao <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-06-01Input: raydium_i2c_ts - do not ignore EPROBE_DEFER from gpiod_get_optionalDmitry Torokhov1-6/+5
We should not be ignoring -EPROBE_DEFER reported by devm_gpiod_get_optional(), but report it as any other error to the upper layers. While we are at it simplify check for the presence of reset GPIO and instead of using IS_ERR_OR_NULL just use boolean. Also do not return -ENOMEM from suspend handler when the device in bootloader mode as that does not make sense and switch to -EBUSY instead. Reported-by: Guenter Roeck <[email protected]> Reviewed-by: Guenter Roeck <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-05-27Input: add Raydium I2C touchscreen driverJeffrey Lin5-0/+1250
This adds support for Raydium I2C touch controllers compatible with RM32380. Signed-off-by: Jeffrey Lin <[email protected]> Acked-by: Rob Herring <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-05-27Input: pwm-beeper - fix - scheduling while atomicManfred Schlaegl1-21/+48
Pwm config may sleep so defer it using a worker. On a Freescale i.MX53 based board we ran into "BUG: scheduling while atomic" because input_inject_event locks interrupts, but imx_pwm_config_v2 sleeps. Tested on Freescale i.MX53 SoC with 4.6.0. Signed-off-by: Manfred Schlaegl <[email protected]> Cc: [email protected] Signed-off-by: Dmitry Torokhov <[email protected]>
2016-05-27Input: surface3_spi - add surface pen support for Surface 3Stephen Just1-2/+112
This change creates a second input device which will handle input from a Surface Pen. The Surface Pen supplies a different packet header than touch events, so it is simple to handle one or the other. This patch handles both the newer Surface Pen with one button, and the older variant with a second button to switch to Eraser mode. Signed-off-by: Stephen Just <[email protected]> Reviewed-and-tested-by: Benjamin Tissoires <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-05-27Input: surface3_spi - Prepare to add support for Surface PenStephen Just1-13/+26
Surface Pens can be supported by handling a second report type. Prepare for this change. Signed-off-by: Stephen Just <[email protected]> Reviewed-and-tested-by: Benjamin Tissoires <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-05-27Input: xpad - xbox one elite controller supportPavel Rojtberg1-1/+2
added the according id and incresed XPAD_PKT_LEN to 64 as the elite controller sends at least 33 byte messages [1]. Verified to be working by [2]. [1]: https://franticrain.github.io/sniffs/XboxOneSniff.html [2]: https://github.com/paroj/xpad/issues/23 Signed-off-by: Pierre-Loup A. Griffais <[email protected]> Signed-off-by: Pavel Rojtberg <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-05-27Input: xpad - add more third-party controllersPavel Rojtberg1-0/+9
Signed-off-by: Pierre-Loup A. Griffais <[email protected]> Signed-off-by: Thomas Debesse <[email protected]> Signed-off-by: aronschatz <[email protected]> Signed-off-by: Pavel Rojtberg <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-05-27Input: xpad - prevent spurious input from wired Xbox 360 controllersCameron Gutman1-0/+4
After initially connecting a wired Xbox 360 controller or sending it a command to change LEDs, a status/response packet is interpreted as controller input. This causes the state of buttons represented in byte 2 of the controller data packet to be incorrect until the next valid input packet. Wireless Xbox 360 controllers are not affected. Writing a new value to the LED device while holding the Start button and running jstest is sufficient to reproduce this bug. An event will come through with the Start button released. Xboxdrv also won't attempt to read controller input from a packet where byte 0 is non-zero. It also checks that byte 1 is 0x14, but that value differs between wired and wireless controllers and this code is shared by both. I think just checking byte 0 is enough to eliminate unwanted packets. The following are some examples of 3-byte status packets I saw: 01 03 02 02 03 00 03 03 03 08 03 00 Signed-off-by: Cameron Gutman <[email protected]> Signed-off-by: Pavel Rojtberg <[email protected]> Cc: [email protected] Signed-off-by: Dmitry Torokhov <[email protected]>
2016-05-27Input: xpad - move pending clear to the correct locationPavel Rojtberg1-1/+1
otherwise we lose ff commands: https://github.com/paroj/xpad/issues/27 Signed-off-by: Pavel Rojtberg <[email protected]> Cc: [email protected] Signed-off-by: Dmitry Torokhov <[email protected]>
2016-05-25Input: tc3589x-keypad - remove stray ')'Clifton Barnes1-1/+1
The end ')' needs to be removed if the macro is ever used or there would be a compiler error as it does not have a matching '('. Signed-off-by: Clifton Barnes <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-05-20Input: uinput - handle compat ioctl for UI_SET_PHYSRicky Liang1-0/+6
When running a 32-bit userspace on a 64-bit kernel, the UI_SET_PHYS ioctl needs to be treated with special care, as it has the pointer size encoded in the command. Signed-off-by: Ricky Liang <[email protected]> Cc: [email protected] Signed-off-by: Dmitry Torokhov <[email protected]>
2016-05-19Input: add new driver for the Surface 3Benjamin Tissoires3-0/+318
This is a basic driver for the Surface 3. I am not so sure it will work with any firmwares as most values are encoded, but given that I only have access to my current device with its firmware and I don't have the datasheet, it should be OK for now. The Surface Pen is not supported (if it is supposed to be). I'll work on this when I get one. Tested-by: Bastien Nocera <[email protected]> Signed-off-by: Benjamin Tissoires <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-05-19Input: feed more data into entropy poolDmitry Torokhov1-4/+3
Commit 4369c64c79a22 ("Input: Send events one packet at a time") significantly reduced amount of entropy input core was feeding to the rest of the system, because only the very first event in the event block would be used as source of entropy. With this change we will be calling add_input_randomness() for every event that is not filtered by the input core as a duplicate. In addition, all EV_SYN events are ignored. Acked-by: Henrik Rydberg <[email protected]> Acked-by: Benjamin Tissoires <[email protected]> Acked-by: Jiri Kosina <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-05-19Input: synaptics-rmi4 - fix spelling in definesNick Dyer1-11/+11
Signed-off-by: Nick Dyer <[email protected]> Reviewed-by: Andrew Duggan <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-05-19Input: migor-ts - mark PM functions as __maybe_unusedArnd Bergmann1-2/+2
The migor touchscreen driver is now available for COMPILE_TEST, so we run into a harmless randconfig warning on ARM when CONFIG_PM is disabled: drivers/input/touchscreen/migor_ts.c:216:12: error: 'migor_ts_resume' defined but not used [-Werror=unused-function] drivers/input/touchscreen/migor_ts.c:205:12: error: 'migor_ts_suspend' defined but not used [-Werror=unused-function] This shuts up the warning by marking the two functions as __maybe_unused. We could do the same thing by adding an #ifdef, but this version is more reliable. Signed-off-by: Arnd Bergmann <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-05-19Input: atmel_captouch - add dependence on i2cArnd Bergmann1-0/+1
The newly added Atmal captouch driver fails to build when CONFIG_I2C is disabled: drivers/input/misc/atmel_captouch.c: In function 'atmel_read': drivers/input/misc/atmel_captouch.c:115:8: error: implicit declaration of function 'i2c_transfer' [-Werror=implicit-function-declaration] This adds an explicit Kconfig dependency to prevent the broken configuration. Signed-off-by: Arnd Bergmann <[email protected]> Fixes: b06d43f7a3db ("Input: add Atmel Captouch Button driver") Signed-off-by: Dmitry Torokhov <[email protected]>
2016-05-18Input: add Atmel Captouch Button driverDaniel Hung-yu Wu4-0/+340
Add I2C driver for Atmel Capacitive Touch Button device. Signed-off-by: Hung-yu Wu <[email protected]> Signed-off-by: Grant Grundler <[email protected]> Acked-by: Rob Herring <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-05-18Input: migor-ts - allow driver to build if COMPILE_TEST is enabledJavier Martinez Canillas1-1/+1
The driver only has runtime but no build time dependency with SH_MIGOR, so it can be built for testing purposes if the COMPILE_TEST option is enabled. This is useful to have more build coverage and make sure that drivers are not affected by changes that could cause build regressions. Signed-off-by: Javier Martinez Canillas <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-05-18Input: migor-ts - fix error for modular buildJavier Martinez Canillas1-1/+1
There is a typo in the driver for the I2C device table that is passed to the MODULE_DEVICE_TABLE() macro, this leads to the following build error: CC [M] drivers/input/touchscreen//migor_ts.o drivers/input/touchscreen//migor_ts.c:233:21: error: 'migor_ts' undeclared here (not in a function) MODULE_DEVICE_TABLE(i2c, migor_ts); ^ drivers/input/touchscreen//migor_ts.c:233:31: error: '__mod_i2c__migor_ts_device_table' aliased to undefined symbol 'migor_ts' MODULE_DEVICE_TABLE(i2c, migor_ts); ^ scripts/Makefile.build:295: recipe for target 'drivers/input/touchscreen//migor_ts.o' failed make[1]: *** [drivers/input/touchscreen//migor_ts.o] Error 1 Makefile:1446: recipe for target '_module_drivers/input/touchscreen/' failed make: *** [_module_drivers/input/touchscreen/] Error 2 Signed-off-by: Javier Martinez Canillas <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>