Commit 99c63221435963e0cee2402686ba99293c2ffa9e
1 parent
3b70b2e5fc
Exists in
master
and in
39 other branches
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: Len Brown <len.brown@intel.com>
Showing 2 changed files with 12 additions and 0 deletions Side-by-side Diff
Documentation/feature-removal-schedule.txt
... | ... | @@ -14,6 +14,16 @@ |
14 | 14 | |
15 | 15 | --------------------------- |
16 | 16 | |
17 | +What: CONFIG_APM_CPU_IDLE, and its ability to call APM BIOS in idle | |
18 | +When: 2012 | |
19 | +Why: This optional sub-feature of APM is of dubious reliability, | |
20 | + and ancient APM laptops are likely better served by calling HLT. | |
21 | + Deleting CONFIG_APM_CPU_IDLE allows x86 to stop exporting | |
22 | + the pm_idle function pointer to modules. | |
23 | +Who: Len Brown <len.brown@intel.com> | |
24 | + | |
25 | +---------------------------- | |
26 | + | |
17 | 27 | What: PRISM54 |
18 | 28 | When: 2.6.34 |
19 | 29 |
arch/x86/kernel/apm_32.c
... | ... | @@ -359,6 +359,7 @@ |
359 | 359 | * idle percentage above which bios idle calls are done |
360 | 360 | */ |
361 | 361 | #ifdef CONFIG_APM_CPU_IDLE |
362 | +#warning deprecated CONFIG_APM_CPU_IDLE will be deleted in 2012 | |
362 | 363 | #define DEFAULT_IDLE_THRESHOLD 95 |
363 | 364 | #else |
364 | 365 | #define DEFAULT_IDLE_THRESHOLD 100 |
... | ... | @@ -902,6 +903,7 @@ |
902 | 903 | unsigned int jiffies_since_last_check = jiffies - last_jiffies; |
903 | 904 | unsigned int bucket; |
904 | 905 | |
906 | + WARN_ONCE(1, "deprecated apm_cpu_idle will be deleted in 2012"); | |
905 | 907 | recalc: |
906 | 908 | if (jiffies_since_last_check > IDLE_CALC_LIMIT) { |
907 | 909 | use_apm_idle = 0; |