i2c_of_prob...leanup_early(9)
π i2c_of_probe_simple_cleanup_early(9) β the "let go of the GPIOs early" girlie
okay so bestie, welcome to the Kernel API Manual π β today's main character is i2c_of_probe_simple_cleanup_early, and yes the title up there is lowkey truncated (i2c_of_prob...leanup_early(9)) because even manpage headers gotta fit the vibe check. It's a simple helper for the I2C OF prober that releases GPIOs before the component gets enabled. Very "drop the keys before you walk in the door" energy π
β¨ SYNOPSIS β¨
void i2c_of_probe_simple_cleanup_early (struct device *dev , void *data );
like, it returns void, it takes two things, and it does One Job. slay.
πΈ ARGUMENTS πΈ
devβ pointer to thestruct deviceof the caller. And bestieβ¦ it's unused. literally not even looked at. it's giving plus-one-at-the-party energy πdataβ pointer to thestruct i2c_of_probe_simple_ctxhelper context. this one's the actual VIP π
π¦ DESCRIPTION π¦
So here's the tea β β GPIO descriptors are exclusive. Like, exclusive-exclusive. Only one holder at a time, no sharing, no "we can both have it", no cap.
Which means they have to be released before the actual driver probes, so that the driver itself can acquire them. That's the whole entire point of this function: early cleanup, so the real driver doesn't show up to the party and find the GPIOs already taken ππ
fr fr β if you skip this, the driver probe is gonna get told "nope, someone else has it" and that someone else is you. awkward.
π SEE ALSO π
- Kernel file
./drivers/i2c/i2c-core-of-prober.c i2c_of_probe_component(9)i2c_of_probe_simple_enable(9)i2c_of_probe_simple_cleanup(9)
go read those too, iykyk π«Ά
aaaand that's the whole page!! sourced from ./drivers/i2c, dated October 2026, and yes she's still i2c_of_prob...leanup_early(9) in the footer because truncation is forever β¨ mwah ππ§ββοΈ
π¦ 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