Zack's Kernel News
Clean Shutdown When Battery Power Is Too Low
Pavel Machek was annoyed by the fact that Nokia's N900 smartphone would drain the battery right down to a system crash. He proposed doing a clean shutdown if the system detected that the lithium ion battery dropped below 3V of usable power.
He posted a patch to do this. Tony Lindgren liked the concept but felt that 3V seemed slightly arbitrary. He proposed making the exact voltage configurable, and he added, "Also, the shutdown voltage can depend on external devices connected. It could be for example 3.3V depending on eMMC on some devices while devices with no eMMC could have it at 3.0V."
Pavel groaned, in a friendly way, and agreed that, yes, making it configurable would probably be the way to go. He said, "we probably need to create battery object in the device tree, then add properties there."
Pali Rohár suggested, "bq27x00 has the EDVF flag which means that the battery is empty. Maemo with bq27x00 driver is configured to issue system shutdown when EDVF is set. Maybe kernel should issue emergency shutdown e.g. a minute or two after the EDVF flag is set?"
Pavel then took a look and noticed that "it prioritizes battery cold over battery dead. IMO we don't need to shutdown on battery cold (we just may not charge the battery), but we need to shutdown on battery dead." So he posted a short patch to catch that particular case.
Later, Pavel had second thoughts about whether or not to let this whole feature be configurable at all. He said, "Actually, do we need to make it configurable? It looks like we should respect hardware telling us battery is dead, and only use (low) hardcoded voltages as a fallback."
He and Pali went back and forth a little on technical considerations, but there was no ultimate design resolution. Even so, it seems clear that something along the lines of this feature will get into the kernel as soon as it seems ready.
« Previous 1 2
Buy this article as PDF
(incl. VAT)