Import a mostly rewritten and extended version of acpi_ibm:
- Restructured for easier extensibility and maintainability
- To be more uniform with the other ACPI extras drivers and to better reflect their actual meaning, some sysctls were moved: o brightness -> lcd_brightness o keylight -> thinklight o enable -> events o misckey -> hotkey o avail_mask -> availmask o key_mask -> eventmask
- New "initialmask" sysctl, which holds the initial eventmask
- The "wlan" sysctl is now read-only, since writing to it didn't have any effect
- The "version" sysctl was removed, since it seems to be the same (0x100) on all models I have seen
- Support for more hotkeys by the "hotkey" sysctl
- Improved support of ACPI events. Disabled by default, since it unexpectedly changes the behaviour of some keys. (on my T41p there are now 24 different keypress events that get reported)
- write support for: volume, mute, lcd_brightness and thinklight
- led(4) interface for the thinklight [1]
- New sysctls "fan" and "fan_speed" to support reading of fan status and speed
- New sysctl "thermal" to support reading of up to 8 thermal sensors
Reviewed by: philip
Approved by: philip
Submitted by: simon [1]
Inspired by: The Linux ibm_acpi driver by Borislav Deianov
http://ibm-acpi.sourceforge.net/ The ThinkPad Button program (tpb) by Markus Braun http://www.nongnu.org/tpb/
Thanks to: brueffer, dvl, njl, philip, simon, takawata and the many
testers from freebsd-acpi@ and freebsd-mobile@