STRUCT I2C_ALGO_PCH_DATA(9)
π struct i2c_algo_pch_data(9) β bestie edition
okay so this is straight out of the Kernel API Manual, section 9, and it's literally the struct that makes I2C driver stuff happen on this chipset. buckle up π
β¨ NAME β¨
struct i2c_algo_pch_data β for I2C driver functionalities. that's the whole vibe, no cap π
πΈ SYNOPSIS πΈ
here's the struct in all its glory, copy it exactly, don't you dare typo it:
struct i2c_algo_pch_data {
struct i2c_adapter pch_adapter;
struct adapter_info *p_adapter_info;
void __iomem *pch_base_address;
int pch_buff_mode_en;
u32 pch_event_flag;
bool pch_i2c_xfer_in_progress;
};
π¦ Members π¦
okay so every field, one by one, let's go π
pch_adapterβ stores the reference to thei2c_adapterstructure. iconic.p_adapter_infoβ stores the reference to theadapter_infostructure. it's giving pointer energy β¨pch_base_addressβ specifies the remapped base address. yes, remapped, don't forget that part π₯pch_buff_mode_enβ specifies if buffer mode is enabled. like, is the buffer mode on or not, that's the question π«Άpch_event_flagβ specifies occurrence of interrupt events. it's literally tracking when interrupts happen πpch_i2c_xfer_in_progressβ specifies whether the transfer is completed. (yes, the name says "in progress" and the description says "completed" β I don't make the rules, I just report them ππ)
π§ SEE ALSO π§
the whole friend group, gathered in Kernel file ./drivers/i2c/busses/i2c-eg20t.c:
struct adapter_info(9)pch_i2c_init(9)pch_i2c_wait_for_bus_idle(9)pch_i2c_start(9)pch_i2c_stop(9)pch_i2c_repstart(9)pch_i2c_writebytes(9)pch_i2c_sendack(9)pch_i2c_sendnack(9)pch_i2c_restart(9)pch_i2c_readbytes(9)pch_i2c_cb(9)pch_i2c_handler(9)pch_i2c_xfer(9)pch_i2c_func(9)pch_i2c_disbl_int(9)
that's the whole page, bestie π«Ά it lives under ./drivers/i2c/busses, dated October 2026, and it's officially titled struct i2c_algo_pch_data(9). slay, go read your kernel source ππ
π¦ 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