mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-11-18 23:54:26 +08:00
Merge branch 'thinkpad-2.6.32-part2' into release
This commit is contained in:
commit
2b474ad847
@ -199,18 +199,22 @@ kind to allow it (and it often doesn't!).
|
||||
|
||||
Not all bits in the mask can be modified. Not all bits that can be
|
||||
modified do anything. Not all hot keys can be individually controlled
|
||||
by the mask. Some models do not support the mask at all, and in those
|
||||
models, hot keys cannot be controlled individually. The behaviour of
|
||||
the mask is, therefore, highly dependent on the ThinkPad model.
|
||||
by the mask. Some models do not support the mask at all. The behaviour
|
||||
of the mask is, therefore, highly dependent on the ThinkPad model.
|
||||
|
||||
The driver will filter out any unmasked hotkeys, so even if the firmware
|
||||
doesn't allow disabling an specific hotkey, the driver will not report
|
||||
events for unmasked hotkeys.
|
||||
|
||||
Note that unmasking some keys prevents their default behavior. For
|
||||
example, if Fn+F5 is unmasked, that key will no longer enable/disable
|
||||
Bluetooth by itself.
|
||||
Bluetooth by itself in firmware.
|
||||
|
||||
Note also that not all Fn key combinations are supported through ACPI.
|
||||
For example, on the X40, the brightness, volume and "Access IBM" buttons
|
||||
do not generate ACPI events even with this driver. They *can* be used
|
||||
through the "ThinkPad Buttons" utility, see http://www.nongnu.org/tpb/
|
||||
Note also that not all Fn key combinations are supported through ACPI
|
||||
depending on the ThinkPad model and firmware version. On those
|
||||
ThinkPads, it is still possible to support some extra hotkeys by
|
||||
polling the "CMOS NVRAM" at least 10 times per second. The driver
|
||||
attempts to enables this functionality automatically when required.
|
||||
|
||||
procfs notes:
|
||||
|
||||
@ -255,18 +259,11 @@ sysfs notes:
|
||||
1: does nothing
|
||||
|
||||
hotkey_mask:
|
||||
bit mask to enable driver-handling (and depending on
|
||||
bit mask to enable reporting (and depending on
|
||||
the firmware, ACPI event generation) for each hot key
|
||||
(see above). Returns the current status of the hot keys
|
||||
mask, and allows one to modify it.
|
||||
|
||||
Note: when NVRAM polling is active, the firmware mask
|
||||
will be different from the value returned by
|
||||
hotkey_mask. The driver will retain enabled bits for
|
||||
hotkeys that are under NVRAM polling even if the
|
||||
firmware refuses them, and will not set these bits on
|
||||
the firmware hot key mask.
|
||||
|
||||
hotkey_all_mask:
|
||||
bit mask that should enable event reporting for all
|
||||
supported hot keys, when echoed to hotkey_mask above.
|
||||
@ -279,7 +276,8 @@ sysfs notes:
|
||||
bit mask that should enable event reporting for all
|
||||
supported hot keys, except those which are always
|
||||
handled by the firmware anyway. Echo it to
|
||||
hotkey_mask above, to use.
|
||||
hotkey_mask above, to use. This is the default mask
|
||||
used by the driver.
|
||||
|
||||
hotkey_source_mask:
|
||||
bit mask that selects which hot keys will the driver
|
||||
@ -287,9 +285,10 @@ sysfs notes:
|
||||
based on the capabilities reported by the ACPI firmware,
|
||||
but it can be overridden at runtime.
|
||||
|
||||
Hot keys whose bits are set in both hotkey_source_mask
|
||||
and also on hotkey_mask are polled for in NVRAM. Only a
|
||||
few hot keys are available through CMOS NVRAM polling.
|
||||
Hot keys whose bits are set in hotkey_source_mask are
|
||||
polled for in NVRAM, and reported as hotkey events if
|
||||
enabled in hotkey_mask. Only a few hot keys are
|
||||
available through CMOS NVRAM polling.
|
||||
|
||||
Warning: when in NVRAM mode, the volume up/down/mute
|
||||
keys are synthesized according to changes in the mixer,
|
||||
@ -525,6 +524,7 @@ compatibility purposes when hotkey_report_mode is set to 1.
|
||||
0x2305 System is waking up from suspend to eject bay
|
||||
0x2404 System is waking up from hibernation to undock
|
||||
0x2405 System is waking up from hibernation to eject bay
|
||||
0x5010 Brightness level changed/control event
|
||||
|
||||
The above events are never propagated by the driver.
|
||||
|
||||
@ -532,7 +532,6 @@ The above events are never propagated by the driver.
|
||||
0x4003 Undocked (see 0x2x04), can sleep again
|
||||
0x500B Tablet pen inserted into its storage bay
|
||||
0x500C Tablet pen removed from its storage bay
|
||||
0x5010 Brightness level changed (newer Lenovo BIOSes)
|
||||
|
||||
The above events are propagated by the driver.
|
||||
|
||||
@ -621,6 +620,8 @@ For Lenovo models *with* ACPI backlight control:
|
||||
2. Do *NOT* load up ACPI video, enable the hotkeys in thinkpad-acpi,
|
||||
and map them to KEY_BRIGHTNESS_UP and KEY_BRIGHTNESS_DOWN. Process
|
||||
these keys on userspace somehow (e.g. by calling xbacklight).
|
||||
The driver will do this automatically if it detects that ACPI video
|
||||
has been disabled.
|
||||
|
||||
|
||||
Bluetooth
|
||||
@ -1459,3 +1460,8 @@ Sysfs interface changelog:
|
||||
0x020400: Marker for 16 LEDs support. Also, LEDs that are known
|
||||
to not exist in a given model are not registered with
|
||||
the LED sysfs class anymore.
|
||||
|
||||
0x020500: Updated hotkey driver, hotkey_mask is always available
|
||||
and it is always able to disable hot keys. Very old
|
||||
thinkpads are properly supported. hotkey_bios_mask
|
||||
is deprecated and marked for removal.
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user