STRUCT I2C_ARBITRATOR_DATA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct i2c_arbitrator_data(9) β€” the Kernel API Manual, bestie edition πŸŽ€

okay so this is a page from the Kernel API Manual (yes, the (9) section, we're in deep kernel territory, main character energy) and it's all about struct i2c_arbitrator_data β€” literally just the driver data for an I2C arbitrator. that's it. that's the vibe. it's a struct that holds the little contract between two sides who both want the same I2C bus and have to be polite about it 🫢


✨ NAME ✨

struct i2c_arbitrator_data β€” Driver data for I2C arbitrator

like, the whole personality of this thing is "I am the data the arbitrator driver carries around." no cap. πŸ’…


🌸 SYNOPSIS 🌸

struct i2c_arbitrator_data {
    struct gpio_desc *our_gpio;
    struct gpio_desc *their_gpio;
    unsigned int slew_delay_us;
    unsigned int wait_retry_us;
    unsigned int wait_free_us;
 };

look at her. five fields. absolutely iconic. copy it exactly, don't be weird about it πŸ™ˆ


πŸ¦‹ Members πŸ¦‹

okay bestie, field-by-field breakdown, let's gooo:

  • our_gpio β€” the GPIO descriptor we'll use to claim. it's ours. we're the ones holding it up in the group chat like "hey I need the bus" βœ‹
  • their_gpio β€” the GPIO descriptor that the other side will use to claim. yes, they get one too. it's giving mutual respect, it's giving healthy boundaries πŸ’œ
  • slew_delay_us β€” microseconds to wait for a GPIO to go high. like, give it a sec to actually rise, it's not being rude, it's just physics 🌈
  • wait_retry_us β€” we'll attempt another claim after this many microseconds. so if at first you don't succeed… try again after exactly this long. periodt ⏱️
  • wait_free_us β€” we'll give up after this many microseconds. that's the deadline, babe. after this, we're done asking. 😭
fr fr, these are all just unsigned int microsecond values plus two struct gpio_desc * pointers β€” no hidden fields, no surprises, don't go looking for extra lore πŸ”₯

πŸ‘‘ SEE ALSO πŸ‘‘

one single reference, and it's the whole point:

  • Kernel file ./drivers/i2c/muxes/i2c-arb-gpio-challenge.c β€” the actual driver, the source of truth, the place where all five of these fields get used. go read it, iykyk ⭐

and that's the page!! short, sweet, absolutely slayed πŸ“

sign-off time πŸ’– β€” this lil beauty lives in ./drivers/i2c/muxes and the man page is dated October 2026. mwah. go forth and arbitrate responsibly, bestie πŸ§šβ€β™€οΈβœ¨

πŸ“¦ where this page comes from