iosf_mbi_bl...t_i2c_access(9)
π iosf_mbi_block_punit_i2c_access(9) β from the Kernel API Manual, bestie β¨
okay so real talk, this one is a function from the Kernel API Manual and it's literally the bouncer for a shared bus. let's get into it π«Ά
β¨ NAME β¨
iosf_mbi_block_punit_i2c_access β blocks P-Unit accesses to the PMIC bus, no cap π«π
πΈ SYNOPSIS πΈ
int iosf_mbi_block_punit_i2c_access (void );
π ARGUMENTS π
voidβ no arguments. nothing. zero. empty set. she takes nothing and she delivers π
π¦ DESCRIPTION π¦
call this function to block P-Unit access to the PMIC I2C bus, so that the kernel can safely access the PMIC over the shared I2C bus. it's giving "excuse me, we need the room" energy π
this function acquires the P-Unit bus semaphore and notifies pmic_bus_access_notifier listeners that they may no longer access the P-Unit in a way which may cause it to access the shared I2C bus. so it's like, two things at once β semaphore acquired, besties notified. iconic. π
note this function may be called multiple times and the bus will not be released until iosf_mbi_unblock_punit_i2c_access has been called the same amount of times. so like, it's counting. keep track fr fr π₯
β RETURN β
nonzero on error π β so 0 means you're chilling, anything else means something went sideways.
π SEE ALSO π
kernel file ./arch/x86/include/asm/iosf_mbi.h and its whole friend group:
iosf_mbi_read(9)iosf_mbi_write(9)iosf_mbi_modify(9)iosf_mbi_punit_acquire(9)iosf_mbi_punit_release(9)iosf_mbi_register_pmic_bus_access_notifier(9)iosf_mbi_unregister_pmic_bus_access_notifier_unlocked(9)iosf_mbi_assert_punit_acquired(9)
that's the whole vibe bestie π§π this one lives in ./arch/x86/include/asm and the page is dated October 2026 β go read the header file, iykyk π
mwah π slay safely out there, and remember: every block needs its unblock π«Άβ¨
π¦ 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