From: Danilo Krummrich <dakr@kernel.org>
To: Rahul Rameshbabu <sergeantsagara@protonmail.com>
Cc: linux-input@vger.kernel.org, rust-for-linux@vger.kernel.org,
"Benjamin Tissoires" <bentiss@kernel.org>,
"Miguel Ojeda" <ojeda@kernel.org>,
"Alex Gaynor" <alex.gaynor@gmail.com>,
"Boqun Feng" <boqun.feng@gmail.com>,
"Gary Guo" <gary@garyguo.net>,
"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
"Benno Lossin" <benno.lossin@proton.me>,
"Andreas Hindborg" <a.hindborg@kernel.org>,
"Alice Ryhl" <aliceryhl@google.com>,
"Trevor Gross" <tmgross@umich.edu>,
"Daniel Brooks" <db48x@db48x.net>
Subject: Re: [PATCH v1 3/3] rust: hid: Glorious Gaming PC Race Model O and O- mice reference driver
Date: Sun, 29 Jun 2025 11:22:54 +0200 [thread overview]
Message-ID: <aGEF7unkkg7hZAgU@pollux> (raw)
In-Reply-To: <20250629045031.92358-5-sergeantsagara@protonmail.com>
On Sun, Jun 29, 2025 at 04:51:22AM +0000, Rahul Rameshbabu wrote:
> +const USB_VENDOR_ID_SINOWEALTH: u32 = 0x258a;
> +const USB_DEVICE_ID_GLORIOUS_MODEL_O: u32 = 0x0036;
As mentioned in the other patch, I think we shouldn't duplicate them, but use
the ones from drivers/hid/hid-ids.h.
> +struct GloriousRust;
> +
> +kernel::hid_device_table!(
> + HID_TABLE,
> + MODULE_HID_TABLE,
> + <GloriousRust as hid::Driver>::IdInfo,
> + [(
> + hid::DeviceId::new_usb(
> + hid::Group::Generic,
> + USB_VENDOR_ID_SINOWEALTH,
> + USB_DEVICE_ID_GLORIOUS_MODEL_O,
> + ),
> + (),
> + )]
> +);
> +
> +#[vtable]
> +impl hid::Driver for GloriousRust {
> + type IdInfo = ();
> + const ID_TABLE: hid::IdTable<Self::IdInfo> = &HID_TABLE;
> +
> + /// Glorious Model O and O- specify the const flag in the consumer input
> + /// report descriptor, which leads to inputs being ignored. Fix this by
> + /// patching the descriptor.
> + fn report_fixup<'a, 'b: 'a>(_hdev: &hid::Device, rdesc: &'b mut [u8]) -> &'a [u8] {
> + if rdesc.len() == 213
> + && rdesc[84] == 129
> + && rdesc[112] == 129
> + && rdesc[140] == 129
> + && rdesc[85] == 3
> + && rdesc[113] == 3
> + && rdesc[141] == 3
> + {
> + pr_info!("patching Glorious Model O consumer control report descriptor\n");
Please use dev_dbg!() instead.
> +
> + rdesc[85] = hid::MAIN_ITEM_VARIABLE | hid::MAIN_ITEM_RELATIVE;
> + rdesc[113] = hid::MAIN_ITEM_VARIABLE | hid::MAIN_ITEM_RELATIVE;
> + rdesc[141] = hid::MAIN_ITEM_VARIABLE | hid::MAIN_ITEM_RELATIVE;
> + }
> +
> + rdesc
> + }
> +}
> +
> +kernel::module_hid_driver! {
> + type: GloriousRust,
> + name: "GloriousRust",
> + authors: ["Rahul Rameshbabu <sergeantsagara@protonmail.com>"],
> + description: "Rust reference HID driver for Glorious Model O and O- mice",
> + license: "GPL",
> +}
> --
> 2.49.0
>
>
next prev parent reply other threads:[~2025-06-29 9:22 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-29 4:51 [PATCH v1 0/3] Initial work for Rust abstraction for HID device driver development Rahul Rameshbabu
2025-06-29 4:51 ` [PATCH v1 1/3] HID: core: Change hid_driver to use a const char* for name Rahul Rameshbabu
2025-06-29 4:51 ` [PATCH v1 2/3] rust: core abstractions for HID drivers Rahul Rameshbabu
2025-06-29 8:45 ` Danilo Krummrich
2025-07-03 6:37 ` Jiri Kosina
2025-07-03 8:01 ` Benjamin Tissoires
2025-07-03 8:20 ` Danilo Krummrich
2025-07-05 7:31 ` Rahul Rameshbabu
2025-07-05 10:41 ` Miguel Ojeda
2025-07-06 3:03 ` Rahul Rameshbabu
2025-07-05 10:54 ` Danilo Krummrich
2025-06-29 4:51 ` [PATCH v1 3/3] rust: hid: Glorious Gaming PC Race Model O and O- mice reference driver Rahul Rameshbabu
2025-06-29 9:22 ` Danilo Krummrich [this message]
2025-07-03 10:36 ` Peter Hutterer
2025-07-05 13:01 ` [PATCH v1 0/3] Initial work for Rust abstraction for HID device driver development Aditya Garg
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=aGEF7unkkg7hZAgU@pollux \
--to=dakr@kernel.org \
--cc=a.hindborg@kernel.org \
--cc=alex.gaynor@gmail.com \
--cc=aliceryhl@google.com \
--cc=benno.lossin@proton.me \
--cc=bentiss@kernel.org \
--cc=bjorn3_gh@protonmail.com \
--cc=boqun.feng@gmail.com \
--cc=db48x@db48x.net \
--cc=gary@garyguo.net \
--cc=linux-input@vger.kernel.org \
--cc=ojeda@kernel.org \
--cc=rust-for-linux@vger.kernel.org \
--cc=sergeantsagara@protonmail.com \
--cc=tmgross@umich.edu \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.