qcom_labibb...overy_worker(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 NAME 🌸

qcom_labibb_ocp_recovery_worker β€” bestie, this one handles the OCP event πŸ’…


✨ SYNOPSIS ✨

void qcom_labibb_ocp_recovery_worker (struct work_struct *work );

πŸŽ€ ARGUMENTS πŸŽ€

  • work β€” the OCP work structure, that's literally the whole vibe 🫢

πŸ’– DESCRIPTION πŸ’–

Okay so picture this: this is the worker function that handles the Over Current Protection hardware event β€” yes, the whole OCP situation, main character energy only πŸ”₯

What it does is check if the hardware is still signaling an over-current condition, and it'll eventually stop the regulator if that condition is still being signaled after LABIBB_MAX_OCP_COUNT times. Like, it gives it that many chances and then it's done being nice πŸ’€

And if the driver that's consuming the regulator did not take action for the OCP condition, or the hardware just didn't stabilize? Bestie, a cut of the LAB and IBB regulators will be forced β€” the regulators get disabled, no cap πŸ”Œβœ¨

As a last resort: if the writes to shut down the LAB/IBB regulators fail for more than LABIBB_MAX_FATAL_COUNT, then a kernel panic will be triggered 😭 and ngl that's fully intentional β€” it's the last resort to protect the hardware from burning. This is expected to never happen, but it's kept around to try to further ensure that we protect the hardware at all costs. Protecting the hardware is the whole point, periodt πŸ‘‘

Fr fr though β€” that kernel panic path is by design, not a bug. It's the "we would literally rather crash than let the silicon cook" option 🫢

πŸ¦‹ SEE ALSO πŸ¦‹


Okay that's the whole thing, bestie 🌈 this page lives over in ./drivers/regulator, it's from October 2026, kernel-y as ever β€” mwah, go read the source, ily πŸ’œπŸŽ€

πŸ“¦ where this page comes from