03 Aug, 2016
3 commits
-
Some ASUS laptops were shipped with touchpads that require to be woken up
first, before trying to switch them into absolute reporting mode, otherwise
touchpad would fail to work while flooding the logs with:elan_i2c i2c-ELAN1000:00: invalid report id data (1)
Among affected devices are Asus E202SA, N552VW, X456UF, UX305CA, and
others. We detect such devices by checking the IC type and product ID
numbers and adjusting order of operations accordingly.Signed-off-by: KT Liao
Reported-by: Chris Chiu
Reported-by: Vlad Glagolev
Tested-by: Vlad Glagolev
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov -
This driver adds support for Silead touchscreens. It has been tested
with GSL1680 and GSL3680 touch panels.It supports ACPI and device tree enumeration. Screen resolution,
the maximum number of fingers supported and firmware name are
configurable.Signed-off-by: Robert Dolca
Signed-off-by: Daniel Jansen
Signed-off-by: Hans de Goede
Signed-off-by: Dmitry Torokhov -
The use of mixed psmouse_printk() and printk creates 2 lines in the log,
while the use of %*ph solves everything.Signed-off-by: Benjamin Tissoires
Signed-off-by: Dmitry Torokhov
28 Jul, 2016
3 commits
-
It's not advisable to use this encoding, but to support existing devices
add support for this to the driver.Signed-off-by: Uwe Kleine-König
Acked-by: Rob Herring
Signed-off-by: Dmitry Torokhov -
When the USB wireless adapter is suspended, the controllers
lose their connection. This causes them to start flashing
their LED rings and searching for the wireless adapter
again, wasting the controller's battery power.Instead, we will tell the controllers to power down when
we suspend. This mirrors the behavior of the controllers
when connected to the console itself and how the official
Xbox One wireless adapter behaves on Windows.Signed-off-by: Cameron Gutman
Signed-off-by: Dmitry Torokhov -
As explained in 1407814240-4275-1-git-send-email-decui@microsoft.com we
have a hard load dependency between i8042 and atkbd which prevents
keyboard from working on Gen2 Hyper-V VMs.> hyperv_keyboard invokes serio_interrupt(), which needs a valid serio
> driver like atkbd.c. atkbd.c depends on libps2.c because it invokes
> ps2_command(). libps2.c depends on i8042.c because it invokes
> i8042_check_port_owner(). As a result, hyperv_keyboard actually
> depends on i8042.c.
>
> For a Generation 2 Hyper-V VM (meaning no i8042 device emulated), if a
> Linux VM (like Arch Linux) happens to configure CONFIG_SERIO_I8042=m
> rather than =y, atkbd.ko can't load because i8042.ko can't load(due to
> no i8042 device emulated) and finally hyperv_keyboard can't work and
> the user can't input: https://bugs.archlinux.org/task/39820
> (Ubuntu/RHEL/SUSE aren't affected since they use CONFIG_SERIO_I8042=y)To break the dependency we move away from using i8042_check_port_owner()
and instead allow serio port owner specify a mutex that clients should use
to serialize PS/2 command stream.Reported-by: Mark Laws
Tested-by: Mark Laws
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov
27 Jul, 2016
2 commits
-
The of_node_put() function tests whether its argument is NULL and then
returns immediately. Thus the test around the call is not needed.This issue was detected by using the Coccinelle software.
Signed-off-by: Markus Elfring
Signed-off-by: Dmitry Torokhov -
In cros_ec_keyb we stored "dev" in "struct cros_ec_keyb", but this was
the EC's dev pointer and not the keyboard's. Let's clean this up to
make it the keyboard's dev pointer. This could be useful in future
patches but also has the nice effect of changing a few printouts to
include the name of the keyboard device instead of the EC device, so we
will see:[ 1.224648] cros-ec-keyb ff110000.spi:ec@0:keyboard-controller: valid_keys[00] = 0x14
instead of:
[ 1.224505] cros-ec-spi spi0.0: valid_keys[00] = 0x14
Signed-off-by: Douglas Anderson
Signed-off-by: Brian Norris
Signed-off-by: Dmitry Torokhov
21 Jul, 2016
1 commit
-
Use memdup_user to duplicate a memory region from user-space to
kernel-space, instead of open coding using kmalloc & copy_from_user.Signed-off-by: Muhammad Falak R Wani
Reviewed-by: Samuel Thibault
Signed-off-by: Dmitry Torokhov
20 Jul, 2016
7 commits
-
Signed-off-by: Martin Kepplinger
Signed-off-by: Dmitry Torokhov -
Signed-off-by: Martin Kepplinger
Signed-off-by: Dmitry Torokhov -
We should only "put" the interface if submitting URB or setting tablet mode
in pegasus_open() fails, otherwise leave it to pegasus_close().Signed-off-by: Martin Kepplinger
Signed-off-by: Dmitry Torokhov -
Signed-off-by: Martin Kepplinger
Signed-off-by: Dmitry Torokhov -
input_mt_init_slots() may fail and we should be handling failures properly.
Signed-off-by: Ping Cheng
Signed-off-by: Peter Hutterer
Signed-off-by: Dmitry Torokhov -
Signed-off-by: Ping Cheng
Signed-off-by: Peter Hutterer
Signed-off-by: Dmitry Torokhov -
Sync up to bring in wacom_w8001 changes to avoid merge conflicts later.
16 Jul, 2016
5 commits
-
Add support for axis inversion / swapping using the new
touchscreen_parse_properties() and touchscreen_set_mt_pos()
functionality.Signed-off-by: Hans de Goede
Signed-off-by: Dmitry Torokhov -
Use the touchscreen_parse_properties() and touchscreen_report_pos() to
perform coordinates transformation, instead of DIY code, which results in a
nice cleanup.Signed-off-by: Hans de Goede
Signed-off-by: Dmitry Torokhov -
Add support for inverting / swapping axes using the new
touchscreen_parse_properties() and touchscreen_report_pos()
functionality.Signed-off-by: Hans de Goede
Signed-off-by: Dmitry Torokhov -
Extend touchscreen_parse_properties() with support for the
touchscreen-inverted-x/y and touchscreen-swapped-x-y properties and
add touchscreen_set_mt_pos() and touchscreen_report_pos() helper
functions for storing coordinates into a input_mt_pos struct, or
directly reporting them, taking these properties into account.This commit also modifies the existing callers of
touchscreen_parse_properties() to pass in NULL for the new third
argument, keeping the existing behavior.Signed-off-by: Hans de Goede
Signed-off-by: Dmitry Torokhov -
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
Signed-off-by: Dmitry Torokhov
15 Jul, 2016
5 commits
-
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
Reviewed-by: Nick Dyer
Signed-off-by: Dmitry Torokhov -
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
Reviewed-by: Benjamin Tissoires
Reviewed-by: Nick Dyer
Signed-off-by: Dmitry Torokhov -
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
Reviewed-by: Benjamin Tissoires
Reviewed-by: Nick Dyer
Signed-off-by: Dmitry Torokhov -
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
Signed-off-by: Dmitry Torokhov -
This reverts commit 5f7e5445a2de848c66d2d80ba5479197e8287c33 because
removal of input_mt_report_slot_state() means we no longer generate
tracking IDs for the reported contacts.Cc: stable@vger.kernel.org
Acked-by: Peter Hutterer
Acked-by: Ping Cheng
14 Jul, 2016
4 commits
-
Support the two supplies - vdd and vio - to make it possible to control
power to the Synaptics chip.Signed-off-by: Bjorn Andersson
Signed-off-by: Bjorn Andersson
Acked-by: Rob Herring
Reviewed-by: Andrew Duggan
Signed-off-by: Dmitry Torokhov -
Check CRC of incoming touch packets to ensure that we do not operate on
corrupted data.Signed-off-by: Jeffrey Lin
Signed-off-by: Dmitry Torokhov -
... as being the simpler variant.
Signed-off-by: Jan Beulich
Signed-off-by: Dmitry Torokhov -
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.hSigned-off-by: Masanari Iida
Signed-off-by: Dmitry Torokhov
30 Jun, 2016
2 commits
-
This prevents a malicious USB device from causing an oops.
Signed-off-by: Cameron Gutman
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov -
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
Signed-off-by: Dmitry Torokhov
24 Jun, 2016
8 commits
-
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
Reviewed-by: Thomas Hellstrom
Cc: # 4.1-
Signed-off-by: Dmitry Torokhov -
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
then basically rewritten by Jorge, but preserving the original
module author credits.Signed-off-by: Jorge Ramirez-Ortiz
[jstultz: Reworked commit message, folded in other fixes/cleanups
from Jorge, implemented some larger cleanups suggested by DmitryT]
Signed-off-by: John Stultz
Signed-off-by: Dmitry Torokhov -
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
Tested-by: Patrick Lessard
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov -
ThinkPad X60 Tablet PC (pen only device) sometime posts
packets that are larger than W8001_PKTLEN_TPCPEN.Reported-by: Chris J Arges
Tested-by: Chris J Arges
Signed-off-by: Ping Cheng
Reviewed-by: Peter Hutterer
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov -
Somehow the patch that added two-finger touch support forgot to update
W8001_MAX_LENGTH from 11 to 13.Signed-off-by: Ping Cheng
Reviewed-by: Peter Hutterer
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov -
trivial fix to spelling mistake in pr_notice message
Signed-off-by: Colin Ian King
Signed-off-by: Dmitry Torokhov -
trivial fix to spelling mistake in dev_warn message
Signed-off-by: Colin Ian King
Signed-off-by: Dmitry Torokhov -
trivial fix to spelling mistake in dev_err message
Signed-off-by: Colin Ian King
Acked-by: Thierry Reding
Signed-off-by: Dmitry Torokhov