STRUCT HIDSPI_DEV_DESCRIPTOR(9)
πΈ struct hidspi_dev_descriptor(9) πΈ
okay so we're in the Kernel API Manual bestie, and this is literally the whole vibe of HID-over-SPI device descriptors. strap in π
β¨ NAME β¨
struct hidspi_dev_descriptor β the actual definition of a HIDSPI device descriptor. that's it, that's the whole thing, and yes she is important π
π SYNOPSIS π
struct hidspi_dev_descriptor {
__le16 dev_desc_len;
__le16 bcd_ver;
__le16 rep_desc_len;
__le16 max_input_len;
__le16 max_output_len;
__le16 max_frag_len;
__le16 vendor_id;
__le16 product_id;
__le16 version_id;
__le16 flags;
__le32 reserved;
};
look at her. all those __le16s lined up like a little choir π (and one lone __le32 at the end serving main character energy, we love to see it)
π Members π
okay so here's the member-by-member breakdown, no cap, nothing skipped:
dev_desc_lenβ the length of the complete device descriptor. and it is fixed to0x18(that's 24 in human numbers). do not freestyle this one, she's not negotiable π ββοΈbcd_verβ the version number of the HIDSPI protocol supported, in binary coded decimal (BCD) format. Must be fixed to0x0300. again: fixed. not a suggestion. periodt πrep_desc_lenβ the length of the report descriptor πmax_input_lenβ the length of the largest possible HID input (or feature) reportmax_output_lenβ the length of the largest output (or feature) report π€max_frag_lenβ the length of the largest fragment, where a fragment represents the body of an input report. fancy!! π§vendor_idβ device manufacturer's vendor ID πproduct_idβ the device's unique model/product IDversion_idβ the device's unique versionflagsβ specify flags for the device's operation π©reservedβ reserved, and should be0. she's just sitting there. leave her at0π«Ά
β οΈ friendly reminder bestie:dev_desc_lenis fixed at0x18(24) andbcd_vermust be0x0300, andreservedshould be0. those aren't vibes, those are rules π
π₯ SEE ALSO π₯
- Kernel file
./include/linux/hid-over-spi.hstructinput_report_body_header(9), structinput_report_body(9), structoutput_report_header(9), structoutput_report(9)
like, go read the whole friend group, they're all connected, iykyk π
and that's the page!! this lil icon lives in ./include/linux, dated October 2026, and she's filed under struct hidspi_dev_descriptor(9). slay, go forth and set your reserved to 0 π¦β¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms