[ltp] thinkpad-acpi release 0.16-20070904 uploaded to ibm-acpi.sf.net

Henrique de Moraes Holschuh linux-thinkpad@linux-thinkpad.org
Tue, 4 Sep 2007 20:26:14 -0300


I have released version 0.16-20070904 of thinkpad-acpi through the
sourceforge.net release system.

Patches are available for 2.6.20, 2.6.21 and 2.6.22 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

Work in the nvram polling stuff is ongoing, but it is still not in this
release.

This release contains code to bring thinkpad-acpi backports in sync with the
features scheduled for 2.6.23.

Since the changes are sort of hard to understand without extensive comments,
I will reproduce the full git changelog below.  More information is in the
driver documentation.

You should be able to just tack in this version of thinkpad-acpi, forget
about input devices, and have it just work with HAL.  However, better
functionality through thinkpad-acpi's input devices will still require an
updated HAL (which, AFAIK, doesn't exist yet).

Enjoy!

-- 
  "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


Author: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Date:   Tue Sep 4 11:03:11 2007 -0300

    ACPI: thinkpad-acpi: bump up version to 0.16
    
    Name it thinkpad-acpi version 0.16 to avoid any confusion with some 0.15
    thinkpad-acpi development snapshots and backports that had input layer
    support, but no hotkey_report_mode support.
    
Author: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Date:   Sun Sep 2 00:28:52 2007 -0300

    ACPI: thinkpad-acpi: hotkey_report_mode read-write support
    
    ACPI core can send events over netlink in 2.6.23 and later, and
    thinkpad-acpi will use a different strategy to keep backwards compatibility
    with older userspace, without the need for the Kconfig option
    CONFIG_THINKPAD_ACPI_INPUT_ENABLED.
    
    Hotkey events are always sent to the input devices, and never sent to the
    ACPI netlink event interface.  A new module parameter is added:
    hotkey_report_mode, that selects whether events are sent to the (now)
    legacy ACPI procfs event socket: 0 default mode; 1 - issue hot key events
    over procfs; 2 - do not issue hot key events over procfs.
    
    The default mode is "issue hot key events" in 2.6.23 and later.  It is
    "runtime selectable" in driver backports to kernels that lack the ACPI
    netlink even interface.
    
    The way hot keys are being reported is available through the sysfs
    attribute hotkey_report_mode.  This sysfs attribute is read-only on 2.6.23,
    but it is read write on the backports to earlier kernels if no module
    parameter was used to set hotkey_report_mode.
    
    Hot key handling will be unconditionally enabled at driver load, along with
    the best possible mask.  This follows the Windows behaviour.  Users can
    modify hot key handling state it at runtime, or at load time by using the
    hotkey=disable module parameter.
    
    Userspace guidelines (using HAL as an example):
    
    Old HAL:
    	It will just work, as long as the user doesn't set
    	hotkey_report_mode=2.  Old HAL will get the events (including hot
    	key presses) from the ACPI procfs event interface, and it will
    	ignore the input devices.
    
    New HAL (one that supports ACPI events over netlink):
    
    	New HAL must be able to work through ACPI netlink + thinkpad-acpi
    	(and ACPI core) input devices, because that's what the ACPI
    	interface has been migrated to.  It likely will need to still be
    	able to work using procfs ACPI events when netlink is not
    	available, to support 2.6.22 and earlier kernels.  This is not
    	particular to thinkpad-acpi.
    
    	HAL should be able to work with procfs ACPI events + thinkpad-acpi
    	input devices if it wants to support enhanced functionality for
    	thinkpad-acpi in earlier kernels than 2.6.23, provided through
    	thinkpad-acpi backports.
    
    	HAL must be able to work in the way old HAL does, using only the
    	ACPI procfs event interface, if it wants to be usable in 2.6.22 and
    	earlier kernels.  Again, this is not particular to thinkpad-acpi.
    
    	When the ACPI netlink event interface is available, New HAL must
    	use the ACPI netlink event interface + thinkpad-acpi input devices.
    	In that case, don't bother with the stuff below.
    
    	When ACPI netlink event reporting is **not** available:
    
    	1. If no hotkey_report_mode sysfs attribute is available from
    	thinkpad-acpi: work as old HAL did (i.e. just get events through
    	procfs, *ignore the thinkpad-acpi input devices, if any, for
    	maximum compatibilty with older thinkpad-acpi backports*).  This is
    	compatible with previous thinkpad-acpi releases in mainline, and
    	also with ibm-acpi.
    
    	2. If the hotkey_report_mode sysfs attribute is available from
    	thinkpad-acpi, check if it is set to 2.  If (and only if!) it is
    	not 2, try to set it to 2 to avoid receiving duplicate events from
    	the thinkpad-acpi input devices and ACPI procfs event interface.
    	If no error is returned, HAL should work using the ACPI procfs
    	event interface, and thinkpad-acpi input devices.
    
    	If a write to hotkey_report_mode receives -EPERM or -EACCES, work
    	as old HAL did (just procfs, no thinkpad-acpi input devices).
    
    	Note that thinkpad-acpi with hotkey_report_mode set to 2 really
    	doesn't care if netlink or procfs is used, and delivers exactly the
    	same functionality over both... but since procfs ACPI interfaces
    	are going away eventually, HAL really is to switch to netlink when
    	it is available.