linux-2.6 and improved version of the module

  • Math_B

    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