STRUCT AXXIA_I2C_DEV(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct axxia_i2c_dev(9) πŸ’–

okay bestie, welcome to the Kernel API Manual ✨ this is the page for struct axxia_i2c_dev, aka the I2C device context β€” no cap, it's giving β€œall the I2C state in one struct” πŸ’…

🌸 NAME 🌸

struct axxia_i2c_dev β€” I2C device context πŸ¦‹

✨ SYNOPSIS ✨

struct axxia_i2c_dev {
    void __iomem *base;
    struct i2c_msg *msg;
    struct i2c_msg *msg_r;
    size_t msg_xfrd;
    size_t msg_xfrd_r;
    int msg_err;
    struct completion msg_complete;
    struct device *dev;
    struct i2c_adapter adapter;
    struct clk *i2c_clk;
    u32 bus_clk_rate;
    bool last;
    struct i2c_client *slave;
    int irq;
};

πŸŽ€ Members πŸŽ€

okay members section, let’s go β€” each field gets its own little moment πŸ’–

  • base β€” pointer to register struct. yep, that’s the spot.
  • msg β€” pointer to current message ✨
  • msg_r β€” pointer to current read message (sequence transfer) πŸ¦‹
  • msg_xfrd β€” number of bytes transferred in tx_fifo πŸ‘‘
  • msg_xfrd_r β€” number of bytes transferred in rx_fifo 🌸
  • msg_err β€” error code for completed message 😭
  • msg_complete β€” xfer completion object πŸŽ€
  • dev β€” device reference 🫢
  • adapter β€” core i2c abstraction πŸ’œ
  • i2c_clk β€” clock reference for i2c input clock ⭐
  • bus_clk_rate β€” current i2c bus clock rate 🌈
  • last β€” a flag that says whether this is the last message in the transfer πŸ’…
  • slave β€” associated i2c_client πŸ”₯
  • irq β€” platform device IRQ number πŸ’€

πŸ”­ SEE ALSO πŸ”­

  • Kernel file ./drivers/i2c/busses/i2c-axxia.c β€” go look, iykyk 🧚

sign-off bestie 🫢 this one came from source/version ./drivers/i2c/busses and is dated October 2026 β€” mwah πŸ’‹ stay iconic ✨

πŸ“¦ where this page comes from