PM / Sleep: Simplify generic system suspend callbacks

The pm_runtime_suspended() check in __pm_generic_call() doesn't
really help and may cause problems to happen, because in some cases
the system suspend callbacks need to be called even if the given
device has been suspended by runtime PM.  For example, if the device
generally supports remote wakeup and is not enabled to wake up
the system from sleep, it should be prevented from generating wakeup
signals during system suspend and that has to be done by the
suspend callbacks that the pm_runtime_suspended() check prevents from
being executed.

Similarly, it may not be a good idea to unconditionally change
the runtime PM status of the device to 'active' in
__pm_generic_resume(), because the driver may want to leave the
device in the 'suspended' state, depending on what happened to it
before the system suspend and whether or not it is enabled to
wake up the system.

For the above reasons, remove the pm_runtime_suspended()
check from __pm_generic_call() and remove the code changing the
device's runtime PM status from __pm_generic_resume().

Change-Id: Ibce1b5616dc46c78e4f1c74929f98eb7033a653d
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
PM / Sleep: Merge internal functions in generic_ops.c

After the change that removed the code related to runtime PM
from __pm_generic_call() and __pm_generic_resume() these two
functions need not be separate any more, so merge them.

Change-Id: I4538ce980c78f4ef0629a867080168e663956164
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
PM / Sleep: Simplify device_suspend_noirq()

Remove a few if () and return statements in device_suspend_noirq()
that aren't really necessary.

Change-Id: I056996985439e857604cf2094484281965ab2432
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Reviewed-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
PM / Sleep: Correct inaccurate information in devices.txt

The documentation file Documentation/power/devices.txt contains some
information that isn't correct any more due to code modifications
made after that file had been created (or updated last time).  Fix
this.

Change-Id: I82431a720178c2973e7a61b3bdbaaeccd758b42b
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
PM / Sleep: Remove unused symbol 'suspend_cpu_hotplug'

Remove the suspend_cpu_hotplug declaration, which doesn't correspond
to an existing variable.

[rjw: Added the changelog.]

Change-Id: Ie09bdd868622c7d5d0304f68f9b9f9b784ca42ea
Signed-off-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
PM / Sleep: Update freezer documentation

This patch:
 * Substitutes some obsolete references to kernel/power/process.c by
   kernel/freezer.c.
 * Mentions kernel/freezer.c as being part of the "freezer" code along
   with the rest of the files.
 * Fixes a trivial typo.

Change-Id: Ib2a36a9e234915a2d99038d418c92e39631847df
Signed-off-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Merge branch 'cm-11.0' into kk_mkt