Age | Commit message (Collapse) | Author | Files | Lines |
|
So that firmware-id matching can be used with multiplexed aux ports too.
Signed-off-by: Hans de Goede <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
The sys_vendor / product_name are somewhat generic unfortunately, so this
may lead to some false positives. But nomux usually does no harm, where as
not having it clearly is causing problems on the Avatar AVIU-145A6.
https://bugzilla.kernel.org/show_bug.cgi?id=77391
Cc: [email protected]
Reported-by: Hugo P <[email protected]>
Signed-off-by: Hans de Goede <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
https://bugzilla.kernel.org/show_bug.cgi?id=69731
Cc: [email protected]
Reported-by: Jason Robinson <[email protected]>
Signed-off-by: Hans de Goede <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
We are getting more and more reports about LG laptops not having
functioning keyboard if we try to deactivate keyboard during probe.
Given that having keyboard deactivated is merely "nice to have"
instead of a hard requirement for probing, let's disable it on all
LG boxes instead of trying to hunt down particular models.
This change is prompted by patches trying to add "LG Electronics"/"ROCKY"
and "LG Electronics"/"LW60-F27B" to the DMI list.
https://bugzilla.kernel.org/show_bug.cgi?id=77051
Cc: [email protected]
Reported-by: Jaime Velasco Juan <[email protected]>
Reported-by: Georgios Tsalikis <[email protected]>
Tested-by: Jaime Velasco Juan <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
When running a 32-bit inputattach utility in a 64-bit system, there will be
error code "inputattach: can't set device type". This is caused by the
serport device driver not supporting compat_ioctl, so that SPIOCSTYPE ioctl
fails.
Cc: [email protected]
Signed-off-by: John Sung <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
[Nick Dyer: reworked to move free of input device into separate function
and only call in paths that require it.]
Signed-off-by: Nick Dyer <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
ForcePads are found on HP EliteBook 1040 laptops. They lack any kind of
physical buttons, instead they generate primary button click when user
presses somewhat hard on the surface of the touchpad. Unfortunately they
also report primary button click whenever there are 2 or more contacts
on the pad, messing up all multi-finger gestures (2-finger scrolling,
multi-finger tapping, etc). To cope with this behavior we introduce a
delay (currently 50 msecs) in reporting primary press in case more
contacts appear.
Cc: [email protected]
Reviewed-by: Hans de Goede <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
When trying to use the matrix-keypad driver with GPIO drivers that
require nested irq handlers (e.g. I2C GPIO adapters like PCA9554),
request_irq() fails because the GPIO driver requires a threaded
interrupt handler.
Use request_any_context_irq() to be able to use any GPIO driver as
keypad driver.
Signed-off-by: Lothar Waßmann <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
In the case where the CHG/interrupt line mode is not configured correctly,
this warning is output to dmesg output for each interrupt. Downgrade the
message to debug.
Signed-off-by: Nick Dyer <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Signed-off-by: Masanari Iida <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Use the correct register address for Calibration Active and Interrupt
Enable.
Signed-off-by: Klaus Goger <[email protected]>
Acked-by: Daniel Mack <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
I've not done a full audit of all mouse drivers, I noticed these ones were
missing the POINTER property while working on the POINTING_STICK property.
Signed-off-by: Hans de Goede <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
It is useful for userspace to know that there not dealing with a regular
mouse but rather with a pointing stick (e.g. a trackpoint) so that
userspace can e.g. automatically enable middle button scrollwheel
emulation.
It is impossible to tell the difference from the evdev info without
resorting to putting a list of device / driver names in userspace, this is
undesirable.
Add a property which allows userspace to see if a device is a pointing
stick, and set it on all the pointing stick drivers.
Signed-off-by: Hans de Goede <[email protected]>
Acked-by: Benjamin Tissoires <[email protected]>
Acked-by: Peter Hutterer <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Adjust Elantech signature validation to account fo rnewer models of
touchpads.
Cc: [email protected]
Reported-and-tested-by: Màrius Monton <[email protected]>
Signed-off-by: Hans de Goede <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Some elantech v3 touchpad equipped laptops also have a trackpoint, before
this commit, these give sync errors. With this patch, the trackpoint is
provided as another input device: 'Elantech PS/2 TrackPoint'
The patch will also output messages that do not follow the expected pattern.
In the mean time I've seen 2 unknown packets occasionally:
0x04 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00
0x00 , 0x00 , 0x00 , 0x02 , 0x00 , 0x00
I don't know what those are for, but they can be safely ignored.
Currently all packets that are not known to v3 touchpad and where
packet[3] (the fourth byte) lowest nibble is 6 are now recognized as
PACKET_TRACKPOINT and processed by the new elantech_report_trackpoint.
This has been verified to work on a laptop Lenovo L530 where the
touchpad/trackpoint combined identify themselves as:
psmouse serio1: elantech: assuming hardware version 3 (with firmware version 0x350f02)
psmouse serio1: elantech: Synaptics capabilities query result 0xb9, 0x15, 0x0c.
Reviewed-by: David Herrmann <[email protected]>
Reviewed-by: Hans de Goede <[email protected]>
Signed-off-by: Ulrik De Bie <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
elantech_init() calls elantech_set_absolute_mode which sets the driver in
an absolute mode. When after this the elantech_init fails, it is best to
turn the ps/2 mouse emulation mode back on by calling psmouse_reset() so
that it can work as a regular mouse.
Reviewed-by: Hans de Goede <[email protected]>
Signed-off-by: Ulrik De Bie <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
When we fail to match data returned by E7 and EC reports we state that we
found "Unknown ALPS touchpad" whereas it is most likely it is not ALPS
touchpad at all. Change wording a bit and reduce the message to debug so
that it does not litter users logs and confuse them.
Reported-by: Paul Menzel <[email protected]>
Acked-by: Hans de Goede <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Commit f8ec894945e7d205ce62be59e55e72c4304e4739 allowed external callers
use slot dropping logic, unfortunately it also broke external users of
input_mt_is_used() as we stopped incrementing frame count unless input
device was set up to automatically drop unused slots.
Fixes: f8ec894945e7d ("Input: MT - make slot cleanup callable outside
mt_sync_frame()")
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=83081
Reported-by: Gabriele Mazzotta <[email protected]>
Tested-by: Gabriele Mazzotta <[email protected]>
Reviewed-by: Henrik Rydberg <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
kbd_res is used only when CONFIG_PCI is defined; condition its declaration as
well. This fixes the following compilation warning:
drivers/input/serio/i8042-sparcio.h:20:25: warning: ‘kbd_res’ defined but not used [-Wunused-variable]
Signed-off-by: Vincent Stehlé <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
The below patch improves the documentation for the gpio-property. Stephen
Warren has a good example here:
https://github.com/swarren/linux-tegra/commit/09789801
trackpad@4b {
compatible = "atmel,maxtouch";
reg = <0x4b>;
interrupt-parent = <&gpio>;
interrupts = <TEGRA_GPIO(W, 3) IRQ_TYPE_LEVEL_LOW>;
linux,gpio-keymap = <0 0 0 BTN_LEFT>;
};
This maps BTN_LEFT to the 4th bit of the T19 message.
Signed-off-by: Nick Dyer <[email protected]>
Acked-by: Stephen Warren <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Prepare second round of input updates for 3.17.
|
|
Somehow we ended up with a duplicate line in edt_ft5x06_register_write()
Signed-off-by: Maks Naumov <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Xbox One controllers require an initialization message to start sending
data, so xpad_init_output becomes a required function. The Xbox One
controller does not have LEDs like the Xbox 360 controller, so that
functionality is not implemented. The format of messages controlling rumble
is currently undocumented, so rumble support is not yet implemented.
Note that Xbox One controller advertises three interfaces with the same
interface class, subclass and protocol, so we have to also match against
interface number.
Signed-off-by: Ted Mielczarek <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
This should fix the following issues reported by Coverity:
*** CID 1230625: Logically dead code (DEADCODE)
/drivers/input/touchscreen/atmel_mxt_ts.c: 1692 in mxt_initialize()
*** CID 1230627: Missing break in switch (MISSING_BREAK)
/drivers/input/touchscreen/atmel_mxt_ts.c: 1436 in mxt_get_object_table()
*** CID 1230629: Out-of-bounds write (OVERRUN)
/drivers/input/touchscreen/atmel_mxt_ts.c: 1267 in mxt_update_cfg()
*** CID 1230632: Unused pointer value (UNUSED_VALUE)
/drivers/input/touchscreen/atmel_mxt_ts.c: 1211 in mxt_update_cfg()
Acked-by: Nick Dyer <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Let's split config update code a bit so it is hopefully a bit easier to
read. Also, the firmware update callback should be the entity releasing
firmware blob, not lower layers.
Signed-off-by: Dmitry Torokhov <[email protected]>
Signed-off-by: Nick Dyer <[email protected]>
|
|
I think having control flow with 2 goto/labels/flags is quite hard to read,
this version is a bit more readable IMO.
Signed-off-by: Dmitry Torokhov <[email protected]>
Signed-off-by: Nick Dyer <[email protected]>
|
|
As with ARM the ARMv8 architecture provides a cycle counter which can be
used to provide a high resolution time for the joystick driver and
silence the build warning that results from not having a precise timer
on ARMv8, making allmodconfig and allyesconfig quieter.
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
If CONFIG_PM is not set:
drivers/hid/wacom_sys.c:1436: warning: ‘wacom_reset_resume’ defined but
not used
Protect the unused functions by #ifdef CONFIG_PM to fix this.
Signed-off-by: Geert Uytterhoeven <[email protected]>
Reviewed-by: Benjamin Tissoires <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Wire up support for EVIOC{G|S}KEYCODE to allow users change key mappings
from userspace.
Reviewed-by: Daniel Mack <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
The profile sensor clickpad in a Cr-48 Chromebook does a reasonable job
of tracking individual fingers. This tracking isn't perfect, but,
experiments show that it works better than just passing "semi-mt" data
to userspace, and making userspace try to deduce where the fingers are
given a bounding box.
This patch tries to report correct two-finger positions instead of the
{(min_x, min_y), (max_x, max_y)} for profile sensor clickpads on Cr-48
chromebooks. Note that this device's firmware always reports the higher
(smaller y) finger in the "sgm" packet, and the lower (larger y) finger
in the "agm" packet. Thus, when a new finger arrives on the pad, the
kernel driver uses input core's contact tracking facilities to match
contacts with slots.
Inspired by patch by Daniel Kurtz <[email protected]> and Chung-yih
Wang <[email protected]>
Signed-off-by: Henrik Rydberg <[email protected]>
Reviewed-by: Benson Leung <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Semi-MT devices are pointers too, so let's tell that to
input_mt_init_slots(), as well as let it set up the devices as semi-MT,
instead of us doing it manually.
Reviewed-by: Daniel Kurtz <[email protected]>
Reviewed-by: Benson Leung <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Some semi-mt drivers use the slots in a manual way, but may still
want to call parts of the frame synchronization logic. This patch
makes input_mt_drop_unused callable from those drivers.
Signed-off-by: Henrik Rydberg <[email protected]>
Reviewed-by: Benson Leung <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Signed-off-by: Nick Dyer <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Now the devices show up under hid no matter the connection (for USB
and Bluetooth, not serial nor i2c).
The USB devices can now be easily found under
/sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>
The Bluetooth devices could also be found under this path since their
inclusion (April 2010), so this patch fixes the non-precise "hidraw*" path
for them.
The ABI has been unified while setting the LEDs and OLEDs. So Bluetooth
devices lost their own LED selector but use the USB sysfs attribute.
For OLEDs, Bluetooth devices handle only 1-bit images instead of 4 for USB.
The documentation has been updated to match this.
Signed-off-by: Benjamin Tissoires <[email protected]>
Reviewed-by: Ping Cheng <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Prepare first round of input updates for 3.17.
|
|
Merge large update to Wacom driver, converting it from USB to a HID
driver and unifying wired and bluetooth support, from Benjamin
Tissoires.
|
|
Putting the various MODULE_* makes them appear several times in modinfo
because wacom.h is used both in wacom_sys.c and wacom_wac.h.
Having the macros near the module declaration makes them appear only once.
Add also MODULE_VERSION(DRIVER_VERSION) to export the current version
number.
Signed-off-by: Benjamin Tissoires <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Bluetooth Wacom tablets are now handled by the regular wacom.ko driver.
Remove the now useless hid-wacom driver.
Signed-off-by: Benjamin Tissoires <[email protected]>
Reviewed-by: Ping Cheng <[email protected]>
Tested-by: Przemo Firszt <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Reviewed-by: Ping Cheng <[email protected]>
Tested-by: Przemo Firszt <[email protected]>
Signed-off-by: Benjamin Tissoires <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Every call of wacom_set_report was passing "id" as a separate parameter
and buffer also passed the same information. We can use first u8 of the
buffer instead of "id"
Signed-off-by: Przemo Firszt <[email protected]>
Signed-off-by: Benjamin Tissoires <[email protected]>
Reviewed-by: Ping Cheng <[email protected]>
Tested-by: Przemo Firszt <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Bluetooth Intuos 4 use 1-bit definition while the USB ones use a 4-bits
definition. This changes the size of the raw image we receive, and thus
the kernel will only accept 1-bit images for Bluetooth and 4-bits for
USB.
Signed-off-by: Benjamin Tissoires <[email protected]>
Signed-off-by: Przemo Firszt <[email protected]>
Reviewed-by: Ping Cheng <[email protected]>
Tested-by: Przemo Firszt <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
A good point of this change is that now, the Intuos4 bluetooth can handle
the different tools (artpen, airbrush, mice), and we get a common interface
between USB and BT for accessing the LEDs/OLEDs.
Signed-off-by: Benjamin Tissoires <[email protected]>
Reviewed-by: Ping Cheng <[email protected]>
Tested-by: Przemo Firszt <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
First, merge the Graphire BT tablet.
Signed-off-by: Benjamin Tissoires <[email protected]>
Reviewed-by: Ping Cheng <[email protected]>
Tested-by: Przemo Firszt <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Now that wacom is a hid driver, there is no point in having a separate
driver for bluetooth devices. This patch prepares the common paths of
Bluetooth devices in the common wacom driver. It also adds the sysfs file
"speed" used by Bluetooth devices.
Signed-off-by: Benjamin Tissoires <[email protected]>
Reviewed-by: Ping Cheng <[email protected]>
Tested-by: Przemo Firszt <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
With this patch, we can press a key to wake up the VM after the VM executes
"echo freeze > /sys/power/state".
Signed-off-by: Dexuan Cui <[email protected]>
Signed-off-by: K. Y. Srinivasan <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
We can annotate the suspend/resume functions with '__maybe_unused' and get
rid of the ifdef, which makes the code smaller and simpler.
Signed-off-by: Fabio Estevam <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Signed-off-by: Pramod Gurav <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
This switches the driver to using managed resources to simplify error
handling and to do away with remove function.
Signed-off-by: Pramod Gurav <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Add support for querying the physical size from the touchpad for Rushmore
and v7 touchpads, and use that to tell userspace the device resolution.
Signed-off-by: Hans de Goede <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
We can annonate the suspend/resume functions with '__maybe_unused' and get
rid of the ifdef, which makes the code smaller and simpler.
Signed-off-by: Fabio Estevam <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|