This document discusses various techniques for reducing energy consumption on mobile devices using the Linux kernel. It focuses on ARM architecture and Samsung's Exynos System-on-Chip. Key techniques discussed include CPU frequency scaling (CPUfreq), putting components into low power states via runtime power management, utilizing deeper CPU idle states, and dynamic voltage and frequency scaling for other devices (Devfreq). Measurements demonstrate energy savings from each technique, with the largest savings coming from combined use of CPU idle states, powering off idle CPU cores, and Devfreq.