STRUCT RMI_DATA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– 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 the struct 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 πŸ¦‹

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