Add the necessary PM hooks and framework in the kernel to handle system suspend and resume flows. The goal is to move the common PM logic to kernel make the application less bother about the internal details.