From: Dave Jones APM doesn't _need_ the PM_LEGACY junk, so remove it's dependancy from Kconfig, and ifdef the junk in the code. Whilst the ifdefs are ugly, when the legacy stuff gets ripped out so will the ifdefs. Signed-off-by: Dave Jones Signed-off-by: Andrew Morton --- arch/i386/Kconfig | 2 +- arch/i386/kernel/apm.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff -puN arch/i386/Kconfig~make-apm-buildable-without-legacy-pm arch/i386/Kconfig --- devel/arch/i386/Kconfig~make-apm-buildable-without-legacy-pm 2006-01-04 02:43:16.000000000 -0800 +++ devel-akpm/arch/i386/Kconfig 2006-01-04 02:43:16.000000000 -0800 @@ -712,7 +712,7 @@ depends on PM && !X86_VISWS config APM tristate "APM (Advanced Power Management) BIOS support" - depends on PM && PM_LEGACY + depends on PM ---help--- APM is a BIOS specification for saving power using several different techniques. This is mostly useful for battery powered laptops with diff -puN arch/i386/kernel/apm.c~make-apm-buildable-without-legacy-pm arch/i386/kernel/apm.c --- devel/arch/i386/kernel/apm.c~make-apm-buildable-without-legacy-pm 2006-01-04 02:43:16.000000000 -0800 +++ devel-akpm/arch/i386/kernel/apm.c 2006-01-04 02:43:16.000000000 -0800 @@ -2291,7 +2291,9 @@ static int __init apm_init(void) apm_info.disabled = 1; return -ENODEV; } +#ifdef CONFIG_PM_LEGACY pm_active = 1; +#endif /* * Set up a segment that references the real mode segment 0x40 @@ -2382,7 +2384,9 @@ static void __exit apm_exit(void) exit_kapmd = 1; while (kapmd_running) schedule(); +#ifdef CONFIG_PM_LEGACY pm_active = 0; +#endif } module_init(apm_init); _