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.

The Author

The Linux kernel mailing list comprises the core of Linux development activities. Traffic volumes are immense, often reaching 10,000 messages in a week, and keeping up to date with the entire scope of development is a virtually impossible task for one person. One of the few brave souls to take on this task is Zack Brown.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Kernel News

    Chronicler Zack Brown reports on the latest news, views, dilemmas, and developments within the Linux kernel community.

  • Kernel News

    Chronicler Zack Brown reports on want vs. need, and hiding system resources ... from the system.

  • Kernel News

    Chronicler Zack Brown reports on the latest news, views, dilemmas, and developments within the Linux kernel community.

  • Virtual Memory

    Virtual memory makes your system safer and more efficient. But what is it really? We take a look inside this powerful feature that is built into Linux.

  • KVM

    KVM brings the kernel into the virualization game. We’ll explain why the Linux world is so interested in this promising virtualization alternative.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More