As Linux continues to migrate into the embedded systems space, the ability to support low-power battery operation is rapidly becoming a major issue. Based on the target CPU architecture, there are really two somewhat different power management implementation approaches in the community. One is trying to optimize operation using existing ACPI features on the x86 and derivative processors, and one is trying to optimize operation on those processors where ACPI is not available.

This paper presents the problem space for embedded power management, outlines the different approaches to power management, and presents techniques and guidelines for the use of more aggressive power management techniques, as required for battery operation.