| Age | Commit message (Collapse) | Author | Files | Lines |
|
Toshiba WT10A tablet bluetooth keyboard support from Hans de Goede
|
|
Fixes for Shanwan PS3 support from Hongye Yuan
|
|
Support for Maltron L90 from William Whistler
|
|
Logitech WingMan Formula GP fix from Jarrad Whitaker
|
|
|
|
Asus Transbook T100CHI and T90CHI support from NOGUCHI Hiroshi
|
|
Tested with a Waltop tablet and it seems to work fine.
Signed-off-by: Nikolai Kondrashov <[email protected]>
Signed-off-by: Benjamin Tissoires <[email protected]>
|
|
Tested with one KYE tablet and it seems to work fine.
Signed-off-by: Nikolai Kondrashov <[email protected]>
Signed-off-by: Benjamin Tissoires <[email protected]>
|
|
Tested with a couple UC-Logic tablets and it seems to work fine.
Signed-off-by: Nikolai Kondrashov <[email protected]>
Signed-off-by: Benjamin Tissoires <[email protected]>
|
|
Do not try to initialize UC-Logic tablets if the underlying device is
not a USB device, but e.g. a uhid device.
Signed-off-by: Nikolai Kondrashov <[email protected]>
Signed-off-by: Benjamin Tissoires <[email protected]>
|
|
Add support for Ugee G5 to hid-uclogic.
Signed-off-by: Nikolai Kondrashov <[email protected]>
Signed-off-by: Benjamin Tissoires <[email protected]>
|
|
Add support for converting Gray-coded rotary encoder input into dial
input compatible with HID standard. Needed for Ugee G5 support.
Signed-off-by: Nikolai Kondrashov <[email protected]>
Signed-off-by: Benjamin Tissoires <[email protected]>
|
|
Add support for inserting a Wacom pad device ID into hid-uclogic
reports. This allows reporting dial inputs in a way compatible with the
Wacom driver. Needed for Ugee G5 support in particular.
Signed-off-by: Nikolai Kondrashov <[email protected]>
Signed-off-by: Benjamin Tissoires <[email protected]>
|
|
Add support for XP-Pen Deco 01 to hid-uclogic.
Signed-off-by: Nikolai Kondrashov <[email protected]>
Signed-off-by: Benjamin Tissoires <[email protected]>
|
|
Add support for XP-Pen Star G640 to hid-uclogic.
Signed-off-by: Nikolai Kondrashov <[email protected]>
Signed-off-by: Benjamin Tissoires <[email protected]>
|
|
Add support for XP-Pen Star G540 to hid-uclogic.
Signed-off-by: Nikolai Kondrashov <[email protected]>
Signed-off-by: Benjamin Tissoires <[email protected]>
|
|
Add proper support for Ugee EX07(S) frame controls to hid-uclogic.
Signed-off-by: Nikolai Kondrashov <[email protected]>
Signed-off-by: Benjamin Tissoires <[email protected]>
|
|
Add support for Ugee M540 to hid-uclogic.
Signed-off-by: Nikolai Kondrashov <[email protected]>
Signed-off-by: Benjamin Tissoires <[email protected]>
|
|
Add support for Ugee 2150 to hid-uclogic.
Signed-off-by: Nikolai Kondrashov <[email protected]>
Signed-off-by: Benjamin Tissoires <[email protected]>
|
|
Add support for UC-Logic v2 protocol to hid-uclogic.
This adds support for a bunch of new Huion models.
Signed-off-by: Nikolai Kondrashov <[email protected]>
Signed-off-by: Benjamin Tissoires <[email protected]>
|
|
Support parsing fragmented high-resolution reports in hid-uclogic to
support v2 reporting protocol.
Signed-off-by: Nikolai Kondrashov <[email protected]>
Signed-off-by: Benjamin Tissoires <[email protected]>
|
|
Newer UC-Logic tablets, such as ones made by Huion have stopped
reporting in-range state, but they're otherwise worthy tablets. The
manufacturer was notified of the problem and promised to fix this in the
future. Meanwhile, detect pen coming in range, and emulate the reports
to the userspace, to make the tablets useable.
Signed-off-by: Nikolai Kondrashov <[email protected]>
Signed-off-by: Benjamin Tissoires <[email protected]>
|
|
Designate the current UC-Logic tablet initialization protocol v1, in
preparation for adding support for v2 protocol.
Signed-off-by: Nikolai Kondrashov <[email protected]>
Signed-off-by: Benjamin Tissoires <[email protected]>
|
|
Re-initialize UC-Logic tablets on resume. UC-Logic tablet initialization
and parameter retrieval cannot be separated for the large part, so
simply discard the retrieved parameters after initialization.
Signed-off-by: Nikolai Kondrashov <[email protected]>
Signed-off-by: Benjamin Tissoires <[email protected]>
|
|
Refactor and extract UC-Logic tablet initialization and parameter
discovery into a module. For these tablets, the major part of parameter
discovery cannot be separated from initialization so they have to be in
the same module. Define explicitly and clearly what possible quirks the
tablets may have to make the driver implementation easier and simpler.
Signed-off-by: Nikolai Kondrashov <[email protected]>
Signed-off-by: Benjamin Tissoires <[email protected]>
|
|
As hid-uclogic has a lot of report descriptors already and there's going
to be more, move them out of the driver code and into a separate module.
Signed-off-by: Nikolai Kondrashov <[email protected]>
Signed-off-by: Benjamin Tissoires <[email protected]>
|
|
Add "_UCLOGIC" to Ugee tablet device ID macros so it's clear they come
with UC-Logic vendor ID.
Signed-off-by: Nikolai Kondrashov <[email protected]>
Signed-off-by: Benjamin Tissoires <[email protected]>
|
|
Add support for ViewSonic PD1011 signature (display) pad, which is also
sold by Signotec under a different name.
Signed-off-by: Nikolai Kondrashov <[email protected]>
Signed-off-by: Benjamin Tissoires <[email protected]>
|
|
Originally contributed by Andrey Alekseenko <[email protected]>.
Signed-off-by: Andrey Alekseenko <[email protected]>
Signed-off-by: Nikolai Kondrashov <[email protected]>
Signed-off-by: Benjamin Tissoires <[email protected]>
|
|
Wacom has introduced a new pen compatible with its MobileStudio Pro and
other tablets. Although adding it to the tool ID tablet is not strictly
necessary unrecognized pens are reported as BTN_TOOL_PEN already, unless
the tablet sends the "eraser" bit, when BTN_TOOL_RUBBER is used instead),
we'll keep it updated anyway.
Signed-off-by: Jason Gerecke <[email protected]>
Signed-off-by: Benjamin Tissoires <[email protected]>
|
|
In preparation to enabling -Wimplicit-fallthrough, mark switch
cases where we are expecting to fall through.
This patch fixes the following warning:
drivers/hid/hid-roccat-kone.c: In function ‘kone_keep_values_up_to_date’:
drivers/hid/hid-roccat-kone.c:784:20: warning: this statement may fall through [-Wimplicit-fallthrough=]
kone->actual_dpi = kone->profiles[event->value - 1].
~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
startup_dpi;
~~~~~~~~~~~
drivers/hid/hid-roccat-kone.c:786:2: note: here
case kone_mouse_event_osd_profile:
^~~~
Warning level 3 was used: -Wimplicit-fallthrough=3
This patch is part of the ongoing efforts to enable
-Wimplicit-fallthrough.
Signed-off-by: Gustavo A. R. Silva <[email protected]>
Signed-off-by: Jiri Kosina <[email protected]>
|
|
Instead of using an 128-byte on-stack array to store the request, we can
instantiate the request on stack directly. This can save the stack usage of
these functions, since most of the requests are much smaller than 128 bytes.
Signed-off-by: Hong Liu <[email protected]>
Tested-by: Hongyan Song <[email protected]>
Acked-by: Srinivas Pandruvada <[email protected]>
Signed-off-by: Jiri Kosina <[email protected]>
|
|
Reading of IPC_REG_ISH_HOST_FWSTS will flush both message register
and doorbell. So move the doorbell write before reading of
IPC_REG_ISH_HOST_FWSTS.
Signed-off-by: Hong Liu <[email protected]>
Tested-by: Hongyan Song <[email protected]>
Acked-by: Srinivas Pandruvada <[email protected]>
Signed-off-by: Jiri Kosina <[email protected]>
|
|
Currently we are using one additional static variable and a spinlock to
prevent contention of writing IPC messages to ISH hardware, which is
not necessary. Once ISH is ready to accept new data, we can push new
data to hardware. This pushing of new data is already protected by
wr_processing_spinlock for contention, which is enough. So use this
spinlock to check both readiness for accepting new data and once ready
allow writing of ipc message from queue to ISH hardware.
While here, cleaned up some space after return.
Signed-off-by: Hong Liu <[email protected]>
Tested-by: Hongyan Song <[email protected]>
Acked-by: Srinivas Pandruvada <[email protected]>
Signed-off-by: Jiri Kosina <[email protected]>
|
|
When performing a warm reset in ishtp bus driver, the ishtp_cl_device
will not be removed, its fw_client still points to the already freed
ishtp_device.fw_clients array.
Later after driver finishing ishtp client enumeration, this dangling
pointer may cause driver to bind the wrong ishtp_cl_device to the new
client, causing wrong callback to be called for messages intended for
the new client.
This helps in development of firmware where frequent switching of
firmwares is required without Linux reboot.
Signed-off-by: Hong Liu <[email protected]>
Tested-by: Hongyan Song <[email protected]>
Acked-by: Srinivas Pandruvada <[email protected]>
Signed-off-by: Jiri Kosina <[email protected]>
|
|
In preparation to enabling -Wimplicit-fallthrough, mark switch
cases where we are expecting to fall through.
This patch fixes the following warning:
drivers/hid/wacom_wac.c: In function ‘wacom_setup_pen_input_capabilities’:
drivers/hid/wacom_wac.c:3506:3: warning: this statement may fall through [-Wimplicit-fallthrough=]
__clear_bit(ABS_MISC, input_dev->absbit);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/hid/wacom_wac.c:3508:2: note: here
case WACOM_MO:
^~~~
Warning level 3 was used: -Wimplicit-fallthrough=3
This patch is part of the ongoing efforts to enable
-Wimplicit-fallthrough.
Signed-off-by: Gustavo A. R. Silva <[email protected]>
Acked-by: Ping Cheng <[email protected]>
Signed-off-by: Jiri Kosina <[email protected]>
|
|
The Logitech WingMan Formula GP by default presents a combined
accelerate/brake axis, so this patch assigns it to hid-logitech in order to
benefit from the axis-splitting logic in lg4ff. There is also a fixed
report descriptor for the resulting report.
Signed-off-by: Jarrad Whitaker <[email protected]>
Signed-off-by: Jiri Kosina <[email protected]>
|
|
Add support for the trackpoint and three mouse buttons on the type cover
of the Lenovo X1 Tablet Gen3.
This is the same as with the 2nd generation Lenovo X1 Tablet.
Signed-off-by: Mikael Wikström <[email protected]>
Signed-off-by: Jiri Kosina <[email protected]>
|
|
There is a new firmware for the Steam Controller with support for BLE
connections. When using such a device with a wired connection, it
reboots itself every 10 seconds unless an application has opened it.
Doing hid_hw_open() unconditionally on probe fixes the issue, and the
code becomes simpler.
Signed-off-by: Rodrigo Rivas Costa <[email protected]>
Signed-off-by: Jiri Kosina <[email protected]>
|
|
Add battery monitoring support for Transbook T100CHI/T90CHI's Bluetooth
keyboard dock. They report rest battery level and charging status.
Signed-off-by: NOGUCHI Hiroshi <[email protected]>
Signed-off-by: Jiri Kosina <[email protected]>
|
|
Add ASUS Transbook T100CHI/T90CHI keyboard dock into battery quirk list, in
order to add specific implementation in hid-asus.
Signed-off-by: NOGUCHI Hiroshi <[email protected]>
Signed-off-by: Jiri Kosina <[email protected]>
|
|
Add Transbook T90CHI support into hid-asus.
T90CHI returns same BT vendor/product values as T100CHI, so identifies T90CHI
by name.
Signed-off-by: NOGUCHI Hiroshi <[email protected]>
Signed-off-by: Jiri Kosina <[email protected]>
|
|
The bluetooth-keyboard which comes with the Toshiba WT10A tablet uses
a couple of usage codes in the vendor specific ffbc page.
The keyboard has a vendor-id of 04f2 which maps to Chicony.
Other then adding a few keymappings for the ffbc usages, no special
handling is necessary. So rather then adding a new hid-toshiba driver,
this commit adds the ID and 2 extra key-mappings to the hid-topseed
driver. The hid-topseed driver already contains mapping for some
ffbc usages (and does nothing else) and it already binds to another
Chicony manufactured keyboard.
Signed-off-by: Hans de Goede <[email protected]>
Signed-off-by: Benjamin Tissoires <[email protected]>
|
|
The Intel ISH HID can now have other devices attached to it, not just
sensors. Hence ISH HID transport is no longer just used for sensors.
Currently the vendor and product id is hardcoded for sensors, but they
can be obtained from ISH firmware for the real device. The driver already
extract them and store as part of device_info structure in client_data.
So use vendor id/product id obtained from the ISH firmware.
Signed-off-by: Srinivas Pandruvada <[email protected]>
Signed-off-by: Benjamin Tissoires <[email protected]>
|
|
Ring buffer implementation in hid_debug_event() and hid_debug_events_read()
is strange allowing lost or corrupted data. After commit 717adfdaf147
("HID: debug: check length before copy_to_user()") it is possible to enter
an infinite loop in hid_debug_events_read() by providing 0 as count, this
locks up a system. Fix this by rewriting the ring buffer implementation
with kfifo and simplify the code.
This fixes CVE-2019-3819.
v2: fix an execution logic and add a comment
v3: use __set_current_state() instead of set_current_state()
Link: https://bugzilla.redhat.com/show_bug.cgi?id=1669187
Cc: [email protected] # v4.18+
Fixes: cd667ce24796 ("HID: use debugfs for events/reports dumping")
Fixes: 717adfdaf147 ("HID: debug: check length before copy_to_user()")
Signed-off-by: Vladis Dronov <[email protected]>
Reviewed-by: Oleg Nesterov <[email protected]>
Signed-off-by: Benjamin Tissoires <[email protected]>
|
|
The 'wacom_hid_usage_quirk' function is the intended home for fixing
up descriptors that are buggy or that don't quite fit the mold. Commit
578325120e was supposed to move all of these quirks but it missed the
code to handle fixup the serial number usages for AES pens. Lets move
this code out of 'wacom_wac_pen_usage_mapping' where it was previously
lurking and put it into the same place as the others.
Signed-off-by: Jason Gerecke <[email protected]>
Signed-off-by: Benjamin Tissoires <[email protected]>
|
|
Don't populate the array buf on the stack but instead make it
static. Makes the object code smaller by 43 bytes:
Before:
text data bss dec hex filename
7769 1520 0 9289 2449 drivers/hid/hid-elan.o
After:
text data bss dec hex filename
7662 1584 0 9246 241e drivers/hid/hid-elan.o
(gcc version 8.2.0 x86_64)
Signed-off-by: Colin Ian King <[email protected]>
Signed-off-by: Jiri Kosina <[email protected]>
|
|
There are new types and helpers that are supposed to be used in new code.
As a preparation to get rid of legacy types and API functions do
the conversion here.
Signed-off-by: Andy Shevchenko <[email protected]>
Reviewed-by: Christoph Hellwig <[email protected]>
Acked-by: Srinivas Pandruvada <[email protected]>
Signed-off-by: Jiri Kosina <[email protected]>
|
|
busy_clear bit
Host driver should handle interrupt mask register earlier than wake up ish FW
else there will be conditions when FW interrupt comes, host PIMR register still
not set ready, so move the interrupt mask setting before ish_wakeup.
Clear PISR busy_clear bit in ish_irq_handler. If not clear, there will be
conditions host driver received a busy_clear interrupt (before the busy_clear
mask bit is ready), it will return IRQ_NONE after check_generated_interrupt,
the interrupt will never be cleared, causing the DEVICE not sending following
IRQ.
Since PISR clear should not be called for the CHV device we do this change.
After the change, both ISH2HOST interrupt and busy_clear interrupt will be
considered as interrupt from ISH, busy_clear interrupt will return IRQ_HANDLED
from IPC_IS_BUSY check.
Signed-off-by: Song Hongyan <[email protected]>
Acked-by: Srinivas Pandruvada <[email protected]>
Signed-off-by: Jiri Kosina <[email protected]>
|
|
While using Elan touchpads, the message floods:
[ 136.138487] i2c_hid i2c-DELL08D6:00: i2c_hid_get_input: incomplete report (14/65535)
Though the message flood is annoying, the device it self works without
any issue. I suspect that the device in question takes too much time to
pull the IRQ back to high after I2C host has done reading its data.
Since the host receives all useful data, let's ignore the input report
when there's no data.
Signed-off-by: Kai-Heng Feng <[email protected]>
Signed-off-by: Benjamin Tissoires <[email protected]>
|