STRUCT RMI_DATA(9)
π struct rmi_data(9) β like, the whole vibe π
So this page is from the Kernel API Manual β it's struct rmi_data(9), and honestly bestie, it's the little struct that stores information for hid communication. That's it, that's the whole personality. Iconic. π
β¨ NAME β¨
struct rmi_data β stores information for hid communication π«Ά
πΈ SYNOPSIS πΈ
Okay so picture this struct, right? Here's exactly what's inside, verbatim, no cap:
struct rmi_data {
struct mutex page_mutex;
int page;
struct rmi_transport_dev xport;
wait_queue_head_t wait;
u8 *writeReport;
u8 *readReport;
u32 input_report_size;
u32 output_report_size;
unsigned long flags;
struct work_struct reset_work;
struct hid_device *hdev;
unsigned long device_flags;
struct irq_domain *domain;
int rmi_irq;
};
π Members π
Okay, member by member, let me introduce you to the whole squad β each one is a main character in their own right:
page_mutexβ locks the current page so nobody goes changing pages in unexpected ways π€ like, boundaries, bestie, respect them.pageβ keeps track of the current virtual page π.xportβ the transport device that gets registered with the RMI4 core β¨.waitβ used for waiting for read data β³ (the suspense!!).writeReportβ the output buffer when you're writing RMI registers βοΈ.readReportβ the input buffer when you're reading RMI registers π.input_report_sizeβ size of an input report (advertised by HID) π₯.output_report_sizeβ size of an output report (advertised by HID) π€.flagsβ flags for the current device (started, reading, etc...) π©.reset_workβ the worker that will be called in case of a mouse report ππ.hdevβ pointer to thestruct hid_deviceπ.device_flagsβ flags which describe the device π·οΈ.domainβ the IRQ domain allocated for this RMI4 device π§.rmi_irqβ the irq that will be used to generate events to rmi-core β‘.
π¦ SEE ALSO π¦
- Kernel file
./drivers/hid/hid-rmi.c rmi_set_page(9)
Go read them, iykyk π
lowkey obsessed with how tidy this struct is tbh. anyway β¨
Bestie, that's the whole page β brought to you by the fine folks at ./drivers/hid, dated October 2026. Slay, periodt, bye! πππ
π¦ 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