thinkpad-acpi: documentation cleanup
Some cleanups to the documentation of the driver. Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
parent
257bc1cb3e
commit
078ac19ed8
1 changed files with 52 additions and 24 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
|
||||||
--------
|
--------
|
||||||
|
|
||||||
|
@ -618,6 +625,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 +636,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 +663,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 +705,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 +729,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 +794,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 +858,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 +894,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
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
|
@ -939,6 +952,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 +982,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 +1130,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 +1140,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
|
||||||
|
@ -1201,6 +1216,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 +1233,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 +1404,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 +1437,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 +1456,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 +1471,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
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
|
@ -1467,6 +1494,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
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
|
|
Reference in a new issue