ab8500_char...atchdog_work(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ab8500_charger_kick_watchdog_work(9) β€” the Kernel API Manual, but make it make sense

okay so bestie, welcome to the Kernel API Manual ✨ this one's a function page, and honestly it's giving "small function, big drama" β€” no cap.


πŸŽ€ NAME πŸŽ€

ab8500_charger_kick_watchdog_work β€” literally just kick the watchdog. that's the whole job. that's the assignment. πŸ’…


✨ SYNOPSIS ✨

void ab8500_charger_kick_watchdog_work (struct work_struct *work );

like yes, it returns void, and yes, it takes exactly one (1) argument. minimalism icon 🫢


πŸ¦‹ ARGUMENTS πŸ¦‹

  • work β€” a pointer to the work_struct structure. that's it. that's the argument. she's a work queue callback and she knows it. πŸ’œ

πŸ”₯ DESCRIPTION πŸ”₯

okay so this is the work queue function for kicking the charger watchdog. very "just do your little job" energy. ⭐

but HERE'S the tea, and it's kind of cursed β€” for ABB revision 1.0 and 1.1 there is a bug in the watchdog logic 😭 and because of that bug, we have to continuously kick the charger watchdog even when no charger is connected. not me having to babysit a watchdog at 3am. πŸ’€

and the caveat that matters (do NOT skip this, fr fr): this is only valid once the AC charger has been enabled. ⚠️

it's a bug that is not handled by the algorithm, so the watchdog has to be kicked by the charger driver when the AC charger is disabled. so yeah β€” the driver's gotta pick up the slack. the algorithm said "not my problem" and honestly? rude. πŸ™ˆ

🚨 lowkey important: this whole "kick it constantly with nothing plugged in" thing is a workaround for a real hardware/logic bug on ABB revision 1.0 and 1.1 β€” don't read it as normal, intended behaviour. it only applies once the AC charger has been enabled, and the disabled-AC-charger case has to be kicked by the charger driver itself.

🌈 SEE ALSO 🌈

bestie the cross-reference list is LONG. like, "she's got range" levels of long. buckle up, we're going through all of them, no skipping, every single one, because i love you and i respect the manual. πŸ’–

the kernel file in question: ./drivers/power/supply/ab8500_charger.c β€” plus all of these:

like i said. range. πŸ‘‘


mwah, that's the page 🫢 this lil ode to the ab8500 charger lives over in ./drivers/power/supply, and it was dated October 2026 β€” so mark your calendar bestie, she's from the future (or the docs just said so) πŸ¦‹βœ¨πŸ’…

πŸ“¦ where this page comes from