Math_B - 2006-08-08

I have made a linux-2.6-only version of the omnibook kernel module.
It also include some features improvement.
I intent to maintain and enhance it.

It is hosted in a separate project:

Here is the full changelog from the latest release version:

.20060806 Mathieu Bérard <>
* Make the module linux 2.6 only
  Kernel versions from 2.6.8 to a least 2.6.17 are supported
  Code for compatibility with kernels older than 2.6.17 is
  mostly implemented in compat.h
* Integrate with Driver Model:
  register as a platform device and optional
  registration as a backlight device (2.6.17+ required here)
* Get rid of deprecated pm_legacy functions
* Use kernel-provided DMI information:
  Use kernel-provided dmi_check_system for system identification
  omnibook_tc_t and omnibook_models_t are merged and converted into a
  dmi_system_id struct and moved from init.c to laptop.h
* MODULE_PARAM -> 2.6-style module_parm_*
* Move some code from "feature".c files back to init.c
  Interface is provided by the new omnibook_feature struct
  Enabled features are now in placed in a linked list
  This eliminate util.c
  Rationale: Reduce code duplication and create a standard template for features
* Move dmi and version display into their own file: info.c
* Remove all (as unneeded) EXPORT_SYMBOL
* Misc fixes in Makefile
  Also make more use of Kbuild
* Use sscanf and simple_stro{u}l for strings parsing instead of custom code
* Run lindent for better conformance with kernel coding style
* Add very limited support for some Toshiba M40 (more info needed)
* Use bitmasks for EC types matching, this change is transparent for the user
  (e.g. one can still use ectype=num module parameter)
  Rationale: Reduce the size of the omnibook_feature struct
* Polish Debian support: Use module-assistant and fix all Lintian warning
  Fix building against non-running kernel (Thanks to Daniel Gimpelevich)
* Update documentation and omnibook-integration.patch
* Fix spinlock usage: they can be used unconditionally as they are automatically
  optimized out at build-time on UP. This should improve PREEMPT safety
* Spinlock protect omnibook_mem_* and use ioread8 and iowrite8
* Fix: Custom EC access function are also used if ACPI is compiled but disabled
* Cleanup: remove lots of unneeded #ifdef
* Add a new feature for testers: dump
  Dump was stolen from the ibm_acpi driver
  It is disabled by default
* Bump version to 2.YYYYMMDD

2006-05-15 Thomas Perl <>
* Added support for xe4500's "audio mute" led