| Age | Commit message (Collapse) | Author |
|
git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Pull input updates from Dmitry Torokhov:
- Updates to input core to reject parent device overrides on managed
input devices so devres lifetime management is not split across
different devices, along with fixes for da7280, drv2665, drv2667, and
tps6507x-ts that were reparenting managed input devices, and removal
of redundant parent assignments across multiple drivers
- A fix in input core to always accept EV_SYN events in input_event()
and input_inject_event() so events seeded before device registration
are properly flushed by input_sync()
- A fix in matrix-keymap helper to reject keycodes above KEY_MAX and
prevent out-of-bounds bitmap writes
- Fixes and cleanups for HP GSC PS/2 (gscps2) serio driver to resolve
race conditions in port list management, ring buffer access, and
interrupt handling, return IRQ_NONE for unhandled shared interrupts,
and drop busy-waiting on transmit
- Fixes for maple_keyb driver to correct inverted key press detection,
implement open and close methods so polling only runs while the
device is open, and clean up unused driver fields
- Fixes for maplecontrol driver to emit EV_SYN after reporting events,
only enable axes reported by the controller with corrected hat
limits, and stop polling and clear the callback on close
- Updates to maplemouse driver to stop polling and clear the callback
on close and drop redundant driver data cleanup
- Fixes for matrix_keypad driver reverting forced switching of row
GPIOs to input mode that broke row interrupts on platforms with
separate GPIO and interrupt pinmux functions, and propagating the
actual error code from matrix_keypad_build_keymap()
- A fix for st-keyscan driver to keep the interrupt disabled while the
peripheral clock is gated off to prevent bus faults, along with probe
error handling improvements
- A fix for mms114 touchscreen driver to disable interrupts before
synthesizing touch release events during suspend so concurrent
interrupts do not leave stuck active touch slots
- Updates to xpad driver to support GameSir Nova Lite controller
- A number of updates to device tree bindings, including a new schema
for Analog Devices AD7147 CapTouch controller, conversion of SiS 9200
I2C touchscreen binding to DT schema format, and allowing the
wakeup-source property on Dialog DA9062 onkey
- Other assorted driver cleanups, style fixes, and conversions,
including switching to named initializers for acpi_device_id tables
and converting cyttsp5 to DEFINE_SIMPLE_DEV_PM_OPS.
* tag 'input-for-v7.4-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (94 commits)
Revert "Input: matrix_keypad - force switch rows to input mode"
Input: s6sy761 - drop duplicate axis initialization in s6sy761_probe()
Input: always accept EV_SYN in input_event()
dt-bindings: input: dlg,da9062-onkey: Allow wakeup-source property
Input: xpad - add GameSir Nova Lite support
Input: touchscreen - use named initializers for acpi_device_id
Input: mouse - cyapa: use named initializers for acpi_device_id
Input: misc - use named initializers for acpi_device_id
Input: keyboard - use named initializers for acpi_device_id
Input: reject parent overrides on managed input devices
Input: tps6507x-ts - fix input device parent assignment
Input: drv2667 - fix input device parent assignment
Input: drv2665 - fix input device parent assignment
Input: da7280 - fix input device parent assignment
Input: maple_keyb - remove unused mdev->driver assignment
Input: maplecontrol - remove unused mdev->driver assignment
Input: maplemouse - remove unused mdev->driver assignment
Input: maplecontrol - remove redundant drvdata resetting
Input: maple_keyb - remove redundant drvdata resetting
Input: maplemouse - remove redundant drvdata resetting
...
|
|
Pull ARM SoC board file updates from Arnd Bergmann:
"These are mostly smaller cleanups for the remaining platform code in
arch/arm/, the most notable one being the conversion of the
s3c/crag6410 board to use software nodes for GPIO references in place
of plain GPIO numbers.
The earlier plan was to drop the deprecated (since 7.3) board files
here, which would have been a much larger set of changes, but that is
now deferred to 7.5"
* tag 'soc-arm-7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
MAINTAINERS: Drop arm64 dts/intel path from ARM/SOCFPGA ARCHITECTURE
ARM: tegra: Fix Trun -> Turn typo
ARM: vexpress: fix device_node refcount leak in vexpress_smp_dt_prepare_cpus()
ARM: vexpress: fix device_node refcount leak in vexpress_flags_set()
MAINTAINERS: Change ARM Visconti5 architecture maintenance status to Odd Fixes
ARM: mvebu: fix Cortex-A9 errata selection for Armada 38x
ARM: OMAP2+: remove unused ctrl_module_wkup_44xx.h header
ARM: EXYNOS: Replace __ASSEMBLY__ with __ASSEMBLER__
ARM: s3c: crag6410: use software nodes/properties to set up GPIO keys
Input: samsung-keypad - remove support for platform data
ARM: s3c: crag6410: switch keypad device to software properties
ARM: s3c: register and attach software nodes for Samsung gpio_chips
Input: samsung-keypad - handle compact binding
dt-bindings: input: samsung,s3c6410-keypad: introduce compact binding
ARM: imx6q: remove KSZ9021 PHY fixup
ARM: imx: Fix suspend/resume crash with Clang CFI
ARM: OMAP2+: Replace __ASSEMBLY__ with __ASSEMBLER__
soc: imx: Replace __ASSEMBLY__ with __ASSEMBLER__ in header file
ARM: imx: Replace __ASSEMBLY__ with __ASSEMBLER__
MAINTAINERS: Add git tree for TI K3 ARCHITECTURE
|
|
Prepare input updates for 7.4 merge window.
|
|
This reverts commit 01c84b03d80aab9f04c4e3e1f9085f4202ff7c29.
The commit makes every scan call gpiod_direction_input() on the row
GPIOs. On pin controllers where GPIO input and interrupt are separate
pinmux functions this switches the row pins out of interrupt mode, and
enable_row_irqs() does not switch them back: it only unmasks the
interrupts. Row interrupts then never arrive and the keypad stops
working. Seen with a matrix keypad on an Allwinner A64 board (PINE
A64-LTS); it works again with the commit reverted.
The workaround is not needed on Ingenic either: the author of the
reverted commit re-tested all available JZ47xx SoCs and they all report
the live pin state in interrupt mode, see the thread in Link.
Fixes: 01c84b03d80a ("Input: matrix_keypad - force switch rows to input mode")
Link: https://lore.kernel.org/all/4130C026-2A83-408B-836A-ECA044491C47@gmail.com/
Cc: stable@vger.kernel.org
Signed-off-by: Alexander Kochetkov <al.kochet@gmail.com>
Acked-by: Siarhei Volkau <lis8215@gmail.com>
Acked-by: Paul Cercueil <paul@crapouillou.net>
Link: https://patch.msgid.link/20261002100935.449473-1-al.kochet@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
ABS_MT_TOUCH_MAJOR and ABS_MT_TOUCH_MINOR are initialized twice with
identical parameters in s6sy761_probe(). Remove the duplicate calls.
Reported-by: sashiko-bot@kernel.org
Assisted-by: LLM
Reviewed-by: David Heidelberg <david@ixit.cz>
Link: https://patch.msgid.link/asdjLHHNrrtjIKCb@google.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
Commit 0cd587735205 ("Input: preallocate memory to hold event values")
moved allocation of dev->vals into input_allocate_device(), which caused
input core to accumulate events reported while seeding initial device
state before input_register_device().
However, because EV_SYN is only set in dev->evbit during
input_register_device() (and some drivers also overwrite dev->evbit
directly before registration), any EV_SYN/SYN_REPORT events sent before
registration were dropped by is_event_supported(), leaving those seeded
events stuck in dev->vals until the next SYN_REPORT after registration.
Always accept EV_SYN in input_event() and input_inject_event() without
checking dev->evbit so input_sync() flushes dev->vals as intended.
Reported-by: Karlos Abel <kabel@voidship.net>,
Fixes: 0cd587735205 ("Input: preallocate memory to hold event values")
Cc: stable@vger.kernel.org
Assisted-by: LLM
Acked-by: Jiri Kosina <jkosina@suse.com>
Link: https://patch.msgid.link/asx50uz6iafsyAd5@google.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
Add vendor and product ID for GameSir Nova Lite (0x3537:0x1040) in
XInput mode to enable force feedback rumble support.
Signed-off-by: Francesco Orlando <francesco.orlando99@libero.it>
Link: https://patch.msgid.link/20261011165821.72698-1-francesco.orlando99@libero.it
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
Use a designated initializer for the acpi_device_id fields which makes the
code more readable and consistent with how lists are initialized in the
rest of the kernel code base. Also drop explicitly setting fields to 0
where it is redundant.
Unify the list terminator to have a single space between the brackets and
no trailing comma.
Signed-off-by: Pawel Zalewski <pzalewski@thegoodpenguin.co.uk>
Link: https://patch.msgid.link/20261013-acpi-input-v1-4-53ad09ba82b7@thegoodpenguin.co.uk
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
Use a designated initializer for the acpi_device_id fields which makes the
code more readable and consistent with how lists are initialized in the
rest of the kernel code base. Also drop explicitly setting fields to 0
where it is redundant.
Signed-off-by: Pawel Zalewski <pzalewski@thegoodpenguin.co.uk>
Link: https://patch.msgid.link/20261013-acpi-input-v1-3-53ad09ba82b7@thegoodpenguin.co.uk
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
Use a designated initializer for the acpi_device_id fields which makes the
code more readable and consistent with how lists are initialized in the
rest of the kernel code base. Also drop explicitly setting fields to 0
where it is redundant.
Unify the list terminator to have a single space between the brackets and
no trailing comma.
Signed-off-by: Pawel Zalewski <pzalewski@thegoodpenguin.co.uk>
Link: https://patch.msgid.link/20261013-acpi-input-v1-2-53ad09ba82b7@thegoodpenguin.co.uk
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
Use a designated initializer for the acpi_device_id fields which makes the
code more readable and consistent with how lists are initialized in the
rest of the kernel code base. Also drop explicitly setting fields to 0
where it is redundant.
Unify the list terminator to have a single space between the brackets and
no trailing comma.
Signed-off-by: Pawel Zalewski <pzalewski@thegoodpenguin.co.uk>
Link: https://patch.msgid.link/20261013-acpi-input-v1-1-53ad09ba82b7@thegoodpenguin.co.uk
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
When an input device is allocated with devm_input_allocate_device(), the
owner struct device is set as dev->dev.parent and holds the
devm_input_device_release resource. Later, input_register_device()
attaches the devm_input_device_unregister resource to dev->dev.parent.
Clearing or overriding dev->dev.parent before registration splits devres
ownership across different devices, which breaks managed lifetime
assumptions.
Verify via devres_find() that dev->dev.parent is non-NULL and still
holds the matching devm_input_device_release entry before registering a
managed input device, rejecting registration with -EINVAL otherwise.
Also add KUnit test coverage in input_test.c verifying that reparented
and NULL-parent managed input devices are rejected while preserving the
owner parent succeeds.
Assisted-by: LLM
Link: https://patch.msgid.link/asmCc1VxVPLIMgY6@google.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
Assigning the MFD parent device (tsc->dev) instead of the platform
device (&pdev->dev) as the parent device after
devm_input_allocate_device(&pdev->dev) splits devres management across
two devices. As a result, input_register_device() attaches the devm
unregistration action to the MFD parent device rather than the platform
device, leaving the input device registered when the platform driver
unbinds.
devm_input_allocate_device(&pdev->dev) already sets
input_dev->dev.parent to &pdev->dev. Drop the redundant and erroneous
assignment.
Fixes: 2e2a0db8c88d ("Input: tps6507x-ts - update to devm_* API")
Assisted-by: LLM
Link: https://patch.msgid.link/20261008094736.918137-4-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
Assigning the I2C bus controller (client->dev.parent) instead of the
I2C client (&client->dev) as the parent device after
devm_input_allocate_device() causes input_register_device() to attach
the devm unregistration action to the parent controller device rather
than the client device. This leaves the input device registered on
driver unbind, leading to use-after-free.
devm_input_allocate_device() already sets input_dev->dev.parent to
&client->dev. Drop the redundant and erroneous assignment.
Fixes: 1c24622572d6 ("Input: add support for the DRV2667 haptic driver")
Assisted-by: LLM
Link: https://patch.msgid.link/20261008094736.918137-3-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
Assigning the I2C bus controller (client->dev.parent) instead of the
I2C client (&client->dev) as the parent device after
devm_input_allocate_device() causes input_register_device() to attach
the devm unregistration action to the parent controller device rather
than the client device. This leaves the input device registered on
driver unbind, leading to use-after-free.
devm_input_allocate_device() already sets input_dev->dev.parent to
&client->dev. Drop the redundant and erroneous assignment.
Fixes: 4d10da13467e ("Input: add TI drv2665 haptics driver")
Assisted-by: LLM
Link: https://patch.msgid.link/20261008094736.918137-2-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
Assigning the I2C bus controller (client->dev.parent) instead of the
I2C client (&client->dev) as the parent device after
devm_input_allocate_device() causes input_register_device() to attach
the devm unregistration action to the parent controller device rather
than the client device. This leaves the input device registered on
driver unbind, leading to use-after-free.
devm_input_allocate_device() already sets input_dev->dev.parent to
&client->dev. Drop the redundant and erroneous assignment.
Fixes: cd3f609823a5 ("Input: new da7280 haptic driver")
Assisted-by: LLM
Link: https://patch.msgid.link/20261008094736.918137-1-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
The driver field in struct maple_device is no longer used since
commit 1795cf48b322 ("sh/maple: clean maple bus code") which removed
the reading of this field.
Remove the unused assignment to mdev->driver and the now unused
mdrv variable in probe_maple_kbd.
Assisted-by: Antigravity:gemini-3.5-flash
Link: https://patch.msgid.link/20260703-b4-maple-cleanup-v1-13-41e424964da5@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
The driver field in struct maple_device is no longer used since
commit 1795cf48b322 ("sh/maple: clean maple bus code") which removed
the reading of this field.
Remove the unused assignment to mdev->driver and the now unused
mdrv variable in probe_maple_controller.
Assisted-by: Antigravity:gemini-3.5-flash
Link: https://patch.msgid.link/20260703-b4-maple-cleanup-v1-12-41e424964da5@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
The driver field in struct maple_device is no longer used since
commit 1795cf48b322 ("sh/maple: clean maple bus code") which removed
the reading of this field.
Remove the unused assignment to mdev->driver and the now unused
mdrv variable in probe_maple_mouse.
Assisted-by: Antigravity:gemini-3.5-flash
Link: https://patch.msgid.link/20260703-b4-maple-cleanup-v1-11-41e424964da5@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
The driver core automatically resets driver data to NULL on probe
failures and device removal, so we can remove it from the driver.
Assisted-by: Antigravity:gemini-3.5-flash
Link: https://patch.msgid.link/20260703-b4-maple-cleanup-v1-10-41e424964da5@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
The driver core automatically resets driver data to NULL on probe
failures and device removal, so we can remove it from the driver.
Assisted-by: Antigravity:gemini-3.5-flash
Link: https://patch.msgid.link/20260703-b4-maple-cleanup-v1-9-41e424964da5@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
The driver core automatically resets driver data to NULL on probe
failures and device removal, so we can remove it from the driver.
Assisted-by: Antigravity:gemini-3.5-flash
Link: https://patch.msgid.link/20260703-b4-maple-cleanup-v1-8-41e424964da5@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
Instead of polling the keyboard constantly from probe, implement open
and close methods for the input device to only start polling when the
device is actually opened by userspace, and stop polling when it is
closed.
This matches the behavior of maplemouse and maplecontrol drivers.
Assisted-by: Antigravity:gemini-3.5-flash
Link: https://patch.msgid.link/20260703-b4-maple-cleanup-v1-7-41e424964da5@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
In dc_mouse_close(), pass NULL instead of dc_mouse_callback to
maple_getcond_callback() to both stop polling and clear the callback
pointer when the input device is closed.
This makes the manual clearing of mdev->callback in
remove_maple_mouse() redundant, as input_unregister_device()
automatically closes the device if it was open. Remove the redundant
assignment.
Assisted-by: Antigravity:gemini-3.5-flash
Link: https://patch.msgid.link/20260703-b4-maple-cleanup-v1-4-41e424964da5@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
In dc_pad_close(), pass NULL instead of dc_pad_callback to
maple_getcond_callback() to both stop polling and clear the callback
pointer when the input device is closed.
This makes the manual clearing of mdev->callback in
remove_maple_controller() redundant, as input_unregister_device()
automatically closes the device if it was open. Remove the redundant
assignment.
Assisted-by: Antigravity:gemini-3.5-flash
Link: https://patch.msgid.link/20260703-b4-maple-cleanup-v1-5-41e424964da5@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
The driver decodes controller packets and reports button presses and
axis positions in dc_pad_callback(), but never calls input_sync() to
signal completion of the input report frame. Consequently, events
remain pending without waking up userspace readers.
Emit an EV_SYN/SYN_REPORT event after reporting buttons and axis states.
Fixes: 01461d7e65a6 ("Input: add support for Maple controller as a joystick")
Reported-by: sashiko-bot@kernel.org
Closes: https://lore.kernel.org/r/20260704061045.036701F000E9@smtp.kernel.org
Assisted-by: LLM
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
The driver was unconditionally enabling all possible analog axes and
hats on the input device, even if the controller reported it did not
have them in its function data.
Move the input_set_abs_params() calls inside the capability check loop
so that only actually present axes are enabled on the input device.
Also, correct the D-pad (hat) axis limits. They were initialized with
inverted limits (min=1, max=-1). Correct them to min=-1, max=1, which
matches the values (-1, 0, 1) reported by the driver.
Assisted-by: Antigravity:gemini-3.5-flash
Link: https://patch.msgid.link/20260703-b4-maple-cleanup-v1-3-41e424964da5@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
The key press detection logic was using ptr instead of !ptr (where ptr is
the result of memchr searching for the new key in the old keys).
If ptr is not NULL, it means the key was already pressed in the previous
report, so it is not a new press. If ptr is NULL, it means the key was
not pressed before, so it is a new press.
Using ptr instead of !ptr caused new presses to be ignored in the first
poll cycle (only reported in the second cycle if still held, because
then it was in 'old'), and caused redundant press events to be sent
on every subsequent poll while the key was held.
Fix this by using !ptr for press detection, matching the release
detection logic.
Fixes: b11d2127c489 ("Input: add support for SEGA Dreamcast keyboard")
Assisted-by: Antigravity:gemini-3.5-flash
Tested-by: Florian Fuchs <fuchsfl@gmail.com>
Link: https://patch.msgid.link/20260703-b4-maple-cleanup-v1-2-41e424964da5@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Pull input fixes from Dmitry Torokhov:
- A fix for the ati_remote2 sysfs attributes handling, resolving type
confusion after conversion to dev_groups
- Updates to the xpad joystick driver adding support for the Corsair
Novablade Pro controller (wired and 2.4 GHz wireless) and a newer
hardware revision of the 8BitDo Pro 2 Wired Controller for Xbox.
* tag 'input-for-v7.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
Input: xpad - add support for 8BitDo Pro 2 Wired Controller for Xbox
Input: xpad - add support for Corsair Novablade Pro
Input: ati_remote2 - fix type confusion in device attribute handlers
|
|
The driver gates off its peripheral clock when the input device is not
open and during system suspend without wakeup. However, the interrupt is
requested without IRQF_NO_AUTOEN and remains unmasked when the device is
stopped. If a pending or spurious interrupt fires while the clock is
disabled, keyscan_isr() will attempt to read the matrix state register
with the clock gated off, triggering a bus fault (synchronous external
abort) and panicking the system.
Request the interrupt with IRQF_NO_AUTOEN, enable it in keyscan_start(),
and disable it in keyscan_stop() prior to gating the clock. Drop the
pointless clock enable/stop sequence in keyscan_probe(), leaving the
clock gated and hardware untouched until the device is opened.
Fixes: 062589b13991 ("Input: add st-keyscan driver")
Reported-by: sashiko-bot@kernel.org
Assisted-by: LLM
Link: https://patch.msgid.link/apK-PZ5c97mCxBSC@google.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
In mms114_suspend, the driver synthesizes touch release events for all
slots and calls input_sync before disabling the hardware interrupt via
mms114_stop. Because the threaded interrupt handler runs independently
and does not share a lock with this early part of the suspend path, an
incoming hardware interrupt can fire after input_sync completes but
before disable_irq is invoked.
If a touch event arrives during this window, the interrupt handler
reports the touch slot as active again, overwriting the synthetic
release event right before the system goes to sleep. Upon resume,
lifting the finger does not generate a release interrupt, potentially
leaving userspace with a stuck active touch slot.
Fix this race by calling mms114_stop, which disables the IRQ and
synchronizes with any executing interrupt handler, before synthesizing
the touch release events. Also ensure that we only synthesize touch
release events if the input device is enabled, keeping the entire
suspend sequence protected by input_dev->mutex.
Reported-by: sashiko-bot@kernel.org
Assisted-by: Antigravity:gemini-3.6-flash
Link: https://patch.msgid.link/anKxGkyRRu5A92Q_@google.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
The 8BitDo Pro 2 Wired Controller for Xbox is already matched by the
vendor-wide XPAD_XBOXONE_VENDOR(0x2dc8) entry, but a later hardware
revision reports product ID 0x201e, which has no entry in the
xpad_device table. The device therefore binds and functions but is
exposed to userspace as "Generic X-Box pad".
Add the VID/PID pair so the controller is named correctly, and set
MAP_SHARE_BUTTON to expose the share button as KEY_RECORD.
Signed-off-by: Bihaan Sen <stevewholikesthings@gmail.com>
Link: https://patch.msgid.link/20260925114459.110253-1-stevewholikesthings@gmail.com
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
Add device IDs for the Corsair Novablade Pro leverless fight controller
in both wired (0x2b1f) and 2.4 GHz receiver (0x2b2b) modes, and add
Corsair's vendor ID to the Xbox 360 vendor match list.
Outside of its PS4/PS5 modes the controller uses the Xbox 360 protocol
(vendor-specific class, subclass 93, protocol 1) on interface 0, which
xpad does not currently bind, so no gamepad device is created. The
PS4/PS5 modes present a standard HID gamepad and already work with
hid-generic.
Tested on 7.2.5 with the 2.4 GHz receiver and wired.
Assisted-by: Claude Opus 5.5
Signed-off-by: Krzysztof Furman <krisfur@proton.me>
Link: https://patch.msgid.link/20261009-xpad-corsair-novablade-v1-1-e58746bef99f@proton.me
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
devm_input_allocate_device() already initializes
wm->input_dev->dev.parent to the supplied parent device, so the explicit
assignment in wm97xx_register_touch() is redundant. Remove it.
Assisted-by: LLM
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
devm_input_allocate_device() already initializes input_dev->dev.parent
to the supplied parent device, so the explicit assignment in
wm831x_ts_probe() is redundant. Remove it.
Assisted-by: LLM
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
devm_input_allocate_device() already initializes input->dev.parent to
the supplied parent device, so the explicit assignment in sx8654_probe()
is redundant. Remove it.
Assisted-by: LLM
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
devm_input_allocate_device() already initializes input_dev->dev.parent
to the supplied parent device, so the explicit assignment in
mms114_probe() is redundant. Remove it.
Assisted-by: LLM
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
devm_input_allocate_device() already initializes input_dev->dev.parent
to the supplied parent device, so the explicit assignment in
max11801_ts_probe() is redundant. Remove it.
Assisted-by: LLM
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
devm_input_allocate_device() already initializes input_dev->dev.parent
to the supplied parent device, so the explicit assignment in
jornada720_ts_probe() is redundant. Remove it.
Assisted-by: LLM
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
devm_input_allocate_device() already initializes input->dev.parent to
the supplied parent device, so the explicit assignment in
hycon_hy46xx_probe() is redundant. Remove it.
Assisted-by: LLM
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
devm_input_allocate_device() already initializes input->dev.parent to
the supplied parent device, so the explicit assignment in
edt_ft5x06_ts_probe() is redundant. Remove it.
Assisted-by: LLM
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
devm_input_allocate_device() already initializes input_dev->dev.parent
to the supplied parent device, so the explicit assignment in
da9034_touch_probe() is redundant. Remove it.
Assisted-by: LLM
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
devm_input_allocate_device() already initializes input_dev->dev.parent
to the supplied parent device, so the explicit assignment in
cyttsp_probe() is redundant. Remove it.
Assisted-by: LLM
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
devm_input_allocate_device() already initializes input->dev.parent to
the supplied parent device, so the explicit assignment in
vf50_ts_probe() is redundant. Remove it.
Assisted-by: LLM
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
devm_input_allocate_device() already initializes input->dev.parent to
the supplied parent device, so the explicit assignment in
icn8318_probe() is redundant. Remove it.
Assisted-by: LLM
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
devm_input_allocate_device() already initializes idev->dev.parent to the
supplied parent device, so the explicit assignment in iproc_ts_probe()
is redundant. Remove it.
Assisted-by: LLM
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
devm_input_allocate_device() already initializes input->dev.parent to
the supplied parent device, so the explicit assignment in
ar1021_i2c_probe() is redundant. Remove it.
Assisted-by: LLM
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
devm_input_allocate_device() already initializes input_dev->dev.parent
to the supplied parent device, so the explicit assignment in
ad7879_probe() is redundant. Remove it.
Assisted-by: LLM
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
devm_input_allocate_device() already initializes input_dev->dev.parent
to the supplied parent device, so the explicit assignment in
ad7877_probe() is redundant. Remove it.
Assisted-by: LLM
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
devm_input_allocate_device() already initializes
wm831x_on->dev->dev.parent to the supplied parent device, so the
explicit assignment in wm831x_on_probe() is redundant. Remove it.
Assisted-by: LLM
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|