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

Commit 99c63221 authored by Len Brown's avatar Len Brown
Browse files

x86 idle APM: deprecate CONFIG_APM_CPU_IDLE



We don't want to export the pm_idle function pointer to modules.
Currently CONFIG_APM_CPU_IDLE w/ CONFIG_APM_MODULE forces us to.

CONFIG_APM_CPU_IDLE is of dubious value, it runs only on 32-bit
uniprocessor laptops that are over 10 years old.  It calls into
the BIOS during idle, and is known to cause a number of machines
to fail.

Removing CONFIG_APM_CPU_IDLE and will allow us to stop exporting
pm_idle.  Any systems that were calling into the APM BIOS
at run-time will simply use HLT instead.

cc: x86@kernel.org
cc: Jiri Kosina <jkosina@suse.cz>
cc: stable@kernel.org # .39.x
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent 3b70b2e5
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -14,6 +14,16 @@ Who: Len Brown <len.brown@intel.com>

---------------------------

What:	CONFIG_APM_CPU_IDLE, and its ability to call APM BIOS in idle
When:	2012
Why:	This optional sub-feature of APM is of dubious reliability,
	and ancient APM laptops are likely better served by calling HLT.
	Deleting CONFIG_APM_CPU_IDLE allows x86 to stop exporting
	the pm_idle function pointer to modules.
Who:	Len Brown <len.brown@intel.com>

----------------------------

What:	PRISM54
When:	2.6.34

+2 −0
Original line number Diff line number Diff line
@@ -359,6 +359,7 @@ struct apm_user {
 * idle percentage above which bios idle calls are done
 */
#ifdef CONFIG_APM_CPU_IDLE
#warning deprecated CONFIG_APM_CPU_IDLE will be deleted in 2012
#define DEFAULT_IDLE_THRESHOLD	95
#else
#define DEFAULT_IDLE_THRESHOLD	100
@@ -902,6 +903,7 @@ static void apm_cpu_idle(void)
	unsigned int jiffies_since_last_check = jiffies - last_jiffies;
	unsigned int bucket;

	WARN_ONCE(1, "deprecated apm_cpu_idle will be deleted in 2012");
recalc:
	if (jiffies_since_last_check > IDLE_CALC_LIMIT) {
		use_apm_idle = 0;