[ltp] thinkpad-acpi release 0.22-20090318-BETA uploaded to ibm-acpi.sf.net

Henrique de Moraes Holschuh linux-thinkpad@linux-thinkpad.org
Fri, 20 Mar 2009 02:48:14 -0300


I have released version 0.22-20090318 *BETA* of thinkpad-acpi through
the sourceforge.net release system.

To those wondering, 0.22 has been there for a while already, but I
never got around to announcing it here.  0.22 is the last version that
supports 2.6.25 and 2.6.26, and it is stable.

Patches are available for 2.6.27, 2.6.28 and 2.6.29-rc at:
http://sourceforge.net/project/showfiles.php?group_id=117042&package_id=230205

git users can get it directly from tags in:
git://repo.or.cz/linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git

As usual, this release contains a backport of the rfkill subsystem
from 2.6.29, as some new code in thinkpad-acpi needs the
rfkill_set_default() function.

This is a BETA testing version, due to the new backlight brightness
level code.  Please test it, and report.  Only IBM-era ThinkPads
should be affected.


There are a few high profile changes:

1. Most LEDs are now restricted by default.  The explanations are in
the documentation, and you can easily unrestrict them in your own
kernel build (it is just a matter of configuring thinkpad-acpi to not
restrict them at build time).

HOWEVER, and I am *serious* about this:  if you want to mess with all
the LEDs, be my guest (that's why I provided an easy to use way to
unrestrict them).  But do NOT get a kernel with that feature enabled
to anyone that has not explicitly asked for it, and who might have no
idea of the possible pitfalls.  That means it should NEVER be enabled
on any distro kernel.

Support for more LEDs (both restricted -- X6 ultrabase, and
unrestricted -- the thinkvantage LED :) ) will be added in the future.
It was too ugly to ship on this BETA version still, but it exists
already.


2. The hotkey enable/disable functionality has been removed, because
it basically would break down and cripple the driver if used.  That
thing does a lot more than just hotkey reporting, it is the whole
thinkpad-specific event interface that gets enabled/disabled.

If you don't want hotkeys, set the hotkey_mask to 0.

The removal will be done in two stages, just in case anything is weird
enough to be trying to use hotkey enable/disable commands.  And it
will log a scary kernel warning, please report to me whatever caused
it ASAP if you see a kernel warning dump by thinkpad-acpi.


3. You can now tell the LCD backlight brightness level control driver
to dump to the kernel log any attempts to change the brightness, along
with the PID of the userspace program doing it.  I will extend that to
every subdriver later.  It is a debug bit and you can enable/disable
that at runtime.  See the driver documentation for details.


4. EC+CMOS brightness control mode (brightness_mode=3) is gone, and
will NOT come back.  It is racy and causes no end of trouble with the
firmware.  EC+CMOS was a mode of operation that was in ibm-acpi when I
took it over, so I was relutant to remove it... but it has caused way
too much trouble over the years.

The modes are now:
mode 0 : autodetect.  Not implemented yet, fallbacks to whatever mode
         is the default for a given thinkpad.

mode 1 : EC-based.  Changes only the EC, and if you reboot or do
         anything else that causes the BIOS to update the EC, your
         changes will be forgotten.  That MIGHT include pressing
         the hotkeys, btw.

mode 2: UCMS/CMOS.  Call the BIOS SMM routines to change the
        brightness.  This is the default for everything Lenovo,
        and (this is new) for any thinkpad that doesn't define
        in the ACPI DSDT the name of the EC register for backlight
        brightness control.

        This means older thinkpads (like the T2x) are going to switch
        from mode 3 to mode 2 if brightness_mode is not specified.
        Please report how well that works for your thinkpad.

mode 3: this one is new.  It does EC-based control like mode 1,
        but stores the brightness level to NVRAM manually before
        suspend and system or driver shutdown (reboot, powerdown,
        rmmod).  It is enabled by default in any _IBM_ thinkpad
        that defines the EC register for backlight control in the
        ACPI DSDT.

        This means almost every non-ancient IBM thinkpad will switch
        to the new mode 3, including the X31-X41, T40-T43, R50-R52,
        R50e and R51e.  Please report how well that works for your
        thinkpad.

Please use the new brightness debug mode to track down if anything in
userspace is calling thinkpad-acpi when you press the brightness
hotkeys if the new code doesn't work well for you.

-- 
  "One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie." -- The Silicon Valley Tarot
  Henrique Holschuh