The tp_smapi kernel module exposes some features of the ThinkPad hardware/firmware via a sysfs interface. Currently, the main implemented functionality is control of battery charging and extended battery status. The tp_smapi software package also includes an improved version of the HDAPS driver. The underlying hardware interfaces are SMAPI and direct access to the embedded controller. This driver