Separating Suspend and Hibernation

“‘The following three patches are intended to start the redesign
of the suspend and hibernation framework for devices,’ began Rafael
Wysocki. He noted that the first patch introduces new callbacks for
suspend and hibernation, while the other two patches implement the
new suspend and hibernation callbacks for the platform and PCI bus
types. In describing the first patch in the series, he noted that
previous callbacks were being phased out, explaining:

“‘The main purpose of doing this is to separate suspend (aka
S2RAM and standby) callbacks from hibernation callbacks in such a
way that the new callbacks won’t take arguments and the semantics
of each of them will be clearly specified…'”