Linux Input/HID development
 help / color / mirror / Atom feed
* [PATCH v15 0/4] HID: nintendo: Add preliminary Switch 2 controller driver
@ 2026-10-02  0:29 Vicki Pfau
  2026-10-02  0:29 ` [PATCH v15 1/4] " Vicki Pfau
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Vicki Pfau @ 2026-10-02  0:29 UTC (permalink / raw)
  To: Dmitry Torokhov, Jiri Kosina, Benjamin Tissoires, linux-input
  Cc: Vicki Pfau, Silvan Jegen

This adds a new driver for the Switch 2 controllers. The Switch 2 uses an
unusual split-interface design such that input and rumble occur on the main
HID interface, but all other communication occurs over a "configuration"
interface. This is the case on both USB and Bluetooth, so this new driver
uses a split-driver design with the HID interface being the "main" driver
and the configuration interface is a secondary driver that looks up to the
HID interface, sharing resources on a common struct.

Due to using a non-standard pairing interface as well as Bluetooth
communications being extremely limited in the kernel, a custom interface
between userspace and the kernel will need to be designed, along with
bringup in BlueZ. That is beyond the scope of this initial patch, which
only contains the generic HID and USB configuration interface drivers.

This initial work supports general input for the Joy-Con 2, Pro Controller
2, and GameCube NSO controllers. IMU, rumble and battery support is not yet
present.

There are a few minor changes over v14: better handling of -EPIPE,
switching to using kzalloc_obj where applicable, and renaming the config
option for the hid-nintendo-switch2-usb driver from
CONFIG_HID_NINTENDO_SWITCH2_USB to CONFIG_NINTENDO_SWITCH2_USB to match
other hid driver "suboptions."

Vicki Pfau (4):
  HID: nintendo: Add preliminary Switch 2 controller driver
  HID: nintendo: Add rumble support for Switch 2 controllers
  HID: nintendo: Add unified report format support
  HID: nintendo: Patch NYXI Hyperion 3 descriptor

 MAINTAINERS                            |    1 +
 drivers/hid/Kconfig                    |   30 +-
 drivers/hid/Makefile                   |    1 +
 drivers/hid/hid-ids.h                  |    4 +
 drivers/hid/hid-nintendo-switch2-usb.c |  474 +++++++
 drivers/hid/hid-nintendo.c             | 1701 +++++++++++++++++++++++-
 drivers/hid/hid-nintendo.h             |   72 +
 7 files changed, 2240 insertions(+), 43 deletions(-)
 create mode 100644 drivers/hid/hid-nintendo-switch2-usb.c
 create mode 100644 drivers/hid/hid-nintendo.h

-- 
2.54.0


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2026-10-02  9:14 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-02  0:29 [PATCH v15 0/4] HID: nintendo: Add preliminary Switch 2 controller driver Vicki Pfau
2026-10-02  0:29 ` [PATCH v15 1/4] " Vicki Pfau
2026-10-02  9:14   ` sashiko-bot
2026-10-02  0:29 ` [PATCH v15 2/4] HID: nintendo: Add rumble support for Switch 2 controllers Vicki Pfau
2026-10-02  9:14   ` sashiko-bot
2026-10-02  0:29 ` [PATCH v15 3/4] HID: nintendo: Add unified report format support Vicki Pfau
2026-10-02  0:29 ` [PATCH v15 4/4] HID: nintendo: Patch NYXI Hyperion 3 descriptor Vicki Pfau

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox