Merge branch 'thinkpad-acpi' into release
This commit is contained in:
commit
336d63b8a3
3 changed files with 656 additions and 245 deletions
|
@ -20,7 +20,8 @@ moved to the drivers/misc tree and renamed to thinkpad-acpi for kernel
|
||||||
kernel 2.6.29 and release 0.22.
|
kernel 2.6.29 and release 0.22.
|
||||||
|
|
||||||
The driver is named "thinkpad-acpi". In some places, like module
|
The driver is named "thinkpad-acpi". In some places, like module
|
||||||
names, "thinkpad_acpi" is used because of userspace issues.
|
names and log messages, "thinkpad_acpi" is used because of userspace
|
||||||
|
issues.
|
||||||
|
|
||||||
"tpacpi" is used as a shorthand where "thinkpad-acpi" would be too
|
"tpacpi" is used as a shorthand where "thinkpad-acpi" would be too
|
||||||
long due to length limitations on some Linux kernel versions.
|
long due to length limitations on some Linux kernel versions.
|
||||||
|
@ -37,7 +38,7 @@ detailed description):
|
||||||
- ThinkLight on and off
|
- ThinkLight on and off
|
||||||
- limited docking and undocking
|
- limited docking and undocking
|
||||||
- UltraBay eject
|
- UltraBay eject
|
||||||
- CMOS control
|
- CMOS/UCMS control
|
||||||
- LED control
|
- LED control
|
||||||
- ACPI sounds
|
- ACPI sounds
|
||||||
- temperature sensors
|
- temperature sensors
|
||||||
|
@ -46,6 +47,7 @@ detailed description):
|
||||||
- Volume control
|
- Volume control
|
||||||
- Fan control and monitoring: fan speed, fan enable/disable
|
- Fan control and monitoring: fan speed, fan enable/disable
|
||||||
- WAN enable and disable
|
- WAN enable and disable
|
||||||
|
- UWB enable and disable
|
||||||
|
|
||||||
A compatibility table by model and feature is maintained on the web
|
A compatibility table by model and feature is maintained on the web
|
||||||
site, http://ibm-acpi.sf.net/. I appreciate any success or failure
|
site, http://ibm-acpi.sf.net/. I appreciate any success or failure
|
||||||
|
@ -53,7 +55,7 @@ reports, especially if they add to or correct the compatibility table.
|
||||||
Please include the following information in your report:
|
Please include the following information in your report:
|
||||||
|
|
||||||
- ThinkPad model name
|
- ThinkPad model name
|
||||||
- a copy of your DSDT, from /proc/acpi/dsdt
|
- a copy of your ACPI tables, using the "acpidump" utility
|
||||||
- a copy of the output of dmidecode, with serial numbers
|
- a copy of the output of dmidecode, with serial numbers
|
||||||
and UUIDs masked off
|
and UUIDs masked off
|
||||||
- which driver features work and which don't
|
- which driver features work and which don't
|
||||||
|
@ -66,17 +68,18 @@ Installation
|
||||||
------------
|
------------
|
||||||
|
|
||||||
If you are compiling this driver as included in the Linux kernel
|
If you are compiling this driver as included in the Linux kernel
|
||||||
sources, simply enable the CONFIG_THINKPAD_ACPI option, and optionally
|
sources, look for the CONFIG_THINKPAD_ACPI Kconfig option.
|
||||||
enable the CONFIG_THINKPAD_ACPI_BAY option if you want the
|
It is located on the menu path: "Device Drivers" -> "X86 Platform
|
||||||
thinkpad-specific bay functionality.
|
Specific Device Drivers" -> "ThinkPad ACPI Laptop Extras".
|
||||||
|
|
||||||
|
|
||||||
Features
|
Features
|
||||||
--------
|
--------
|
||||||
|
|
||||||
The driver exports two different interfaces to userspace, which can be
|
The driver exports two different interfaces to userspace, which can be
|
||||||
used to access the features it provides. One is a legacy procfs-based
|
used to access the features it provides. One is a legacy procfs-based
|
||||||
interface, which will be removed at some time in the distant future.
|
interface, which will be removed at some time in the future. The other
|
||||||
The other is a new sysfs-based interface which is not complete yet.
|
is a new sysfs-based interface which is not complete yet.
|
||||||
|
|
||||||
The procfs interface creates the /proc/acpi/ibm directory. There is a
|
The procfs interface creates the /proc/acpi/ibm directory. There is a
|
||||||
file under that directory for each feature it supports. The procfs
|
file under that directory for each feature it supports. The procfs
|
||||||
|
@ -111,15 +114,17 @@ The version of thinkpad-acpi's sysfs interface is exported by the driver
|
||||||
as a driver attribute (see below).
|
as a driver attribute (see below).
|
||||||
|
|
||||||
Sysfs driver attributes are on the driver's sysfs attribute space,
|
Sysfs driver attributes are on the driver's sysfs attribute space,
|
||||||
for 2.6.23 this is /sys/bus/platform/drivers/thinkpad_acpi/ and
|
for 2.6.23+ this is /sys/bus/platform/drivers/thinkpad_acpi/ and
|
||||||
/sys/bus/platform/drivers/thinkpad_hwmon/
|
/sys/bus/platform/drivers/thinkpad_hwmon/
|
||||||
|
|
||||||
Sysfs device attributes are on the thinkpad_acpi device sysfs attribute
|
Sysfs device attributes are on the thinkpad_acpi device sysfs attribute
|
||||||
space, for 2.6.23 this is /sys/devices/platform/thinkpad_acpi/.
|
space, for 2.6.23+ this is /sys/devices/platform/thinkpad_acpi/.
|
||||||
|
|
||||||
Sysfs device attributes for the sensors and fan are on the
|
Sysfs device attributes for the sensors and fan are on the
|
||||||
thinkpad_hwmon device's sysfs attribute space, but you should locate it
|
thinkpad_hwmon device's sysfs attribute space, but you should locate it
|
||||||
looking for a hwmon device with the name attribute of "thinkpad".
|
looking for a hwmon device with the name attribute of "thinkpad", or
|
||||||
|
better yet, through libsensors.
|
||||||
|
|
||||||
|
|
||||||
Driver version
|
Driver version
|
||||||
--------------
|
--------------
|
||||||
|
@ -129,6 +134,7 @@ sysfs driver attribute: version
|
||||||
|
|
||||||
The driver name and version. No commands can be written to this file.
|
The driver name and version. No commands can be written to this file.
|
||||||
|
|
||||||
|
|
||||||
Sysfs interface version
|
Sysfs interface version
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
|
@ -160,6 +166,7 @@ expect that an attribute might not be there, and deal with it properly
|
||||||
(an attribute not being there *is* a valid way to make it clear that a
|
(an attribute not being there *is* a valid way to make it clear that a
|
||||||
feature is not available in sysfs).
|
feature is not available in sysfs).
|
||||||
|
|
||||||
|
|
||||||
Hot keys
|
Hot keys
|
||||||
--------
|
--------
|
||||||
|
|
||||||
|
@ -172,17 +179,14 @@ system. Enabling the hotkey functionality of thinkpad-acpi signals the
|
||||||
firmware that such a driver is present, and modifies how the ThinkPad
|
firmware that such a driver is present, and modifies how the ThinkPad
|
||||||
firmware will behave in many situations.
|
firmware will behave in many situations.
|
||||||
|
|
||||||
The driver enables the hot key feature automatically when loaded. The
|
The driver enables the HKEY ("hot key") event reporting automatically
|
||||||
feature can later be disabled and enabled back at runtime. The driver
|
when loaded, and disables it when it is removed.
|
||||||
will also restore the hot key feature to its previous state and mask
|
|
||||||
when it is unloaded.
|
|
||||||
|
|
||||||
When the hotkey feature is enabled and the hot key mask is set (see
|
The driver will report HKEY events in the following format:
|
||||||
below), the driver will report HKEY events in the following format:
|
|
||||||
|
|
||||||
ibm/hotkey HKEY 00000080 0000xxxx
|
ibm/hotkey HKEY 00000080 0000xxxx
|
||||||
|
|
||||||
Some of these events refer to hot key presses, but not all.
|
Some of these events refer to hot key presses, but not all of them.
|
||||||
|
|
||||||
The driver will generate events over the input layer for hot keys and
|
The driver will generate events over the input layer for hot keys and
|
||||||
radio switches, and over the ACPI netlink layer for other events. The
|
radio switches, and over the ACPI netlink layer for other events. The
|
||||||
|
@ -214,13 +218,17 @@ procfs notes:
|
||||||
|
|
||||||
The following commands can be written to the /proc/acpi/ibm/hotkey file:
|
The following commands can be written to the /proc/acpi/ibm/hotkey file:
|
||||||
|
|
||||||
echo enable > /proc/acpi/ibm/hotkey -- enable the hot keys feature
|
|
||||||
echo disable > /proc/acpi/ibm/hotkey -- disable the hot keys feature
|
|
||||||
echo 0xffffffff > /proc/acpi/ibm/hotkey -- enable all hot keys
|
echo 0xffffffff > /proc/acpi/ibm/hotkey -- enable all hot keys
|
||||||
echo 0 > /proc/acpi/ibm/hotkey -- disable all possible hot keys
|
echo 0 > /proc/acpi/ibm/hotkey -- disable all possible hot keys
|
||||||
... any other 8-hex-digit mask ...
|
... any other 8-hex-digit mask ...
|
||||||
echo reset > /proc/acpi/ibm/hotkey -- restore the original mask
|
echo reset > /proc/acpi/ibm/hotkey -- restore the original mask
|
||||||
|
|
||||||
|
The following commands have been deprecated and will cause the kernel
|
||||||
|
to log a warning:
|
||||||
|
|
||||||
|
echo enable > /proc/acpi/ibm/hotkey -- does nothing
|
||||||
|
echo disable > /proc/acpi/ibm/hotkey -- returns an error
|
||||||
|
|
||||||
The procfs interface does not support NVRAM polling control. So as to
|
The procfs interface does not support NVRAM polling control. So as to
|
||||||
maintain maximum bug-to-bug compatibility, it does not report any masks,
|
maintain maximum bug-to-bug compatibility, it does not report any masks,
|
||||||
nor does it allow one to manipulate the hot key mask when the firmware
|
nor does it allow one to manipulate the hot key mask when the firmware
|
||||||
|
@ -229,12 +237,9 @@ does not support masks at all, even if NVRAM polling is in use.
|
||||||
sysfs notes:
|
sysfs notes:
|
||||||
|
|
||||||
hotkey_bios_enabled:
|
hotkey_bios_enabled:
|
||||||
Returns the status of the hot keys feature when
|
DEPRECATED, WILL BE REMOVED SOON.
|
||||||
thinkpad-acpi was loaded. Upon module unload, the hot
|
|
||||||
key feature status will be restored to this value.
|
|
||||||
|
|
||||||
0: hot keys were disabled
|
Returns 0.
|
||||||
1: hot keys were enabled (unusual)
|
|
||||||
|
|
||||||
hotkey_bios_mask:
|
hotkey_bios_mask:
|
||||||
Returns the hot keys mask when thinkpad-acpi was loaded.
|
Returns the hot keys mask when thinkpad-acpi was loaded.
|
||||||
|
@ -242,13 +247,10 @@ sysfs notes:
|
||||||
to this value.
|
to this value.
|
||||||
|
|
||||||
hotkey_enable:
|
hotkey_enable:
|
||||||
Enables/disables the hot keys feature in the ACPI
|
DEPRECATED, WILL BE REMOVED SOON.
|
||||||
firmware, and reports current status of the hot keys
|
|
||||||
feature. Has no effect on the NVRAM hot key polling
|
|
||||||
functionality.
|
|
||||||
|
|
||||||
0: disables the hot keys feature / feature disabled
|
0: returns -EPERM
|
||||||
1: enables the hot keys feature / feature enabled
|
1: does nothing
|
||||||
|
|
||||||
hotkey_mask:
|
hotkey_mask:
|
||||||
bit mask to enable driver-handling (and depending on
|
bit mask to enable driver-handling (and depending on
|
||||||
|
@ -618,6 +620,7 @@ For Lenovo models *with* ACPI backlight control:
|
||||||
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).
|
||||||
|
|
||||||
|
|
||||||
Bluetooth
|
Bluetooth
|
||||||
---------
|
---------
|
||||||
|
|
||||||
|
@ -628,6 +631,9 @@ sysfs rfkill class: switch "tpacpi_bluetooth_sw"
|
||||||
This feature shows the presence and current state of a ThinkPad
|
This feature shows the presence and current state of a ThinkPad
|
||||||
Bluetooth device in the internal ThinkPad CDC slot.
|
Bluetooth device in the internal ThinkPad CDC slot.
|
||||||
|
|
||||||
|
If the ThinkPad supports it, the Bluetooth state is stored in NVRAM,
|
||||||
|
so it is kept across reboots and power-off.
|
||||||
|
|
||||||
Procfs notes:
|
Procfs notes:
|
||||||
|
|
||||||
If Bluetooth is installed, the following commands can be used:
|
If Bluetooth is installed, the following commands can be used:
|
||||||
|
@ -652,6 +658,7 @@ Sysfs notes:
|
||||||
rfkill controller switch "tpacpi_bluetooth_sw": refer to
|
rfkill controller switch "tpacpi_bluetooth_sw": refer to
|
||||||
Documentation/rfkill.txt for details.
|
Documentation/rfkill.txt for details.
|
||||||
|
|
||||||
|
|
||||||
Video output control -- /proc/acpi/ibm/video
|
Video output control -- /proc/acpi/ibm/video
|
||||||
--------------------------------------------
|
--------------------------------------------
|
||||||
|
|
||||||
|
@ -693,11 +700,8 @@ Fn-F7 from working. This also disables the video output switching
|
||||||
features of this driver, as it uses the same ACPI methods as
|
features of this driver, as it uses the same ACPI methods as
|
||||||
Fn-F7. Video switching on the console should still work.
|
Fn-F7. Video switching on the console should still work.
|
||||||
|
|
||||||
UPDATE: There's now a patch for the X.org Radeon driver which
|
UPDATE: refer to https://bugs.freedesktop.org/show_bug.cgi?id=2000
|
||||||
addresses this issue. Some people are reporting success with the patch
|
|
||||||
while others are still having problems. For more information:
|
|
||||||
|
|
||||||
https://bugs.freedesktop.org/show_bug.cgi?id=2000
|
|
||||||
|
|
||||||
ThinkLight control
|
ThinkLight control
|
||||||
------------------
|
------------------
|
||||||
|
@ -720,10 +724,11 @@ The ThinkLight sysfs interface is documented by the LED class
|
||||||
documentation, in Documentation/leds-class.txt. The ThinkLight LED name
|
documentation, in Documentation/leds-class.txt. The ThinkLight LED name
|
||||||
is "tpacpi::thinklight".
|
is "tpacpi::thinklight".
|
||||||
|
|
||||||
Due to limitations in the sysfs LED class, if the status of the thinklight
|
Due to limitations in the sysfs LED class, if the status of the ThinkLight
|
||||||
cannot be read or if it is unknown, thinkpad-acpi will report it as "off".
|
cannot be read or if it is unknown, thinkpad-acpi will report it as "off".
|
||||||
It is impossible to know if the status returned through sysfs is valid.
|
It is impossible to know if the status returned through sysfs is valid.
|
||||||
|
|
||||||
|
|
||||||
Docking / undocking -- /proc/acpi/ibm/dock
|
Docking / undocking -- /proc/acpi/ibm/dock
|
||||||
------------------------------------------
|
------------------------------------------
|
||||||
|
|
||||||
|
@ -784,6 +789,7 @@ the only docking stations currently supported are the X-series
|
||||||
UltraBase docks and "dumb" port replicators like the Mini Dock (the
|
UltraBase docks and "dumb" port replicators like the Mini Dock (the
|
||||||
latter don't need any ACPI support, actually).
|
latter don't need any ACPI support, actually).
|
||||||
|
|
||||||
|
|
||||||
UltraBay eject -- /proc/acpi/ibm/bay
|
UltraBay eject -- /proc/acpi/ibm/bay
|
||||||
------------------------------------
|
------------------------------------
|
||||||
|
|
||||||
|
@ -847,8 +853,9 @@ supported. Use "eject2" instead of "eject" for the second bay.
|
||||||
Note: the UltraBay eject support on the 600e/x, A22p and A3x is
|
Note: the UltraBay eject support on the 600e/x, A22p and A3x is
|
||||||
EXPERIMENTAL and may not work as expected. USE WITH CAUTION!
|
EXPERIMENTAL and may not work as expected. USE WITH CAUTION!
|
||||||
|
|
||||||
CMOS control
|
|
||||||
------------
|
CMOS/UCMS control
|
||||||
|
-----------------
|
||||||
|
|
||||||
procfs: /proc/acpi/ibm/cmos
|
procfs: /proc/acpi/ibm/cmos
|
||||||
sysfs device attribute: cmos_command
|
sysfs device attribute: cmos_command
|
||||||
|
@ -882,6 +889,7 @@ The cmos command interface is prone to firmware split-brain problems, as
|
||||||
in newer ThinkPads it is just a compatibility layer. Do not use it, it is
|
in newer ThinkPads it is just a compatibility layer. Do not use it, it is
|
||||||
exported just as a debug tool.
|
exported just as a debug tool.
|
||||||
|
|
||||||
|
|
||||||
LED control
|
LED control
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
|
@ -893,6 +901,17 @@ some older ThinkPad models, it is possible to query the status of the
|
||||||
LED indicators as well. Newer ThinkPads cannot query the real status
|
LED indicators as well. Newer ThinkPads cannot query the real status
|
||||||
of the LED indicators.
|
of the LED indicators.
|
||||||
|
|
||||||
|
Because misuse of the LEDs could induce an unaware user to perform
|
||||||
|
dangerous actions (like undocking or ejecting a bay device while the
|
||||||
|
buses are still active), or mask an important alarm (such as a nearly
|
||||||
|
empty battery, or a broken battery), access to most LEDs is
|
||||||
|
restricted.
|
||||||
|
|
||||||
|
Unrestricted access to all LEDs requires that thinkpad-acpi be
|
||||||
|
compiled with the CONFIG_THINKPAD_ACPI_UNSAFE_LEDS option enabled.
|
||||||
|
Distributions must never enable this option. Individual users that
|
||||||
|
are aware of the consequences are welcome to enabling it.
|
||||||
|
|
||||||
procfs notes:
|
procfs notes:
|
||||||
|
|
||||||
The available commands are:
|
The available commands are:
|
||||||
|
@ -939,6 +958,7 @@ ThinkPad indicator LED should blink in hardware accelerated mode, use the
|
||||||
"timer" trigger, and leave the delay_on and delay_off parameters set to
|
"timer" trigger, and leave the delay_on and delay_off parameters set to
|
||||||
zero (to request hardware acceleration autodetection).
|
zero (to request hardware acceleration autodetection).
|
||||||
|
|
||||||
|
|
||||||
ACPI sounds -- /proc/acpi/ibm/beep
|
ACPI sounds -- /proc/acpi/ibm/beep
|
||||||
----------------------------------
|
----------------------------------
|
||||||
|
|
||||||
|
@ -968,6 +988,7 @@ X40:
|
||||||
16 - one medium-pitched beep repeating constantly, stop with 17
|
16 - one medium-pitched beep repeating constantly, stop with 17
|
||||||
17 - stop 16
|
17 - stop 16
|
||||||
|
|
||||||
|
|
||||||
Temperature sensors
|
Temperature sensors
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
|
@ -1115,6 +1136,7 @@ registers contain the current battery capacity, etc. If you experiment
|
||||||
with this, do send me your results (including some complete dumps with
|
with this, do send me your results (including some complete dumps with
|
||||||
a description of the conditions when they were taken.)
|
a description of the conditions when they were taken.)
|
||||||
|
|
||||||
|
|
||||||
LCD brightness control
|
LCD brightness control
|
||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
|
@ -1124,10 +1146,9 @@ sysfs backlight device "thinkpad_screen"
|
||||||
This feature allows software control of the LCD brightness on ThinkPad
|
This feature allows software control of the LCD brightness on ThinkPad
|
||||||
models which don't have a hardware brightness slider.
|
models which don't have a hardware brightness slider.
|
||||||
|
|
||||||
It has some limitations: the LCD backlight cannot be actually turned on or
|
It has some limitations: the LCD backlight cannot be actually turned
|
||||||
off by this interface, and in many ThinkPad models, the "dim while on
|
on or off by this interface, it just controls the backlight brightness
|
||||||
battery" functionality will be enabled by the BIOS when this interface is
|
level.
|
||||||
used, and cannot be controlled.
|
|
||||||
|
|
||||||
On IBM (and some of the earlier Lenovo) ThinkPads, the backlight control
|
On IBM (and some of the earlier Lenovo) ThinkPads, the backlight control
|
||||||
has eight brightness levels, ranging from 0 to 7. Some of the levels
|
has eight brightness levels, ranging from 0 to 7. Some of the levels
|
||||||
|
@ -1136,10 +1157,15 @@ display backlight brightness control methods have 16 levels, ranging
|
||||||
from 0 to 15.
|
from 0 to 15.
|
||||||
|
|
||||||
There are two interfaces to the firmware for direct brightness control,
|
There are two interfaces to the firmware for direct brightness control,
|
||||||
EC and CMOS. To select which one should be used, use the
|
EC and UCMS (or CMOS). To select which one should be used, use the
|
||||||
brightness_mode module parameter: brightness_mode=1 selects EC mode,
|
brightness_mode module parameter: brightness_mode=1 selects EC mode,
|
||||||
brightness_mode=2 selects CMOS mode, brightness_mode=3 selects both EC
|
brightness_mode=2 selects UCMS mode, brightness_mode=3 selects EC
|
||||||
and CMOS. The driver tries to auto-detect which interface to use.
|
mode with NVRAM backing (so that brightness changes are remembered
|
||||||
|
across shutdown/reboot).
|
||||||
|
|
||||||
|
The driver tries to select which interface to use from a table of
|
||||||
|
defaults for each ThinkPad model. If it makes a wrong choice, please
|
||||||
|
report this as a bug, so that we can fix it.
|
||||||
|
|
||||||
When display backlight brightness controls are available through the
|
When display backlight brightness controls are available through the
|
||||||
standard ACPI interface, it is best to use it instead of this direct
|
standard ACPI interface, it is best to use it instead of this direct
|
||||||
|
@ -1201,6 +1227,7 @@ WARNING:
|
||||||
and maybe reduce the life of the backlight lamps by needlessly kicking
|
and maybe reduce the life of the backlight lamps by needlessly kicking
|
||||||
its level up and down at every change.
|
its level up and down at every change.
|
||||||
|
|
||||||
|
|
||||||
Volume control -- /proc/acpi/ibm/volume
|
Volume control -- /proc/acpi/ibm/volume
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
|
|
||||||
|
@ -1217,6 +1244,11 @@ distinct. The unmute the volume after the mute command, use either the
|
||||||
up or down command (the level command will not unmute the volume).
|
up or down command (the level command will not unmute the volume).
|
||||||
The current volume level and mute state is shown in the file.
|
The current volume level and mute state is shown in the file.
|
||||||
|
|
||||||
|
The ALSA mixer interface to this feature is still missing, but patches
|
||||||
|
to add it exist. That problem should be addressed in the not so
|
||||||
|
distant future.
|
||||||
|
|
||||||
|
|
||||||
Fan control and monitoring: fan speed, fan enable/disable
|
Fan control and monitoring: fan speed, fan enable/disable
|
||||||
---------------------------------------------------------
|
---------------------------------------------------------
|
||||||
|
|
||||||
|
@ -1383,8 +1415,11 @@ procfs: /proc/acpi/ibm/wan
|
||||||
sysfs device attribute: wwan_enable (deprecated)
|
sysfs device attribute: wwan_enable (deprecated)
|
||||||
sysfs rfkill class: switch "tpacpi_wwan_sw"
|
sysfs rfkill class: switch "tpacpi_wwan_sw"
|
||||||
|
|
||||||
This feature shows the presence and current state of a W-WAN (Sierra
|
This feature shows the presence and current state of the built-in
|
||||||
Wireless EV-DO) device.
|
Wireless WAN device.
|
||||||
|
|
||||||
|
If the ThinkPad supports it, the WWAN state is stored in NVRAM,
|
||||||
|
so it is kept across reboots and power-off.
|
||||||
|
|
||||||
It was tested on a Lenovo ThinkPad X60. It should probably work on other
|
It was tested on a Lenovo ThinkPad X60. It should probably work on other
|
||||||
ThinkPad models which come with this module installed.
|
ThinkPad models which come with this module installed.
|
||||||
|
@ -1413,6 +1448,7 @@ Sysfs notes:
|
||||||
rfkill controller switch "tpacpi_wwan_sw": refer to
|
rfkill controller switch "tpacpi_wwan_sw": refer to
|
||||||
Documentation/rfkill.txt for details.
|
Documentation/rfkill.txt for details.
|
||||||
|
|
||||||
|
|
||||||
EXPERIMENTAL: UWB
|
EXPERIMENTAL: UWB
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
|
@ -1431,6 +1467,7 @@ Sysfs notes:
|
||||||
rfkill controller switch "tpacpi_uwb_sw": refer to
|
rfkill controller switch "tpacpi_uwb_sw": refer to
|
||||||
Documentation/rfkill.txt for details.
|
Documentation/rfkill.txt for details.
|
||||||
|
|
||||||
|
|
||||||
Multiple Commands, Module Parameters
|
Multiple Commands, Module Parameters
|
||||||
------------------------------------
|
------------------------------------
|
||||||
|
|
||||||
|
@ -1445,6 +1482,7 @@ for example:
|
||||||
|
|
||||||
modprobe thinkpad_acpi hotkey=enable,0xffff video=auto_disable
|
modprobe thinkpad_acpi hotkey=enable,0xffff video=auto_disable
|
||||||
|
|
||||||
|
|
||||||
Enabling debugging output
|
Enabling debugging output
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
|
@ -1457,8 +1495,15 @@ will enable all debugging output classes. It takes a bitmask, so
|
||||||
to enable more than one output class, just add their values.
|
to enable more than one output class, just add their values.
|
||||||
|
|
||||||
Debug bitmask Description
|
Debug bitmask Description
|
||||||
|
0x8000 Disclose PID of userspace programs
|
||||||
|
accessing some functions of the driver
|
||||||
0x0001 Initialization and probing
|
0x0001 Initialization and probing
|
||||||
0x0002 Removal
|
0x0002 Removal
|
||||||
|
0x0004 RF Transmitter control (RFKILL)
|
||||||
|
(bluetooth, WWAN, UWB...)
|
||||||
|
0x0008 HKEY event interface, hotkeys
|
||||||
|
0x0010 Fan control
|
||||||
|
0x0020 Backlight brightness
|
||||||
|
|
||||||
There is also a kernel build option to enable more debugging
|
There is also a kernel build option to enable more debugging
|
||||||
information, which may be necessary to debug driver problems.
|
information, which may be necessary to debug driver problems.
|
||||||
|
@ -1467,6 +1512,7 @@ The level of debugging information output by the driver can be changed
|
||||||
at runtime through sysfs, using the driver attribute debug_level. The
|
at runtime through sysfs, using the driver attribute debug_level. The
|
||||||
attribute takes the same bitmask as the debug module parameter above.
|
attribute takes the same bitmask as the debug module parameter above.
|
||||||
|
|
||||||
|
|
||||||
Force loading of module
|
Force loading of module
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
|
@ -1505,3 +1551,7 @@ Sysfs interface changelog:
|
||||||
|
|
||||||
0x020200: Add poll()/select() support to the following attributes:
|
0x020200: Add poll()/select() support to the following attributes:
|
||||||
hotkey_radio_sw, wakeup_hotunplug_complete, wakeup_reason
|
hotkey_radio_sw, wakeup_hotunplug_complete, wakeup_reason
|
||||||
|
|
||||||
|
0x020300: hotkey enable/disable support removed, attributes
|
||||||
|
hotkey_bios_enabled and hotkey_enable deprecated and
|
||||||
|
marked for removal.
|
||||||
|
|
|
@ -226,6 +226,30 @@ config THINKPAD_ACPI_DEBUG
|
||||||
|
|
||||||
If you are not sure, say N here.
|
If you are not sure, say N here.
|
||||||
|
|
||||||
|
config THINKPAD_ACPI_UNSAFE_LEDS
|
||||||
|
bool "Allow control of important LEDs (unsafe)"
|
||||||
|
depends on THINKPAD_ACPI
|
||||||
|
default n
|
||||||
|
---help---
|
||||||
|
Overriding LED state on ThinkPads can mask important
|
||||||
|
firmware alerts (like critical battery condition), or misled
|
||||||
|
the user into damaging the hardware (undocking or ejecting
|
||||||
|
the bay while buses are still active), etc.
|
||||||
|
|
||||||
|
LED control on the ThinkPad is write-only (with very few
|
||||||
|
exceptions on very ancient models), which makes it
|
||||||
|
impossible to know beforehand if important information will
|
||||||
|
be lost when one changes LED state.
|
||||||
|
|
||||||
|
Users that know what they are doing can enable this option
|
||||||
|
and the driver will allow control of every LED, including
|
||||||
|
the ones on the dock stations.
|
||||||
|
|
||||||
|
Never enable this option on a distribution kernel.
|
||||||
|
|
||||||
|
Say N here, unless you are building a kernel for your own
|
||||||
|
use, and need to control the important firmware LEDs.
|
||||||
|
|
||||||
config THINKPAD_ACPI_DOCK
|
config THINKPAD_ACPI_DOCK
|
||||||
bool "Legacy Docking Station Support"
|
bool "Legacy Docking Station Support"
|
||||||
depends on THINKPAD_ACPI
|
depends on THINKPAD_ACPI
|
||||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue