28 Jul, 2016
2 commits
-
Conflicts:
drivers/hid/hid-thingm.c -
…-offload-hid-device-add' and 'for-4.8/upstream' into for-linus
11 Jul, 2016
1 commit
-
USB device
Vendor 05ac (Apple)
Device 0267 (Magic Keyboard)This keyboard supports both Bluetooth and USB connections, this patch
only covers USB.Thanks to Maxime Poulin
Signed-off-by: Jean-Gabriel Gill-Couture
Signed-off-by: Jiri Kosina
08 Jul, 2016
1 commit
-
Properly handle this __le16 value on big endian systems.
Signed-off-by: Heiner Kallweit
Signed-off-by: Jiri Kosina
07 Jul, 2016
3 commits
-
Add support for Greynut Luxafor. This device has two groups of three
independent LED's each.Successfully tested with such a device.
Signed-off-by: Heiner Kallweit
Signed-off-by: Jiri Kosina -
Add support for the HID-compliant Delcom Visual Signal Indicator
generation 2 devices.Successfully tested with part no 904000 from the family of these devices.
Signed-off-by: Heiner Kallweit
Signed-off-by: Jiri Kosina -
Delcom uses the report id to submit command information. To be able to
use the hidled framework also for Delcom devices we have to remove the
report id from struct hidled_config.Signed-off-by: Heiner Kallweit
Signed-off-by: Jiri Kosina
28 Jun, 2016
2 commits
-
The usage Confidence is mandary to Windows Precision Touchpad devices. If
it is examined in input_mapping on a WIndows Precision Touchpad, a new add
quirk MT_QUIRK_CONFIDENCE desgned for such devices will be applied to the
device. A touch with the confidence bit is not set is determined as
invalid.Tested on Dell XPS13 9343
Cc: stable@vger.kernel.org # v4.5+
Reviewed-by: Benjamin Tissoires
Tested-by: Andy Lutomirski # XPS 13 9350, BIOS 1.4.3
Signed-off-by: Allen Hung
Signed-off-by: Jiri Kosina -
This reverts commit 25a84db15b3f ("HID: multitouch: enable palm rejection
if device implements confidence usage")The commit enables palm rejection for Win8 Precision Touchpad devices but
the quirk MT_QUIRK_VALID_IS_CONFIDENCE it is using is not working very
properly. This quirk is originally designed for some WIn7 touchscreens. Use
of this for a Win8 Precision Touchpad will cause unexpected pointer jumping
problem.Cc: stable@vger.kernel.org # v4.5+
Reviewed-by: Benjamin Tissoires
Tested-by: Andy Lutomirski # XPS 13 9350, BIOS 1.4.3
Signed-off-by: Allen Hung
Signed-off-by: Jiri Kosina
24 Jun, 2016
1 commit
-
This patch validates the num_values parameter from userland during the
HIDIOCGUSAGES and HIDIOCSUSAGES commands. Previously, if the report id was set
to HID_REPORT_ID_UNKNOWN, we would fail to validate the num_values parameter
leading to a heap overflow.Cc: stable@vger.kernel.org
Signed-off-by: Scott Bauer
Signed-off-by: Jiri Kosina
23 Jun, 2016
5 commits
-
Remove an unnecessary codes.
Change input_ivent() function to appropriate function.
Add the device ID of "HID_DEVICE_ID_ALPS_U1_DUAL".[jkosina@suse.cz: removed unnecessary bitshifts of values passed
input_report_key() as spotted by Dmitry]
Signed-off-by: Masaki Ota
Reviewed-by: Dmitry Torokhov
Signed-off-by: Jiri Kosina -
Now that support for ThingM blink(1) was merged into the hid-led driver
the dedicated driver for this device can be removed.Signed-off-by: Heiner Kallweit
Acked-by: Vivien Didelot
Signed-off-by: Jiri Kosina -
Add support for ThingM blink(1) and make the dedicated ThingM driver
obsolete.Successfully tested with a blink(1) mk2.
Signed-off-by: Heiner Kallweit
Signed-off-by: Jiri Kosina -
Add support for reading data from LED devices.
Signed-off-by: Heiner Kallweit
Signed-off-by: Jiri Kosina -
Add generic support for devices with multiple independent LED's.
Signed-off-by: Heiner Kallweit
Signed-off-by: Jiri Kosina
21 Jun, 2016
1 commit
-
Add i2c_hid_shutdown for i2c-hid driver to send suspend cmd & free
irq before device shutdown.Some HW design (i.e. Umaro, a chromebook model) is that the power to
i2c hid device won't down after device shutdown. Also the i2c-hid driver
do not send suspend cmd to the hid i2c device and free its irq before
shutdown.So if We touch the touchscreen or some other i2c hid device,
the power consumtion will be go up even when the device is in shutdown
state.Though the root cause maybe a HW issue. But it seems that it is a
good pratice to set power sleep for i2c-hid device before shutdown.Signed-off-by: Guohua Zhong
Acked-By: Benjamin Tissoires
Signed-off-by: Jiri Kosina
20 Jun, 2016
3 commits
-
All devices with ALPS_JP VID are handled by hid-alps driver, hence they require
an entry in hid_have_special_driver[].Signed-off-by: Jiri Kosina
-
Kernel printf format %*ph allows to print small buffers up to 64 bytes.
Make use of it to simplify the debug output code.Signed-off-by: Heiner Kallweit
Signed-off-by: Jiri Kosina -
Calculating size of the report as sizeof(pointer) always passess the length
corresponding to the pointer type, not the underlying data report.Reported-by: kbuild test robot
Signed-off-by: Jiri Kosina
18 Jun, 2016
4 commits
-
... and therefore should be marked static.
Signed-off-by: Jiri Kosina
-
Add support Alps I2C HID Touchpad and Stick device.
Signed-off-by: Masaki Ota
Signed-off-by: Jiri Kosina -
The driver port was done carefully not to depend on USB at all, in favor of
being generic HID driver instead. Therefore there is no need to explicitly
talk about USB only in the config.Signed-off-by: Jiri Kosina
-
This patch migrates the USB LED driver to the HID subsystem.
Supported are Dream Cheeky Webmail Notifier / Friends Alert
and Riso Kagaku Webmail Notifier.Benefits:
- Avoid using USB low-level calls and use the HID subsystem instead
(as this device provides a USB HID interface)
- Use standard LED subsystem instead of proprietary sysfs entries,
this allows e.g. to use the device with features like triggersSuccessfully tested with a Dream Cheeky Webmail Notifier and a
Riso Kagaku Webmail Notifier compatible device.Signed-off-by: Heiner Kallweit
Signed-off-by: Jiri Kosina
06 Jun, 2016
1 commit
-
i2c-hid devices' suspend/resume are usually time-consuming process.
For example, the touch controller(i2c-ATML1000:00) on ASUS T100 tablet
takes about 160ms for suspending and 120ms for resuming. This patch
enables i2c-hid devices to suspend/resume asynchronously. This will
take advantage of multicore and speed up system suspend/resume process.Signed-off-by: Zhonghui Fu
Acked-by: Benjamin Tissoires
Signed-off-by: Jiri Kosina
01 Jun, 2016
3 commits
-
Many devices use userspace bluetooth stacks like BlueZ or Bluedroid in combination
with uhid. If any of these stacks is used with a HID device for which the driver
performs a HID request as part .probe (or technically another HID operation),
this results in a deadlock situation. The deadlock results in a 5 second timeout
for I/O operations in HID drivers, so isn't fatal, but none of the I/O operations
have a chance of succeeding.The root cause for the problem is that uhid only allows for one request to be
processed at a time per uhid instance and locks out other operations. This means
that if a user space is creating a new HID device through 'UHID_CREATE', which
ultimately triggers '.probe' through the HID layer. Then any HID request e.g. a
read for calibration data would trigger a HID operation on uhid again, but it
won't go out to userspace, because it is still stuck in UHID_CREATE.
In addition bluetooth stacks are typically single threaded, so they wouldn't be
able to handle any requests while waiting on uhid.Lucikly the UHID spec is somewhat flexible and allows for fixing the issue,
without breaking user space. The idea which the patch implements as discussed
with David Herrmann is to decouple adding of a hid device (which triggers .probe)
from UHID_CREATE. The work will kick off roughly once UHID_CREATE completed (or
else will wait a tiny bit of time in .probe for a lock). A HID driver has to call
HID to call 'hid_hw_start()' as part of .probe once it is ready for I/O, which
triggers UHID_START to user space. Any HID operations should function now within
.probe and won't deadlock because userspace is stuck on UHID_CREATE.We verified this patch on Bluedroid with Android 6.0 and on desktop Linux with
BlueZ stacks. Prior to the patch they had the deadlock issue.[jkosina@suse.cz: reword subject]
Signed-off-by: Roderick Colenbrander
Cc: stable@vger.kernel.org
Signed-off-by: Jiri Kosina -
The firmware found in the touch screen of an SP3 is buggy and may miss
to send lift off reports for contacts. Try to work around that issue by
using MT_QUIRK_NOT_SEEN_MEANS_UP.based on a patch from: Daniel Martin
Signed-off-by: Benjamin Tissoires
Signed-off-by: Jiri Kosina -
Flushing a work that reschedules itself is not a sensible operation. It needs
to be killed. Failure to do so leads to a kernel panic in the timer code.CC: stable@vger.kernel.org
Signed-off-by: Oliver Neukum
Reviewed-by: Benjamin Tissoires
Signed-off-by: Jiri Kosina
17 May, 2016
3 commits
-
Conflicts:
drivers/hid/usbhid/hid-quirks.c -
…or-4.7/thingm' into for-linus
03 May, 2016
2 commits
-
Commit 7e12978 ("HID: wacom: break out wacom_intuos_get_tool_type") by accident
removed stylus_in_proximity flag for Intuos series while shuffling the code
around.Fix that by reintroducing that flag setting in wacom_intuos_inout(), where
it originally was.Fixes: 7e12978 ("HID: wacom: break out wacom_intuos_get_tool_type")
Signed-off-by: Ping Cheng
Signed-off-by: Jiri Kosina -
The fuzz present on the distance and tilt axes is noticable when a puck is
present, and userspace (specifically libinput) would like the ability to
filter out the noise. To facilitate this, we assign a fuzz value of '1'
for the distance and tilt axes. This is large enough to cover most of the
natural variation in distance value as the puck is moved around, and
enough to cover the jitter in rotation (reported through tilt axes) when
the puck is left alone.Signed-off-by: Jason Gerecke
Signed-off-by: Jiri Kosina
27 Apr, 2016
1 commit
-
These devices feature multiple interfaces/endpoints: a legacy BIOS/boot
interface (endpoint 0x81), as well as 2 corsair-specific keyboard interfaces
(endpoint 0x82, 0x83 IN/0x03 OUT) and an RGB LED control interface (endpoint
0x84 IN/0x04 OUT)Because the extra 3 interfaces are not of subclass USB_INTERFACE_SUBCLASS_BOOT,
HID_QUIRK_NOGET is not automatically set on them and a 10s timeout per-endpoint
(30s per device) occurs initialising reports on boot. We configure
HID_QUIRK_NO_INIT_REPORTS for these devices.Additionally the left-side G1-G18 macro keys on the K95RGB generate output on
the un-opened 0x82/0x83 endpoints which causes the keyboard to stop responding
waiting for this event to be collected. We enable HID_QUIRK_ALWAYS_POLL to
prevent this situation from occurring.Signed-off-by: Trent Lloyd
Tested-by: SUGNIAUX Wilfried
Signed-off-by: Jiri Kosina
25 Apr, 2016
2 commits
-
Needed for v2 of the device firmware, otherwise kernel will stuck for few
seconds and throw "usb_submit_urb(ctrl) failed: -1" early on system boot.Signed-off-by: Nazar Mokrynskyi
Reviewed-by: Benjamin Tissoires
Signed-off-by: Jiri Kosina -
LED core takes care of handling failed calls to thingm_let_set.
- print error message in set_brightness_delayed or
- pass error to caller in led_set_brightness_sync
Also the error message here doesn't provide any hint what actually
went wrong. Therefore remove it.Signed-off-by: Heiner Kallweit
Reviewed-by: Benjamin Tissoires
Signed-off-by: Jiri Kosina
18 Apr, 2016
2 commits
-
Use recently introduced flag LED_HW_PLUGGABLE to avoid warnings when
the device is unplugged.Signed-off-by: Heiner Kallweit
Reviewed-by: Benjamin Tissoires
Signed-off-by: Jiri Kosina -
Simplify thingm_init_rgb by factoring out duplicated code
to thingm_init_led.Signed-off-by: Heiner Kallweit
Reviewed-by: Benjamin Tissoires
Signed-off-by: Jiri Kosina
13 Apr, 2016
1 commit
-
DTK-1651 is a display pen-only tablet
Signed-off-by: Ping Cheng
Signed-off-by: Jiri Kosina
12 Apr, 2016
1 commit
-
Pull HID fixes from Jiri Kosina:
- fix for how scaling linearization is computed in wiimote driver, by
Cyan Ogilvie- endless retry loop fix in generic USB HID core reset-resume handling,
by Alan Stern- two functional fixes affecting particular devices, and oops fix for
wacom driver, by Jason Gerecke- multitouch slot numbering fix from Gabriele Mazzotta
- a couple more small fixes on top
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
HID: wacom: Support switching from vendor-defined device mode on G9 and G11
HID: wacom: Initialize hid_data.inputmode to -1
HID: microsoft: add support for 3 more devices
HID: multitouch: Synchronize MT frame on reset_resume
HID: wacom: fix Bamboo ONE oops
HID: lenovo: Don't use stack variables for DMA buffers
HID: usbhid: fix inconsistent reset/resume/reset-resume behavior
HID: wiimote: Fix wiimote mp scale linearization
07 Apr, 2016
1 commit
-
The 'size' variable is not really needed, and we can also shift constant
in the loop body when masking off existing bits.Also we do not have to use 64 bit calculations if we take an extra
branch.[jkosina@suse.cz: fix a small error in changelog]
Suggested-by: Doug Anderson
Signed-off-by: Dmitry Torokhov
Reviewed-by: Douglas Anderson
Signed-off-by: Jiri Kosina