1. Kernel 2.4

1.1. PCMCIA

From PCMCIA.ORG: PCMCIA (Personal Computer Memory Card International Association) is an international standards body and trade association with over 200 member companies that was founded in 1989 to establish standards for Integrated Circuit cards and to promote interchangeability among mobile computers where ruggedness, low power, and small size were critical. As the needs of mobile computer users have changed, so has the PC Card Standard. By 1991, PCMCIA had defined an I/O interface for the same 68 pin connector initially used for memory cards. At the same time, the Socket Services Specification was added and was soon followed by the Card Services Specifcation as developers realized that common software would be needed to enhance compatibility. The cards are available in different formats: Type I, II, III.

A quotation from the ../Documentation/Changes file: "PCMCIA (PC Card) support is now partially implemented in the main kernel source. Pay attention when you recompile your kernel. If you need to use the PCMCIA-CS modules, then don't compile the kernel's PCMCIA support. If you don't need to use the PCMCIA-CS modules (i.e. all the drivers you need are in the kernel sources), then don't compile them; you won't need anything in there. Also, be sure to upgrade to the latest PCMCIA-CS release." Further information you may get from the README-2.4 included with this package.

You may find an example kernel configuration for laptops in the Section 3, “Kernel Configuration for Laptops”.

1.2. Powermanagement

At the moment there are two power management drivers in the linux kernel (AFAIK). They each have different userspace interfaces /proc/apm/ and /dev/apmctl/ and /proc/acpi/ or something.

For further information see the page of John Fremlin . He has also written a program named powermanager.

With kernel 2.4 there is ACPI available, see ACPI chapter below.

The SuSE Powersave Daemon provides battery, temperature, AC, and CPU frequency control and monitoring along with proper suspend to disk/RAM and standby support with shell hooks that are easy to extend. It supports APM and ACPI machines and can control a hard disk's advanced power and acoustic management settings. It is perfect for laptops and workstations that need to run quietly with low power consumption, or switch to full performance mode if needed. Self definable power schemes give full control over power control features and allow easy and automatic switching between performance or power saving settings for each hardware component.

1.3. Hotplug

There is a new mailing list for developers interested in any aspects of the Linux kernel hotplug ability and functionality. This would include (but is not restricted to) USB, PCMCIA, SCSI, Firewire, and probably PCI developers. There is an initial SourceForge site.

Kernel Support for Hot-Plugable Devices

CONFIG_HOTPLUG
  Say Y here if you want to plug devices into your computer while
  the system is running, and be able to use them quickly. In many
  cases, the devices can likewise be unplugged at any time too.

  One well known example of this is PCMCIA- or PC-cards, credit-card
  size devices such as network cards, modems or hard drives which are
  plugged into slots found on all modern laptop computers. Another
  example, used on modern desktops as well as laptops, is USB.

  Enable HOTPLUG and KMOD, and build a modular kernel. Get 
  agent software
  and install it. Then your kernel will automatically call out to a
  user mode "policy agent" (/sbin/hotplug) to
  load modules and set up software needed to use devices as
  you hotplug them.