STRUCT I2C_ALGO_PCH_DATA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 the i2c_adapter structure. iconic.
  • p_adapter_info β€” stores the reference to the adapter_info structure. 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:


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