Re: [PATCH] x86 APM: delete Linux kernel APM support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Len Brown <lenb@xxxxxxxxxx> wrote:

> From: Len Brown <len.brown@xxxxxxxxx>
> 
> Microsoft was able to delete APM from Windows in 2006
> with the release of Windows Vista. [...]

Does Windows XP still support it?

> [...]  5 years later it seems quite safe that the latest Linux kernel can 
> also.
> 
> The vintage APM laptops have become difficult to find,
> making changes in this area difficult to test.
> 
> apm_bios.h remains for CONFIG_APM_EMULATION
> used by non-x86 architectures.

Dunno. This bit:

> --- a/Documentation/feature-removal-schedule.txt
> +++ b/Documentation/feature-removal-schedule.txt
> @@ -618,12 +618,3 @@ Why:	The original implementation of memsw feature enabled by
>  	can also cleanup the parameter handling a bit ().
>  Who:	Michal Hocko <mhocko@xxxxxxx>
>  
> -----------------------------
> -
> -What:	CONFIG_APM
> -When:	2.6.40
> -Why:	Microsoft deleted APM from Windows as of Vista in in 2006.
> -	It now seems more than safe that the latest Linux Kernel be APM-free.
> -	The vintage laptops supporting APM are now difficult to find,
> -	making it problatic to maintain this code.
> -Who:	Len Brown <len.brown@xxxxxxxxx>

Is weird as there's no such CONFIG_APM entry upstream, and never was. Which 
tree is this entry included in?

While i'm not a fan of APM at all, this removal is a tad fast IMHO.

Beyond the lack of a upstream-visible feature-removal-schedule entry, we still 
have an Arcnet driver which hardware was obsoleted by Ethernet in the late 80s, 
and we still have i486 support and those are *much* older than APM.

If you look at the diffstat:

>  Documentation/feature-removal-schedule.txt |    9 -
>  MAINTAINERS                                |    8 -
>  arch/x86/Kconfig                           |  125 --
>  arch/x86/boot/Makefile                     |    1 -
>  arch/x86/boot/apm.c                        |   75 -
>  arch/x86/boot/main.c                       |    5 -
>  arch/x86/include/asm/bootparam.h           |    3 +-
>  arch/x86/kernel/Makefile                   |    2 -
>  arch/x86/kernel/apm_32.c                   | 2463 ----------------------------
>  arch/x86/kernel/process.c                  |    3 -
>  arch/x86/kernel/reboot.c                   |    3 -
>  arch/x86/kernel/setup.c                    |    4 -
>  12 files changed, 1 insertions(+), 2700 deletions(-)

You see that the kernel implementation is nicely modularized and its 
cross-section to the rest of arch/x86/ is minimal. To arch/x86/ it's little 
more than an obscure driver.

Thus from a maintenance POV APM has not been much of a drag on the x86 
maintainer side. Sure, we do not test it, but that's the case with most of the 
obsolete drivers in the kernel.

The principle is that as long as there's no ongoing drag, the cost of carrying 
obsolete drivers is minimal - and the unknown cost of screwing someone in a big 
way by removing hardware support is hard to measure reliably. So we are 
cautious and err on the side of supporting too much hardware.

Removal could be prepared by:

 - moving CONFIG_APM to under CONFIG_EXPERT though, and keep it there for a few 
   releases, and see whether anyone complains

 - we could emit a WARN() with a "APM support will be obsoleted, please report 
   this if you depend on this feature" text or so, and see what happens for a 
   couple of releases.

Thanks,

	Ingo
_______________________________________________
linux-pm mailing list
linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/linux-pm


[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux