Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 62d6f06c authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

Merge branches 'pm-wakeup' and 'pm-domains'

* pm-wakeup:
  PM / wakeup: Correct presence vs. emptiness of wakeup_* attributes

* pm-domains:
  PM / domains: Add pd_ignore_unused to keep power domains enabled
Loading
Loading
Loading
Loading
+30 −16
Original line number Diff line number Diff line
@@ -83,8 +83,10 @@ Contact: Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../wakeup_count attribute contains the number
		of signaled wakeup events associated with the device.  This
		attribute is read-only.  If the device is not enabled to wake up
		attribute is read-only.  If the device is not capable to wake up
		the system from sleep states, this attribute is not present.
		If the device is not enabled to wake up the system from sleep
		states, this attribute is empty.

What:		/sys/devices/.../power/wakeup_active_count
Date:		September 2010
@@ -93,8 +95,10 @@ Description:
		The /sys/devices/.../wakeup_active_count attribute contains the
		number of times the processing of wakeup events associated with
		the device was completed (at the kernel level).  This attribute
		is read-only.  If the device is not enabled to wake up the
		system from sleep states, this attribute is not present.
		is read-only.  If the device is not capable to wake up the
		system from sleep states, this attribute is not present.  If
		the device is not enabled to wake up the system from sleep
		states, this attribute is empty.

What:		/sys/devices/.../power/wakeup_abort_count
Date:		February 2012
@@ -104,8 +108,9 @@ Description:
		number of times the processing of a wakeup event associated with
		the device might have aborted system transition into a sleep
		state in progress.  This attribute is read-only.  If the device
		is not enabled to wake up the system from sleep states, this
		attribute is not present.
		is not capable to wake up the system from sleep states, this
		attribute is not present.  If the device is not enabled to wake
		up the system from sleep states, this attribute is empty.

What:		/sys/devices/.../power/wakeup_expire_count
Date:		February 2012
@@ -114,8 +119,10 @@ Description:
		The /sys/devices/.../wakeup_expire_count attribute contains the
		number of times a wakeup event associated with the device has
		been reported with a timeout that expired.  This attribute is
		read-only.  If the device is not enabled to wake up the system
		from sleep states, this attribute is not present.
		read-only.  If the device is not capable to wake up the system
		from sleep states, this attribute is not present.  If the
		device is not enabled to wake up the system from sleep states,
		this attribute is empty.

What:		/sys/devices/.../power/wakeup_active
Date:		September 2010
@@ -124,8 +131,10 @@ Description:
		The /sys/devices/.../wakeup_active attribute contains either 1,
		or 0, depending on whether or not a wakeup event associated with
		the device is being processed (1).  This attribute is read-only.
		If the device is not enabled to wake up the system from sleep
		states, this attribute is not present.
		If the device is not capable to wake up the system from sleep
		states, this attribute is not present.  If the device is not
		enabled to wake up the system from sleep states, this attribute
		is empty.

What:		/sys/devices/.../power/wakeup_total_time_ms
Date:		September 2010
@@ -134,8 +143,9 @@ Description:
		The /sys/devices/.../wakeup_total_time_ms attribute contains
		the total time of processing wakeup events associated with the
		device, in milliseconds.  This attribute is read-only.  If the
		device is not enabled to wake up the system from sleep states,
		this attribute is not present.
		device is not capable to wake up the system from sleep states,
		this attribute is not present.  If the device is not enabled to
		wake up the system from sleep states, this attribute is empty.

What:		/sys/devices/.../power/wakeup_max_time_ms
Date:		September 2010
@@ -144,8 +154,10 @@ Description:
		The /sys/devices/.../wakeup_max_time_ms attribute contains
		the maximum time of processing a single wakeup event associated
		with the device, in milliseconds.  This attribute is read-only.
		If the device is not enabled to wake up the system from sleep
		states, this attribute is not present.
		If the device is not capable to wake up the system from sleep
		states, this attribute is not present.  If the device is not
		enabled to wake up the system from sleep states, this attribute
		is empty.

What:		/sys/devices/.../power/wakeup_last_time_ms
Date:		September 2010
@@ -156,7 +168,8 @@ Description:
		signaling the last wakeup event associated with the device, in
		milliseconds.  This attribute is read-only.  If the device is
		not enabled to wake up the system from sleep states, this
		attribute is not present.
		attribute is not present.  If the device is not enabled to wake
		up the system from sleep states, this attribute is empty.

What:		/sys/devices/.../power/wakeup_prevent_sleep_time_ms
Date:		February 2012
@@ -165,9 +178,10 @@ Description:
		The /sys/devices/.../wakeup_prevent_sleep_time_ms attribute
		contains the total time the device has been preventing
		opportunistic transitions to sleep states from occurring.
		This attribute is read-only.  If the device is not enabled to
		This attribute is read-only.  If the device is not capable to
		wake up the system from sleep states, this attribute is not
		present.
		present.  If the device is not enabled to wake up the system
		from sleep states, this attribute is empty.

What:		/sys/devices/.../power/autosuspend_delay_ms
Date:		September 2010
+7 −0
Original line number Diff line number Diff line
@@ -2558,6 +2558,13 @@ bytes respectively. Such letter suffixes can also be entirely omitted.

	pcmv=		[HW,PCMCIA] BadgePAD 4

	pd_ignore_unused
			[PM]
			Keep all power-domains already enabled by bootloader on,
			even if no driver has claimed them. This is useful
			for debug and development, but should not be
			needed on a platform with proper driver support.

	pd.		[PARIDE]
			See Documentation/blockdev/paride.txt.

+13 −0
Original line number Diff line number Diff line
@@ -705,6 +705,14 @@ static int pm_genpd_runtime_resume(struct device *dev)
	return 0;
}

static bool pd_ignore_unused;
static int __init pd_ignore_unused_setup(char *__unused)
{
	pd_ignore_unused = true;
	return 1;
}
__setup("pd_ignore_unused", pd_ignore_unused_setup);

/**
 * pm_genpd_poweroff_unused - Power off all PM domains with no devices in use.
 */
@@ -712,6 +720,11 @@ void pm_genpd_poweroff_unused(void)
{
	struct generic_pm_domain *genpd;

	if (pd_ignore_unused) {
		pr_warn("genpd: Not disabling unused power domains\n");
		return;
	}

	mutex_lock(&gpd_list_lock);

	list_for_each_entry(genpd, &gpd_list, gpd_list_node)