STRUCT STM32F4_I2C_DEV(9)
π¦ struct stm32f4_i2c_dev(9) β the private-data glow-up π¦
okay so this is a page from the Kernel API Manual, and bestie, we're talking about struct stm32f4_i2c_dev β literally the private data of the controller. it's giving backstage-pass energy: all the stuff the I2C controller keeps to itself and doesn't show the world. iykyk π
β¨ NAME β¨
struct stm32f4_i2c_dev β the private data of the controller. no cap, that's the whole vibe. π
πΈ SYNOPSIS πΈ
struct stm32f4_i2c_dev {
struct i2c_adapter adap;
struct device *dev;
void __iomem *base;
struct completion complete;
struct clk *clk;
int speed;
int parent_rate;
struct stm32f4_i2c_msg msg;
};
like, that's the whole struct, verbatim, don't @ me π«Ά
π Members π
(the original just calls this "Members" so we're keeping it, but know that we are obsessed with each one)
adapβ the I2C adapter for this controller. it's literally the controller's main character energy in the I2C subsystem β¨devβ the device for this controller. yes bestie, thestruct device *β the whole device-model hookup πΈbaseβ the virtual memory area. like, the mapped-in address space where the registers live π¦completeβ the completion of the I2C message. it's how the driver signals "hey, that message is DONE" πclkβ the hw i2c clock. hardware clock, not a vibe πspeedβ the I2C clock frequency of the controller. and heads up: Standard or Fast are supported β those are the only two, so don't come for anything else π₯parent_rateβ the I2C clock parent rate, in MHz. note the units, they matter fr fr βmsgβ the I2C transfer information. astruct stm32f4_i2c_msg, holding the deets of the transfer in flight π
π SEE ALSO π
if you wanna keep the rabbit hole going (and you do, bestie):
- the Kernel file
./drivers/i2c/busses/i2c-stm32f4.cβstructπ§ stm32f4_i2c_msg(9)stm32f4_i2c_hw_config(9)stm32f4_i2c_write_byte(9)stm32f4_i2c_write_msg(9)stm32f4_i2c_handle_write(9)stm32f4_i2c_handle_read(9)stm32f4_i2c_handle_rx_done(9)stm32f4_i2c_handle_rx_addr(9)stm32f4_i2c_isr_event(9)stm32f4_i2c_isr_error(9)stm32f4_i2c_xfer_msg(9)stm32f4_i2c_xfer(9)
like, that's the whole group chat. read them all, slay π
that's the page, periodt. this one lives in ./drivers/i2c/busses, and the date on it is October 2026 β so yeah, mark your calendar bestie, it's a whole era ποΈππ
π¦ 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