- 19 Oct, 2016 1 commit
-
-
Patrick Scheuring authored
The Schenker XMG C504 is a rebranded Gigabyte P35 v2 laptop. Therefore it also needs a keyboard reset to detect the Elantech touchpad. Otherwise the touchpad appears to be dead. With this patch the touchpad is detected: $ dmesg | grep -E "(i8042|Elantech|elantech)" [ 2.675399] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12 [ 2.680372] i8042: Attempting to reset device connected to KBD port [ 2.789037] serio: i8042 KBD port at 0x60,0x64 irq 1 [ 2.791586] serio: i8042 AUX port at 0x60,0x64 irq 12 [ 2.813840] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input4 [ 3.811431] psmouse serio1: elantech: assuming hardware version 4 (with firmware version 0x361f0e) [ 3.825424] psmouse serio1: elantech: Synaptics capabilities query result 0x00, 0x15, 0x0f. [ 3.839424] psmouse serio1: elantech: Elan sample query result 03, 58, 74 [ 3.911349] input: ETPS/2 Elantech Touchpad as /devices/platform/i8042/serio1/input/input6 Signed-off-by:
Patrick Scheuring <patrick.scheuring.dev@gmail.com> Cc: stable@vger.kernel.org Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 14 Oct, 2016 1 commit
-
-
Dmitry Torokhov authored
Prepare second round of input updates for 4.9 merge window.
-
- 11 Oct, 2016 2 commits
-
-
Marcos Paulo de Souza authored
On suspend/resume cycle, selftest is executed to reset i8042 controller. But when this is done in Asus devices, subsequent calls to detect/init functions to elantech driver fails. Skipping selftest fixes this problem. An easier step to reproduce this problem is adding i8042.reset=1 as a kernel parameter. On Asus laptops, it'll make the system to start with the touchpad already stuck, since psmouse_probe forcibly calls the selftest function. This patch was inspired by John Hiesey's change[1], but, since this problem affects a lot of models of Asus, let's avoid running selftests on them. All models affected by this problem: A455LD K401LB K501LB K501LX R409L V502LX X302LA X450LCP X450LD X455LAB X455LDB X455LF Z450LA [1]: https://marc.info/?l=linux-input&m=144312209020616&w=2 Fixes: "ETPS/2 Elantech Touchpad dies after resume from suspend" (https://bugzilla.kernel.org/show_bug.cgi?id=107971) Signed-off-by:
Marcos Paulo de Souza <marcos.souza.org@gmail.com> Cc: stable@vger.kernel.org Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Sangwon Jee authored
Add ic_name sysfs attribute for retrieving IC model name. Signed-off-by:
Sangwon Jee <jeesw@melfas.com> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 07 Oct, 2016 3 commits
-
-
Sangwon Jee authored
Add maintainer information. Signed-off-by:
Sangwon Jee <jeesw@melfas.com> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Sangwon Jee authored
Add devicetree binding documentations. Signed-off-by:
Sangwon Jee <jeesw@melfas.com> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Dmitry Torokhov authored
Another Lifebook machine that needs the same quirk as other similar models to make the driver working. Also let's reorder elantech_dmi_force_crc_enabled list so LIfebook enries are in alphabetical order. Reported-by:
William Linna <william.linna@gmail.com> Tested-by:
William Linna <william.linna@gmail.com> Reviewed-by:
Benjamin Tissoires <benjamin.tissoires@redhat.com> Cc: stable@vger.kernel.org Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 04 Oct, 2016 9 commits
-
-
Guenter Roeck authored
Instantiating the rmi4 I2C transport driver without interrupts assigned (for example using manual i2c instantiation from the command line) caused the driver to fail to load, but it does not clean up its regulator or transport device registrations. Result is a crash at a later time, for example when rebooting the system. Fixes: 946c8432 ("Input: synaptics-rmi4 - support regulator supplies") Cc: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by:
Guenter Roeck <linux@roeck-us.net> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Guenter Roeck authored
Instantiating the rmi4 SPI transport driver without an interrupt assigned caused the driver to fail to load, but it does not clean up its transport device registration. Result may be a crash at a later time, for example when rebooting the system. Fixes: 8d99758d ("Input: synaptics-rmi4 - add SPI transport driver") Signed-off-by:
Guenter Roeck <linux@roeck-us.net> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Ben Gamari authored
Tested-by:
Michal Hocko <mhocko@suse.com> Signed-off-by:
Ben Gamari <ben@smart-cactus.org> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Ben Gamari authored
Here we introduce logic in alps_identify to set the ALPS_DUALPOINT flag for touchpad hardware responding to E7 report with 73 03 28, as is found in the Dell Latitude E7470. Tested-by:
Michal Hocko <mhocko@suse.com> Signed-off-by:
Ben Gamari <ben@smart-cactus.org> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Ben Gamari authored
The SS5 hardware can report this. Tested-by:
Michal Hocko <mhocko@suse.com> Signed-off-by:
Ben Gamari <ben@smart-cactus.org> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Ben Gamari authored
While a button is held SS5 hardware will give us single-finger packets with x, y, and pressure equal to zero. This causes annoying jumps in pointer position if a touch is released while the button is held. Handle this by claiming zero contacts to ensure that no position events are provided to the user. Reviewed-by:
Pali Rohár <pali.rohar@gmail.com> Tested-by:
Michal Hocko <mhocko@suse.com> Signed-off-by:
Ben Gamari <ben@smart-cactus.org> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Ben Gamari authored
Add touchstick support for the so-called SS5 hardware, which uses a variant of the SS4 protocol. Reviewed-by:
Pali Rohár <pali.rohar@gmail.com> Tested-by:
Michal Hocko <mhocko@suse.com> Signed-off-by:
Ben Gamari <ben@smart-cactus.org> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Matti Kurkela authored
Just like Fujitsu CELSIUS H730, the H760 also has an Elantech touchpad with the same quirks. Without this patch, the touchpad is useless out-of-the-box as the mouse pointer won't move. This patch makes the driver aware of both the crc_enabled=1 requirement and the middle button, making the touchpad fully functional out-of-the-box. Signed-off-by:
Matti Kurkela <Matti.Kurkela@iki.fi> Cc: stable@vger.kernel.org Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Marcos Paulo de Souza authored
Signed-off-by:
Marcos Paulo de Souza <marcos.souza.org@gmail.com> Reviewed-by:
Ulrik De Bie <ulrik.debie-os@e2big.org> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 03 Oct, 2016 3 commits
-
-
Dmitry Torokhov authored
Prepare first round of input updates for 4.9 merge window.
-
Benjamin Tissoires authored
i2c_smbus_read_block_data() returns negative errno else the number of data bytes in the slave's response. Checking for error not null means the function always fails if the device answers properly. So given that we read 3 bytes and access those, better check that we actually read those 3 bytes. Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Arnd Bergmann authored
The newly added ektf2127 driver uses the SIMPLE_DEV_PM_OPS macro to conditionally refer to the resume/suspend functions, which causes a warning when CONFIG_PM_SLEEP is disabled: drivers/input/touchscreen/ektf2127.c:168:12: error: 'ektf2127_resume' defined but not used [-Werror=unused-function] drivers/input/touchscreen/ektf2127.c:156:12: error: 'ektf2127_suspend' defined but not used [-Werror=unused-function] We could either put these functions inside of an #ifdef or add __maybe_unused annotations. This uses the second approach, which is generally more foolproof. Fixes: 9ca5bf50 ("Input: add support for Elan eKTF2127 touchscreen controller") Signed-off-by:
Arnd Bergmann <arnd@arndb.de> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 27 Sep, 2016 3 commits
-
-
Ville Ranki authored
Current implementation of joydev's input_device_id table recognizes only devices with ABS_X, ABS_WHEEL or ABS_THROTTLE axes as joysticks. There are joystick devices that do not have those axes, for example TRC Rudder device. The device in question has ABS_Z, ABS_RX and ABS_RY axes causing it not being detected as joystick. This patch adds ABS_Z to the input_device_id list allowing devices with ABS_Z axis to be detected correctly. Signed-off-by:
Ville Ranki <ville.ranki@iki.fi> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Axel Lin authored
Current code uses devm_input_allocate_device() so don't explicitly call input_free_device if input_register_device fails. Signed-off-by:
Axel Lin <axel.lin@ingics.com> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Siebren Vroegindeweij authored
This adds a driver for the Elan eKTF2127 touchscreen controller, which speaks an i2c protocol which is distinctly different from the already supported eKTH controllers. Signed-off-by:
Michel Verlaan <michel.verl@gmail.com> Signed-off-by:
Siebren Vroegindeweij <siebren.vroegindeweij@hotmail.com> Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Acked-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 21 Sep, 2016 1 commit
-
-
Hans Verkuil authored
The Pulse-Eight USB CEC adapter is a usb device that shows up as a ttyACM0 device. It requires that you run inputattach in order to communicate with it via serio. This all works well, but it would be nice to have a udev rule to automatically start inputattach. That too works OK, but the problem comes when the USB device is unplugged: the tty hangup is never handled by the serio framework so the inputattach utility never exits and you have to kill it manually. By adding this hangup callback the inputattach utility now properly exits as soon as the USB device is unplugged. The udev rule I used on my Debian sid system is: SUBSYSTEM=="tty", KERNEL=="ttyACM[0-9]*", ATTRS{idVendor}=="2548", ATTRS{idProduct}=="1002", ACTION=="add", TAG+="systemd", ENV{SYSTEMD_WANTS}+="pulse8-cec-inputattach@%k.service" And /etc/systemd/system/pulse8-cec-inputattach@.service is as follows: =============================================================== [Unit] Description=inputattach for pulse8-cec device on %I [Service] Type=simple ExecStart=/usr/local/bin/inputattach --pulse8-cec /dev/%I KillMode=process =============================================================== Signed-off-by:
Hans Verkuil <hans.verkuil@cisco.com> Tested-by:
Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 10 Sep, 2016 5 commits
-
-
Hans de Goede authored
The silead touch-controller ICs use a different firmware per digitizer / tablet model. So there are going to be quite a few of then and they really should be under a separate subdir. This commit prefixes the default firmware names with "silead/" just like we are already doing for devicetree specified firmware names. Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Hans de Goede authored
The driver has supported touchscreen-fw-name to specify the firmware to load since it has been merged, but this was omitted from the dt-binding documentation. During review of adding touchscreen-fw-name to the binding documentation it was brought up that there is a standard property name called "firmware-name" for this, which should be used. Since there are no users of touchscreen-fw-name yet, this commit adds documentation of "firmware-name" to the dt-binding documentation and switches the driver over to use this. This commit also makes the driver add a "silead/" prefix to the firmware name from dt before calling request_firmware. That the firmware files are stored under /lib/firmware/silead under Linux is an implementation detail and does not belong in devicetree. Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Acked-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Marcin Niestroj authored
The power button found in tps65217 device is very similar to the tps65218, so let's enhance the driver to support both variants. This driver enables us to use tps65217's power button as KEY_POWER on am335x boards (directly connected button in chiliboard, accessible pin via expansion header in beaglebone). This patch has been tested with chiliboard. Signed-off-by:
Marcin Niestroj <m.niestroj@grinn-global.com> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Russell King authored
Switch the jornada720 touchscreen driver to obtain its gpio from the platform device via gpiolib and derive the interrupt from the GPIO, rather than via a hard-coded interrupt number obtained from the mach/irqs.h and mach/hardware.h headers. Tested-by:
Adam Wysocki <armlinux@chmurka.net> Signed-off-by:
Russell King <rmk+kernel@armlinux.org.uk> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Russell King authored
The Jornada720 keyboard driver does not make use of anything from the mach/hardware.h header, so this header can be removed. Tested-by:
Adam Wysocki <armlinux@chmurka.net> Signed-off-by:
Russell King <rmk+kernel@armlinux.org.uk> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 05 Sep, 2016 3 commits
-
-
Baoyou Xie authored
We get 1 warning when building kernel with W=1: drivers/input/mouse/focaltech.c:393:6: warning: no previous prototype for 'focaltech_set_resolution' [-Wmissing-prototypes] In fact, this function is only used in the file in which it is declared and don't need a declaration, but can be made static. So this patch marks it 'static'. Signed-off-by:
Baoyou Xie <baoyou.xie@linaro.org> Acked-by:
Arnd Bergmann <arnd@arndb.de> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
HungNien Chen authored
The spec says that flash erase time is 30ms typical/200ms max, so let's replace current 50ms wait with 200ms to avoid potential failures. Signed-off-by:
HungNien Chen <hn.chen@weidahitech.com> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Vladimir Zapolskiy authored
The change corrects an example in device tree documentation section, because button/key device nodes don't contain reg property there is no need to declare unit-address, and address and size cell properties are also redundant. At the moment a compilation of the hypothetical original example should produce W=1 level warnings, and it is better to stop spreading misusage of the polled gpio keys device tree binding through this example. Signed-off-by:
Vladimir Zapolskiy <vz@mleia.com> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 30 Aug, 2016 2 commits
-
-
Vignesh R authored
Add a driver to read group of GPIO lines and provide its status as a numerical value as input event to the system. This will help in interfacing devices, that can be connected over GPIOs, that provide input to the system by driving GPIO lines connected to them like a rotary dial or a switch. For example, a rotary switch can be connected to four GPIO lines. The status of the GPIO lines reflect the actual position of the rotary switch dial. For example, if dial points to 9, then the four GPIO lines connected to the switch will read HLLH(0b'1001 = 9). This value can be reported as an ABS_* event to the input subsystem. Signed-off-by:
Vignesh R <vigneshr@ti.com> Acked-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Alexandre Belloni authored
A common way of multiplexing buttons on a single input in cheap devices is to use a resistor ladder on an ADC. This driver supports that configuration by polling an ADC channel provided by IIO. Acked-by:
Jonathan Cameron <jic23@kernel.org> Signed-off-by:
Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 25 Aug, 2016 5 commits
-
-
Martin Kepplinger authored
According to the kernel's guidelines, let's directly include the workqueue functions we use. Signed-off-by:
Martin Kepplinger <martink@posteo.de> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Johnny Chuang authored
We use hw version to construct name of file holding touchscreen firmware, so let's try reading it even if touchscreen initialization fails (the firmware supports reading product/hardware id even when device is in recovery/boot mode). Signed-off-by:
Johnny Chuang <johnny.chuang@emc.com.tw> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Bhaktipriya Shridhar authored
alloc_ordered_workqueue() replaces deprecated create_singlethread_workqueue(). It queues work items via &wm->ts_reader and &wm->pen_event_work which map to wm97xx_pen_irq_worker (handles a pen down interrupt) and wm97xx_ts_reader (the touchscreen sample reader) respectively. Hence, an ordered dedicated workqueue has been used. Signed-off-by:
Bhaktipriya Shridhar <bhaktipriya96@gmail.com> Acked-by:
Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Bhaktipriya Shridhar authored
The workqueue "workqueue" has a single workitem(&priv->work) and hence doesn't require ordering. Also, it is not being used on a memory reclaim path. Hence, the singlethreaded workqueue has been replaced with the use of system_wq. System workqueues have been able to handle high level of concurrency for a long time now and hence it's not required to have a singlethreaded workqueue just to gain concurrency. Unlike a dedicated per-cpu workqueue created with create_singlethread_workqueue(), system_wq allows multiple work items to overlap executions even on the same CPU; however, a per-cpu workqueue doesn't have any CPU locality or global ordering guarantee unless the target CPU is explicitly specified and thus the increase of local concurrency shouldn't make any difference. Workitem is sync cancelled in mc13783_ts_remove() to ensure that there are no workitems pending when the driver is disconnected. Signed-off-by:
Bhaktipriya Shridhar <bhaktipriya96@gmail.com> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Bhaktipriya Shridhar authored
alloc_ordered_workqueue() replaces the deprecated create_singlethread_workqueue(). There are multiple work items on the work queue viz &priv->dev3_register_work, &priv->recalib_wq, &psmouse->resync_work, which require execution ordering. Hence, an ordered workqueue has been used. The workqueue is not being used on a memory reclaim path. Hence, WQ_MEM_RECLAIM has not been set. Signed-off-by:
Bhaktipriya Shridhar <bhaktipriya96@gmail.com> Acked-by:
Tejun Heo <tj@kernel.org> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 22 Aug, 2016 2 commits
-
-
Dmitry Torokhov authored
Switch to using dev_dbg instead of naked printk so that output is uniform with the other driver messages in the kernel. Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Russell King authored
Switch the jornada720 keyboard driver to obtain its interrupt from the platform device, rather than via a hard-coded interrupt number obtained from the mach/irqs.h header. Signed-off-by:
Russell King <rmk+kernel@armlinux.org.uk> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-