STRUCT ST_I2C_DEV(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct st_i2c_dev(9) β€” the kernel API manual, bestie edition ✨

Okay so this page is literally all about struct st_i2c_dev, and the vibe is: private data of the controller. That's it, that's the whole personality. It's the little data bag that the ST I2C controller keeps all to itself πŸŽ€


✨ SYNOPSIS ✨

Here's the whole struct, no cap β€” every field, exactly as it appears:

struct st_i2c_dev {
    struct i2c_adapter      adap;
    struct device           *dev;
    void __iomem            *base;
    struct completion       complete;
    int irq;
    struct clk              *clk;
    int mode;
    u32 scl_min_width_us;
    u32 sda_min_width_us;
    struct st_i2c_client    client;
    bool busy;
 };

πŸ¦‹ Members β€” meet the cast 🫢

  • adap β€” the I2C adapter for this controller. main character energy honestly πŸ‘‘
  • dev β€” the device for this controller πŸ’–
  • base β€” virtual memory area. yes queen, memory-mapped ✨
  • complete β€” completion of I2C message. it's giving "wait for it…" 😌
  • irq β€” the interrupt line for the controller ⚑
  • clk β€” the hw ssc block clock πŸ•°οΈ
  • mode β€” the I2C mode of the controller. Standard or Fast only supported β€” so like, don't come in here with High-Speed dreams, it's not that kind of party πŸ’€
  • scl_min_width_us β€” SCL line minimum pulse width in us πŸ“
  • sda_min_width_us β€” SDA line minimum pulse width in us πŸ“
  • client β€” I2C transfert information 🧚
  • busy β€” I2C transfer on-going. lowkey the most relatable field in the whole struct, fr fr 🫢

🌈 SEE ALSO 🌈

Kernel file ./drivers/i2c/busses/i2c-st.c plus this whole friend group:


πŸ’€ Real talk for a sec: those parenthesised (9) numbers mean they're kernel API pages too, so go read them if you want the whole story. iykyk.

That's the page, bestie β€” go forth and slay your I2C transfers πŸ’…βœ¨

This icon was brought to you from the ./drivers/i2c/busses directory, dated October 2026, and it's all about struct st_i2c_dev(9). Stan. πŸŽ€

πŸ“¦ where this page comes from