From: Vicki Pfau <vi@endrift.com>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>,
Jiri Kosina <jikos@kernel.org>,
Benjamin Tissoires <bentiss@kernel.org>,
linux-input@vger.kernel.org
Cc: Vicki Pfau <vi@endrift.com>, Silvan Jegen <s.jegen@gmail.com>
Subject: [PATCH v16 0/4] HID: nintendo: Add preliminary Switch 2 controller driver
Date: Mon, 5 Oct 2026 23:16:06 -0700 [thread overview]
Message-ID: <20261006061619.2005967-1-vi@endrift.com> (raw)
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.
This should fix the last thing sashiko has been reporting that isn't
complete and utter nonsense. Unless anything seriously bad comes through
the next round, or a maintainer tells me I need to fix it, I'm just done.
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 | 493 +++++++
drivers/hid/hid-nintendo.c | 1704 +++++++++++++++++++++++-
drivers/hid/hid-nintendo.h | 73 +
7 files changed, 2263 insertions(+), 43 deletions(-)
create mode 100644 drivers/hid/hid-nintendo-switch2-usb.c
create mode 100644 drivers/hid/hid-nintendo.h
--
2.54.0
next reply other threads:[~2026-10-06 6:16 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-06 6:16 Vicki Pfau [this message]
2026-10-06 6:16 ` [PATCH v16 1/4] HID: nintendo: Add preliminary Switch 2 controller driver Vicki Pfau
2026-10-06 6:30 ` sashiko-bot
2026-10-06 6:16 ` [PATCH v16 2/4] HID: nintendo: Add rumble support for Switch 2 controllers Vicki Pfau
2026-10-06 6:30 ` sashiko-bot
2026-10-06 6:16 ` [PATCH v16 3/4] HID: nintendo: Add unified report format support Vicki Pfau
2026-10-06 6:16 ` [PATCH v16 4/4] HID: nintendo: Patch NYXI Hyperion 3 descriptor Vicki Pfau
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261006061619.2005967-1-vi@endrift.com \
--to=vi@endrift.com \
--cc=bentiss@kernel.org \
--cc=dmitry.torokhov@gmail.com \
--cc=jikos@kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=s.jegen@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox