STRUCT RMI_I2C_XPORT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct rmi_i2c_xport(9)

okay so bestie, welcome to the Kernel API Manual β€” this is the page for struct rmi_i2c_xport, and no cap, it's literally the little info-holder for i2c communication πŸ¦‹


✨ NAME ✨

struct rmi_i2c_xport β€” stores information for i2c communication


πŸŽ€ SYNOPSIS πŸŽ€

struct rmi_i2c_xport {
    struct rmi_transport_dev xport;
    struct i2c_client *client;
    struct mutex page_mutex;
    int page;
    u8 *tx_buf;
    size_t tx_buf_size;
    struct regulator_bulk_data supplies[2];
    u32 startup_delay;
 };

like, that's the whole shape of it, copy it exactly please πŸ’–


πŸ‘‘ Members πŸ‘‘

  • xport β€” the transport interface structure. she's the main character of this struct ngl πŸ’«
  • client β€” the I2C client device structure. the actual device bestie 🫢
  • page_mutex β€” locks the current page so nobody goes changing pages in unexpected ways 😭 fr fr, it's giving bodyguard energy
  • page β€” keeps track of the current virtual page, lowkey the bookmark of the whole situation πŸŽ€
  • tx_buf β€” buffer used for transmitting data to the sensor over i2c. her job is sending the vibes ✨
  • tx_buf_size β€” size of the buffer. yes, that buffer. the one right above πŸ’…
  • supplies β€” array of voltage regulators. plural, iconic, and yes it's an array πŸ”₯
  • startup_delay β€” milliseconds to pause after powering up the regulators. like a little beauty rest after the regulators wake up ⭐

🌈 SEE ALSO 🌈

Kernel file ./drivers/input/rmi4/rmi_i2c.c β€” go read it, iykyk πŸ¦‹


πŸ’€ quick vibe check: these are the exact members from the page, so don't go renaming anything, bestie β€” the compiler will NOT be nice about it πŸ™ˆ

and that's the whole page! this cutie came from ./drivers/input/rmi4, dated October 2026, and it's struct rmi_i2c_xport(9) β€” slay, periodt, go forth and i2c responsibly πŸ§šπŸ’œ

πŸ“¦ where this page comes from