STRUCT GPI_I2C_CONFIG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ‘‘ struct gpi_i2c_config(9) β€” like, the kernel API manual edition πŸ’…

okay so bestie, welcome to the glow-up of struct gpi_i2c_config(9). this is the kernel API manual page for struct gpi_i2c_config, and it's literally the i2c config for a peripheral. yes, that's the whole vibe. let's get into it ✨


🌸 NAME 🌸

struct gpi_i2c_config β€” i2c config for peripheral πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

the whole struct, served fresh, no cap:

struct gpi_i2c_config {
    u8 set_config;
    u8 pack_enable;
    u8 cycle_count;
    u8 high_count;
    u8 low_count;
    u8 addr;
    u8 stretch;
    u16 clk_div;
    u32 rx_len;
    enum i2c_op op;
    bool multi_msg;
 };

πŸ’– Members πŸ’–

like a tour of every field, one by one, no skipping, periodt:

  • set_config β€” set peripheral config ✨
  • pack_enable β€” process tx/rx buffers as packed 🫢
  • cycle_count β€” clock cycles to be sent ⏰
  • high_count β€” high period of clock πŸ”₯
  • low_count β€” low period of clock πŸ’œ
  • addr β€” i2c bus address πŸ“¬
  • stretch β€” stretch the clock at eot 🌈
  • clk_div β€” source clock divider πŸŽ€
  • rx_len β€” receive length for buffer πŸ“
  • op β€” i2c cmd πŸ’…
  • multi_msg β€” is part of multi i2c r-w msgs πŸ’€

🌟 SEE ALSO 🌟

go peek at these besties, iykyk:

Kernel file ./include/linux/dma/qcom-gpi-dma.h enum spi_transfer_cmd(9), struct gpi_spi_config(9) 🧚


ngl, that's the whole page. every field, every type, every vibe β€” nothing dropped, nothing invented. slay πŸ’…

and that's a wrap, bestie 🫢 this icon of a page comes to you from ./include/linux/dma, dated October 2026 β€” mwah, iconic, no notes πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from