#
b289b834 |
| 21-Sep-2023 |
Johannes Roith <johannes@gnu-linux.rocks> |
HID: mcp2200: added driver for GPIOs of MCP2200
[ Upstream commit 740329d7120f8608ead64b0f3417c02ca1d6b32f ]
Added a gpiochip compatible driver to control the 8 GPIOs of the MCP2200 by using the HI
HID: mcp2200: added driver for GPIOs of MCP2200
[ Upstream commit 740329d7120f8608ead64b0f3417c02ca1d6b32f ]
Added a gpiochip compatible driver to control the 8 GPIOs of the MCP2200 by using the HID interface.
Using GPIOs with alternative functions (GP0<->SSPND, GP1<->USBCFG, GP6<->RXLED, GP7<->TXLED) will reset the functions, if set (unset by default).
The driver was tested while also using the UART of the chip. Setting and reading the GPIOs has no effect on the UART communication. However, a reset is triggered after the CONFIGURE command. If the GPIO Direction is constantly changed, this will affect the communication at low baud rates. This is a hardware problem of the MCP2200 and is not caused by the driver.
Signed-off-by: Johannes Roith <johannes@gnu-linux.rocks> Reviewed-by: Rahul Rameshbabu <sergeantsagara@protonmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
#
0c0faa29 |
| 17-Sep-2023 |
Rahul Rameshbabu <rrameshbabu@nvidia.com> |
HID: nvidia-shield: Select POWER_SUPPLY Kconfig option
Battery information reported by the driver depends on the power supply subsystem. Select the required subsystem when the HID_NVIDIA_SHIELD Kcon
HID: nvidia-shield: Select POWER_SUPPLY Kconfig option
Battery information reported by the driver depends on the power supply subsystem. Select the required subsystem when the HID_NVIDIA_SHIELD Kconfig option is enabled.
Fixes: 3ab196f88237 ("HID: nvidia-shield: Add battery support for Thunderstrike") Signed-off-by: Rahul Rameshbabu <rrameshbabu@nvidia.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
show more ...
|
#
05857487 |
| 13-Sep-2023 |
Randy Dunlap <rdunlap@infradead.org> |
HID: nvidia-shield: add LEDS_CLASS dependency
The hid-nvidia-shield driver uses functions that are built only when LEDS_CLASS is set, so make the driver depend on that symbol to prevent build errors
HID: nvidia-shield: add LEDS_CLASS dependency
The hid-nvidia-shield driver uses functions that are built only when LEDS_CLASS is set, so make the driver depend on that symbol to prevent build errors.
riscv32-linux-ld: drivers/hid/hid-nvidia-shield.o: in function `.L11': hid-nvidia-shield.c:(.text+0x192): undefined reference to `led_classdev_unregister' riscv32-linux-ld: drivers/hid/hid-nvidia-shield.o: in function `.L113': hid-nvidia-shield.c:(.text+0xfa4): undefined reference to `led_classdev_register_ext'
Fixes: 09308562d4af ("HID: nvidia-shield: Initial driver implementation with Thunderstrike support") Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Cc: Rahul Rameshbabu <rrameshbabu@nvidia.com> Cc: Jiri Kosina <jkosina@suse.cz> Cc: Benjamin Tissoires <benjamin.tissoires@redhat.com> Cc: linux-input@vger.kernel.org Reviewed-by: Rahul Rameshbabu <rrameshbabu@nvidia.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
show more ...
|
#
24175157 |
| 16-Jul-2023 |
Fabio Baltieri <fabiobaltieri@chromium.org> |
HID: hid-google-stadiaff: add support for Stadia force feedback
Add a hid-google-stadiaff module to support rumble based force feedback on the Google Stadia controller. This works using the HID outp
HID: hid-google-stadiaff: add support for Stadia force feedback
Add a hid-google-stadiaff module to support rumble based force feedback on the Google Stadia controller. This works using the HID output endpoint exposed on both the USB and BLE interface.
Signed-off-by: Fabio Baltieri <fabiobaltieri@chromium.org> Reviewed-by: Rahul Rameshbabu <rrameshbabu@nvidia.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
show more ...
|
#
a0c76896 |
| 03-Jul-2023 |
Bastien Nocera <hadess@hadess.net> |
HID: steelseries: Add support for Arctis 1 XBox
Add support for the Steelseries Arctis 1 XBox headset. This driver will export the battery information from the headset, as well as the "wireless_stat
HID: steelseries: Add support for Arctis 1 XBox
Add support for the Steelseries Arctis 1 XBox headset. This driver will export the battery information from the headset, as well as the "wireless_status" property.
Signed-off-by: Bastien Nocera <hadess@hadess.net> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
show more ...
|
#
09308562 |
| 08-Jun-2023 |
Rahul Rameshbabu <rrameshbabu@nvidia.com> |
HID: nvidia-shield: Initial driver implementation with Thunderstrike support
Supports the Thunderstrike (SHIELD 2017) controller. Implements support for the Thunderstrike HOSTCMD firmware interface.
HID: nvidia-shield: Initial driver implementation with Thunderstrike support
Supports the Thunderstrike (SHIELD 2017) controller. Implements support for the Thunderstrike HOSTCMD firmware interface. Adds sysfs attributes about a SHIELD device and introduces haptics support for controllers.
Signed-off-by: Rahul Rameshbabu <rrameshbabu@nvidia.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
show more ...
|
#
49904a0e |
| 23-May-2023 |
Geert Uytterhoeven <geert+renesas@glider.be> |
HID: uclogic: Modular KUnit tests should not depend on KUNIT=y
While KUnit tests that cannot be built as a loadable module must depend on "KUNIT=y", this is not true for modular tests, where it adds
HID: uclogic: Modular KUnit tests should not depend on KUNIT=y
While KUnit tests that cannot be built as a loadable module must depend on "KUNIT=y", this is not true for modular tests, where it adds an unnecessary limitation.
Fix this by relaxing the dependency to "KUNIT".
Fixes: 08809e482a1c44d9 ("HID: uclogic: KUnit best practices and naming conventions") Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: David Gow <davidgow@google.com> Reviewed-by: José Expósito <jose.exposito89@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
show more ...
|
#
dbf56d2f |
| 10-Mar-2023 |
Alessandro Manca <crizan.git@gmail.com> |
HID: topre: Add support for 87 keys Realforce R2
The tenkeyless version of the Realforce R2 has the same issue of the full size one, the report fixup is needed to make n-key rollover work instead of
HID: topre: Add support for 87 keys Realforce R2
The tenkeyless version of the Realforce R2 has the same issue of the full size one, the report fixup is needed to make n-key rollover work instead of 6 key rollover
Signed-off-by: Alessandro Manca <crizan.git@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
show more ...
|
#
f5cd71cf |
| 25-Jan-2023 |
Philippe Valembois <lephilousophe@gmail.com> |
HID: evision: Add preliminary support for EVision keyboards
For now only supports one model and only filters out bogus reports sent when the keyboard has been configured through hidraw. Without this
HID: evision: Add preliminary support for EVision keyboards
For now only supports one model and only filters out bogus reports sent when the keyboard has been configured through hidraw. Without this, as events are not released, soft repeat floods userspace with unknown key events.
Signed-off-by: Philippe Valembois <lephilousophe@gmail.com> Link: https://lore.kernel.org/r/20230125211511.12266-1-lephilousophe@gmail.com Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
show more ...
|
#
9cd61c81 |
| 25-Jan-2023 |
Vicki Pfau <vi@endrift.com> |
HID: hid-steam: Add rumble on Deck
The Steam Deck includes a new report that allows for emulating XInput-style rumble motors with the Deck's actuators. This adds support for passing these values dir
HID: hid-steam: Add rumble on Deck
The Steam Deck includes a new report that allows for emulating XInput-style rumble motors with the Deck's actuators. This adds support for passing these values directly to the Deck.
Signed-off-by: Vicki Pfau <vi@endrift.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Link: https://lore.kernel.org/r/20230126030126.895670-3-vi@endrift.com Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
show more ...
|
#
9ba9498b |
| 25-Jan-2023 |
Vicki Pfau <vi@endrift.com> |
HID: hid-steam: Add Steam Deck support
Add preliminary support for the Steam Deck's controller interface. Currently, this only supports the controller inputs and toggling lizard mode (Valve's name f
HID: hid-steam: Add Steam Deck support
Add preliminary support for the Steam Deck's controller interface. Currently, this only supports the controller inputs and toggling lizard mode (Valve's name for a hardware kb/m emulation mode). It does not support any of the advanced features, such as the motion sensors or force-feedback.
The Steam Deck also includes a heartbeat for lizard mode that switches it back on if no reports have been received within a few milliseconds. The official Steam client handles this by sending a handful of configuration reports every few ms, so we copy this behavior by sending configuration reports to disable the mouse and reset the digital mappings every 5ms. As this isn't needed for the older Steam Controller, this is only done on the Steam Deck.
Signed-off-by: Vicki Pfau <vi@endrift.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Link: https://lore.kernel.org/r/20230126030126.895670-2-vi@endrift.com Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
show more ...
|
#
a608dc1c |
| 24-Nov-2022 |
José Expósito <jose.exposito89@gmail.com> |
HID: input: map battery system charging
HID descriptors with Battery System (0x85) Charging (0x44) usage are ignored and POWER_SUPPLY_STATUS_DISCHARGING is always reported to user space, even when t
HID: input: map battery system charging
HID descriptors with Battery System (0x85) Charging (0x44) usage are ignored and POWER_SUPPLY_STATUS_DISCHARGING is always reported to user space, even when the device is charging.
Map this usage and when it is reported set the right charging status.
In addition, add KUnit tests to make sure that the charging status is correctly set and reported. They can be run with the usual command:
$ ./tools/testing/kunit/kunit.py run --kunitconfig=drivers/hid
Signed-off-by: José Expósito <jose.exposito89@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
show more ...
|
#
0ee29814 |
| 12-Dec-2022 |
Roderick Colenbrander <roderick@gaikai.com> |
HID: playstation: fix free of uninialized pointer for DS4 in Bluetooth.
The 'buf' variable is only used in the USB (if-path) and not in the Bluetooth else-path. Since it is not set to NULL. this res
HID: playstation: fix free of uninialized pointer for DS4 in Bluetooth.
The 'buf' variable is only used in the USB (if-path) and not in the Bluetooth else-path. Since it is not set to NULL. this results in freeing an uninitialized pointer. Since the else code-path doesn't need buf, just return 0.
Fixes: 2d77474a2392 ("HID: playstation: add DualShock4 bluetooth support.") Signed-off-by: Roderick Colenbrander <roderick.colenbrander@sony.com> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Link: https://lore.kernel.org/r/20221213044935.1775499-2-roderick.colenbrander@sony.com
show more ...
|
#
7e41b2e9 |
| 18-Nov-2022 |
Benjamin Tissoires <benjamin.tissoires@redhat.com> |
HID: force HID depending on INPUT
In most configurations, INPUT is actually a boolean: either y or disabled, but when it's disabled, you can't do much on your average laptop.
But it turns out that
HID: force HID depending on INPUT
In most configurations, INPUT is actually a boolean: either y or disabled, but when it's disabled, you can't do much on your average laptop.
But it turns out that there is a possibility to have INPUT as a module: you have to disable VT and TTY (of course), but also enable EXPERT. I'll leave how to disable VT and TTY as an exercise for the bravest.
Anyway, if INPUT is m, we can still configure HID as y, which is not correct because hid-input.c depends on the input API, meaning that vmlinuz can not link.
So: add depends on INPUT too at the HID level, to ensure that if INPUT=m, HID can only be m or disabled.
Fixes: 25621bcc8976 ("HID: Kconfig: split HID support and hid-core compilation") Reported-by: kernel test robot <lkp@intel.com> Link: https://lore.kernel.org/r/202211181742.QYJY6Gug-lkp@intel.com Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
show more ...
|
#
f5c27da4 |
| 03-Nov-2022 |
Benjamin Tissoires <benjamin.tissoires@redhat.com> |
HID: initial BPF implementation
Declare an entry point that can use fmod_ret BPF programs, and also an API to access and change the incoming data.
A simpler implementation would consist in just cal
HID: initial BPF implementation
Declare an entry point that can use fmod_ret BPF programs, and also an API to access and change the incoming data.
A simpler implementation would consist in just calling hid_bpf_device_event() for any incoming event and let users deal with the fact that they will be called for any event of any device.
The goal of HID-BPF is to partially replace drivers, so this situation can be problematic because we might have programs which will step on each other toes.
For that, we add a new API hid_bpf_attach_prog() that can be called from a syscall and we manually deal with a jump table in hid-bpf.
Whenever we add a program to the jump table (in other words, when we attach a program to a HID device), we keep the number of time we added this program in the jump table so we can release it whenever there are no other users.
HID devices have an RCU protected list of available programs in the jump table, and those programs are called one after the other thanks to bpf_tail_call().
To achieve the detection of users losing their fds on the programs we attached, we add 2 tracing facilities on bpf_prog_release() (for when a fd is closed) and bpf_free_inode() (for when a pinned program gets unpinned).
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
show more ...
|
#
25621bcc |
| 03-Nov-2022 |
Benjamin Tissoires <benjamin.tissoires@redhat.com> |
HID: Kconfig: split HID support and hid-core compilation
Currently, we step into drivers/hid/ based on the value of CONFIG_HID.
However, that value is a tristate, meaning that it can be a module.
HID: Kconfig: split HID support and hid-core compilation
Currently, we step into drivers/hid/ based on the value of CONFIG_HID.
However, that value is a tristate, meaning that it can be a module.
As per the documentation, if we jump into the subdirectory by following an obj-m, we can not compile anything inside that subdirectory in vmlinux. It is considered as a bug.
To make things more friendly to HID-BPF, split HID (the HID core parameter) from HID_SUPPORT (do we want any kind of HID support in the system?), and make this new config a boolean.
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
show more ...
|
#
960f9df7 |
| 30-Sep-2022 |
Matt Ranostay <matt.ranostay@konsulko.com> |
HID: mcp2221: add ADC/DAC support via iio subsystem
Add support for 3x 10-bit ADC and 1x DAC channels registered via the iio subsystem.
To prevent breakage and unexpected dependencies this support
HID: mcp2221: add ADC/DAC support via iio subsystem
Add support for 3x 10-bit ADC and 1x DAC channels registered via the iio subsystem.
To prevent breakage and unexpected dependencies this support only is only built if CONFIG_IIO is enabled, and is only weakly referenced by 'imply IIO' within the respective Kconfig.
Additionally the iio device only gets registered if at least one channel is enabled in the power-on configuration read from SRAM.
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
show more ...
|
#
ea418b35 |
| 30-Sep-2022 |
Matt Ranostay <matt.ranostay@konsulko.com> |
HID: mcp2221: change 'select GPIOLIB' to imply
To avoid recursive dependencies on GPIOLIB when 'imply IIO' is requested with other drivers we should switch GPIOLIB to an imply.
This isn't the most
HID: mcp2221: change 'select GPIOLIB' to imply
To avoid recursive dependencies on GPIOLIB when 'imply IIO' is requested with other drivers we should switch GPIOLIB to an imply.
This isn't the most ideal solution but avoids modifiying the Kconfig for other drivers, and only requires a singular IS_REACHABLE(CONFIG_GPIOLIB) check.
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
show more ...
|
#
a109d5c4 |
| 10-Sep-2022 |
Harry Stern <harry@harrystern.net> |
hid: topre: Add driver fixing report descriptor
The Topre REALFORCE R2 firmware incorrectly reports that interface descriptor number 1, input report descriptor 2's events are array events rather tha
hid: topre: Add driver fixing report descriptor
The Topre REALFORCE R2 firmware incorrectly reports that interface descriptor number 1, input report descriptor 2's events are array events rather than variable events. That particular report descriptor is used to report keypresses when there are more than 6 keys held at a time. This bug prevents events from this interface from being registered properly, so only 6 keypresses (from a different interface) can be registered at once, rather than full n-key rollover.
This commit fixes the bug by setting the correct value in a report_fixup function.
The original bug report can be found here: Link: https://gitlab.freedesktop.org/libinput/libinput/-/issues/804
Thanks to Benjamin Tissoires for diagnosing the issue with the report descriptor.
Signed-off-by: Harry Stern <harry@harrystern.net> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Link: https://lore.kernel.org/r/20220911003614.297613-1-harry@harrystern.net
show more ...
|
#
acc3e346 |
| 14-Sep-2022 |
Marcus Folkesson <marcus.folkesson@gmail.com> |
HID: Add driver for PhoenixRC Flight Controller
The PhoenixRC is a controller with 8 channels for use in flight simulators.
Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com> Signed-off-b
HID: Add driver for PhoenixRC Flight Controller
The PhoenixRC is a controller with 8 channels for use in flight simulators.
Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Link: https://lore.kernel.org/r/20220914184345.270456-1-marcus.folkesson@gmail.com
show more ...
|
#
2c5e8e61 |
| 02-Sep-2022 |
Marcus Folkesson <marcus.folkesson@gmail.com> |
HID: Add driver for VRC-2 Car Controller
VRC-2 is 2-axis controller often used in car simulators.
Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com> Signed-off-by: Benjamin Tissoires <ben
HID: Add driver for VRC-2 Car Controller
VRC-2 is 2-axis controller often used in car simulators.
Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Link: https://lore.kernel.org/r/20220902082552.2433744-2-marcus.folkesson@gmail.com
show more ...
|
#
8272a51d |
| 08-Jul-2022 |
Randy Dunlap <rdunlap@infradead.org> |
HID: Kconfig: remove redundant "depends on HID" lines
Remove all occurrences of "depends on HID" that are inside the "if HID" / "endif" block since they are redundant.
Signed-off-by: Randy Dunlap <
HID: Kconfig: remove redundant "depends on HID" lines
Remove all occurrences of "depends on HID" that are inside the "if HID" / "endif" block since they are redundant.
Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Cc: Jiri Kosina <jikos@kernel.org> Cc: Benjamin Tissoires <benjamin.tissoires@redhat.com> Cc: linux-input@vger.kernel.org Signed-off-by: Jiri Kosina <jkosina@suse.cz>
show more ...
|
#
08809e48 |
| 15-Aug-2022 |
José Expósito <jose.exposito89@gmail.com> |
HID: uclogic: KUnit best practices and naming conventions
The KUnit documentation [1] suggests allowing build tests as a module.
In addition, it is recommended [2] to use snake case names for kunit
HID: uclogic: KUnit best practices and naming conventions
The KUnit documentation [1] suggests allowing build tests as a module.
In addition, it is recommended [2] to use snake case names for kunit_suite and test cases.
Change the Kconfig entry from bool to tristate and stick to the naming conventions to avoid style issues with future tests.
Link: https://docs.kernel.org/dev-tools/kunit/style.html#test-kconfig-entries [1] Link: https://www.kernel.org/doc/html/latest/dev-tools/kunit/style.html [2] Acked-by: Daniel Latypov <dlatypov@google.com> Signed-off-by: José Expósito <jose.exposito89@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
show more ...
|
#
2d167aab |
| 11-Jun-2022 |
José Expósito <jose.exposito89@gmail.com> |
HID: uclogic: Add KUnit tests for uclogic_rdesc_template_apply()
The uclogic_rdesc_template_apply() function is used by the driver to generate HID descriptors from templates.
In order to avoid regr
HID: uclogic: Add KUnit tests for uclogic_rdesc_template_apply()
The uclogic_rdesc_template_apply() function is used by the driver to generate HID descriptors from templates.
In order to avoid regressions in future patches, add KUnit tests to test the function.
To run the tests:
$ ./tools/testing/kunit/kunit.py run --kunitconfig=drivers/hid \ --kconfig_add CONFIG_VIRTIO_UML=y \ --kconfig_add CONFIG_UML_PCI_OVER_VIRTIO=y
Signed-off-by: José Expósito <jose.exposito89@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
show more ...
|
#
06be0d64 |
| 20-Apr-2022 |
frank zago <frank@zago.net> |
HID: Add support for Mega World controller force feedback
This patch adds support for one of the several Mega World USB game controller with integrated force feedback. It is a HID based memory-less
HID: Add support for Mega World controller force feedback
This patch adds support for one of the several Mega World USB game controller with integrated force feedback. It is a HID based memory-less game controller, with a weak motor on the left, and a strong one on the right.
Signed-off-by: frank zago <frank@zago.net> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
show more ...
|