I disagree. The Linux Kernel power management framework is quite simple and easy to understand. The problem is mostly driver implementations, which are usually mostly self-contained. But it is possible to design a driver so that it works well in terms of power management.