Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
2b474ad8
Commit
2b474ad8
authored
Sep 26, 2009
by
Len Brown
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'thinkpad-2.6.32-part2' into release
parents
ea261051
67bcae6e
Changes
2
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
453 additions
and
227 deletions
+453
-227
Documentation/laptops/thinkpad-acpi.txt
Documentation/laptops/thinkpad-acpi.txt
+27
-21
drivers/platform/x86/thinkpad_acpi.c
drivers/platform/x86/thinkpad_acpi.c
+426
-206
No files found.
Documentation/laptops/thinkpad-acpi.txt
View file @
2b474ad8
...
@@ -199,18 +199,22 @@ kind to allow it (and it often doesn't!).
...
@@ -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
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
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
by the mask. Some models do not support the mask at all. The behaviour
models, hot keys cannot be controlled individually. The behaviour of
of the mask is, therefore, highly dependent on the ThinkPad model.
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
Note that unmasking some keys prevents their default behavior. For
example, if Fn+F5 is unmasked, that key will no longer enable/disable
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.
Note also that not all Fn key combinations are supported through ACPI
For example, on the X40, the brightness, volume and "Access IBM" buttons
depending on the ThinkPad model and firmware version. On those
do not generate ACPI events even with this driver. They *can* be used
ThinkPads, it is still possible to support some extra hotkeys by
through the "ThinkPad Buttons" utility, see http://www.nongnu.org/tpb/
polling the "CMOS NVRAM" at least 10 times per second. The driver
attempts to enables this functionality automatically when required.
procfs notes:
procfs notes:
...
@@ -255,18 +259,11 @@ sysfs notes:
...
@@ -255,18 +259,11 @@ sysfs notes:
1: does nothing
1: does nothing
hotkey_mask:
hotkey_mask:
bit mask to enable
driver-handl
ing (and depending on
bit mask to enable
report
ing (and depending on
the firmware, ACPI event generation) for each hot key
the firmware, ACPI event generation) for each hot key
(see above). Returns the current status of the hot keys
(see above). Returns the current status of the hot keys
mask, and allows one to modify it.
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:
hotkey_all_mask:
bit mask that should enable event reporting for all
bit mask that should enable event reporting for all
supported hot keys, when echoed to hotkey_mask above.
supported hot keys, when echoed to hotkey_mask above.
...
@@ -279,7 +276,8 @@ sysfs notes:
...
@@ -279,7 +276,8 @@ sysfs notes:
bit mask that should enable event reporting for all
bit mask that should enable event reporting for all
supported hot keys, except those which are always
supported hot keys, except those which are always
handled by the firmware anyway. Echo it to
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:
hotkey_source_mask:
bit mask that selects which hot keys will the driver
bit mask that selects which hot keys will the driver
...
@@ -287,9 +285,10 @@ sysfs notes:
...
@@ -287,9 +285,10 @@ sysfs notes:
based on the capabilities reported by the ACPI firmware,
based on the capabilities reported by the ACPI firmware,
but it can be overridden at runtime.
but it can be overridden at runtime.
Hot keys whose bits are set in both hotkey_source_mask
Hot keys whose bits are set in hotkey_source_mask are
and also on hotkey_mask are polled for in NVRAM. Only a
polled for in NVRAM, and reported as hotkey events if
few hot keys are available through CMOS NVRAM polling.
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
Warning: when in NVRAM mode, the volume up/down/mute
keys are synthesized according to changes in the mixer,
keys are synthesized according to changes in the mixer,
...
@@ -525,6 +524,7 @@ compatibility purposes when hotkey_report_mode is set to 1.
...
@@ -525,6 +524,7 @@ compatibility purposes when hotkey_report_mode is set to 1.
0x2305 System is waking up from suspend to eject bay
0x2305 System is waking up from suspend to eject bay
0x2404 System is waking up from hibernation to undock
0x2404 System is waking up from hibernation to undock
0x2405 System is waking up from hibernation to eject bay
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.
The above events are never propagated by the driver.
...
@@ -532,7 +532,6 @@ 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
0x4003 Undocked (see 0x2x04), can sleep again
0x500B Tablet pen inserted into its storage bay
0x500B Tablet pen inserted into its storage bay
0x500C Tablet pen removed from 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.
The above events are propagated by the driver.
...
@@ -621,6 +620,8 @@ For Lenovo models *with* ACPI backlight control:
...
@@ -621,6 +620,8 @@ For Lenovo models *with* ACPI backlight control:
2. Do *NOT* load up ACPI video, enable the hotkeys in thinkpad-acpi,
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
and map them to KEY_BRIGHTNESS_UP and KEY_BRIGHTNESS_DOWN. Process
these keys on userspace somehow (e.g. by calling xbacklight).
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
Bluetooth
...
@@ -1459,3 +1460,8 @@ Sysfs interface changelog:
...
@@ -1459,3 +1460,8 @@ Sysfs interface changelog:
0x020400: Marker for 16 LEDs support. Also, LEDs that are known
0x020400: Marker for 16 LEDs support. Also, LEDs that are known
to not exist in a given model are not registered with
to not exist in a given model are not registered with
the LED sysfs class anymore.
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.
drivers/platform/x86/thinkpad_acpi.c
View file @
2b474ad8
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment