aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenrique de Moraes Holschuh <hmh@hmh.eng.br>2009-04-04 00:25:44 -0400
committerLen Brown <len.brown@intel.com>2009-04-04 03:14:52 -0400
commit078ac19ed8f476a7c2d729712e15f5ab516ff491 (patch)
tree7ae8ffecc3405941087393d188eb5576e78e812e
parent257bc1cb3e29c8da62b9c9e0a4505011776c7040 (diff)
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>
-rw-r--r--Documentation/laptops/thinkpad-acpi.txt76
1 files changed, 52 insertions, 24 deletions
diff --git a/Documentation/laptops/thinkpad-acpi.txt b/Documentation/laptops/thinkpad-acpi.txt
index 41bc99fa1884..f6e6bc66eed3 100644
--- a/Documentation/laptops/thinkpad-acpi.txt
+++ b/Documentation/laptops/thinkpad-acpi.txt
@@ -20,7 +20,8 @@ moved to the drivers/misc tree and renamed to thinkpad-acpi for kernel
20kernel 2.6.29 and release 0.22. 20kernel 2.6.29 and release 0.22.
21 21
22The driver is named "thinkpad-acpi". In some places, like module 22The driver is named "thinkpad-acpi". In some places, like module
23names, "thinkpad_acpi" is used because of userspace issues. 23names and log messages, "thinkpad_acpi" is used because of userspace
24issues.
24 25
25"tpacpi" is used as a shorthand where "thinkpad-acpi" would be too 26"tpacpi" is used as a shorthand where "thinkpad-acpi" would be too
26long due to length limitations on some Linux kernel versions. 27long due to length limitations on some Linux kernel versions.
@@ -37,7 +38,7 @@ detailed description):
37 - ThinkLight on and off 38 - ThinkLight on and off
38 - limited docking and undocking 39 - limited docking and undocking
39 - UltraBay eject 40 - UltraBay eject
40 - CMOS control 41 - CMOS/UCMS control
41 - LED control 42 - LED control
42 - ACPI sounds 43 - ACPI sounds
43 - temperature sensors 44 - temperature sensors
@@ -46,6 +47,7 @@ detailed description):
46 - Volume control 47 - Volume control
47 - Fan control and monitoring: fan speed, fan enable/disable 48 - Fan control and monitoring: fan speed, fan enable/disable
48 - WAN enable and disable 49 - WAN enable and disable
50 - UWB enable and disable
49 51
50A compatibility table by model and feature is maintained on the web 52A compatibility table by model and feature is maintained on the web
51site, http://ibm-acpi.sf.net/. I appreciate any success or failure 53site, 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.
53Please include the following information in your report: 55Please include the following information in your report:
54 56
55 - ThinkPad model name 57 - ThinkPad model name
56 - a copy of your DSDT, from /proc/acpi/dsdt 58 - a copy of your ACPI tables, using the "acpidump" utility
57 - a copy of the output of dmidecode, with serial numbers 59 - a copy of the output of dmidecode, with serial numbers
58 and UUIDs masked off 60 and UUIDs masked off
59 - which driver features work and which don't 61 - which driver features work and which don't
@@ -66,17 +68,18 @@ Installation
66------------ 68------------
67 69
68If you are compiling this driver as included in the Linux kernel 70If you are compiling this driver as included in the Linux kernel
69sources, simply enable the CONFIG_THINKPAD_ACPI option, and optionally 71sources, look for the CONFIG_THINKPAD_ACPI Kconfig option.
70enable the CONFIG_THINKPAD_ACPI_BAY option if you want the 72It is located on the menu path: "Device Drivers" -> "X86 Platform
71thinkpad-specific bay functionality. 73Specific Device Drivers" -> "ThinkPad ACPI Laptop Extras".
74
72 75
73Features 76Features
74-------- 77--------
75 78
76The driver exports two different interfaces to userspace, which can be 79The driver exports two different interfaces to userspace, which can be
77used to access the features it provides. One is a legacy procfs-based 80used to access the features it provides. One is a legacy procfs-based
78interface, which will be removed at some time in the distant future. 81interface, which will be removed at some time in the future. The other
79The other is a new sysfs-based interface which is not complete yet. 82is a new sysfs-based interface which is not complete yet.
80 83
81The procfs interface creates the /proc/acpi/ibm directory. There is a 84The procfs interface creates the /proc/acpi/ibm directory. There is a
82file under that directory for each feature it supports. The procfs 85file 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
111as a driver attribute (see below). 114as a driver attribute (see below).
112 115
113Sysfs driver attributes are on the driver's sysfs attribute space, 116Sysfs driver attributes are on the driver's sysfs attribute space,
114for 2.6.23 this is /sys/bus/platform/drivers/thinkpad_acpi/ and 117for 2.6.23+ this is /sys/bus/platform/drivers/thinkpad_acpi/ and
115/sys/bus/platform/drivers/thinkpad_hwmon/ 118/sys/bus/platform/drivers/thinkpad_hwmon/
116 119
117Sysfs device attributes are on the thinkpad_acpi device sysfs attribute 120Sysfs device attributes are on the thinkpad_acpi device sysfs attribute
118space, for 2.6.23 this is /sys/devices/platform/thinkpad_acpi/. 121space, for 2.6.23+ this is /sys/devices/platform/thinkpad_acpi/.
119 122
120Sysfs device attributes for the sensors and fan are on the 123Sysfs device attributes for the sensors and fan are on the
121thinkpad_hwmon device's sysfs attribute space, but you should locate it 124thinkpad_hwmon device's sysfs attribute space, but you should locate it
122looking for a hwmon device with the name attribute of "thinkpad". 125looking for a hwmon device with the name attribute of "thinkpad", or
126better yet, through libsensors.
127
123 128
124Driver version 129Driver version
125-------------- 130--------------
@@ -129,6 +134,7 @@ sysfs driver attribute: version
129 134
130The driver name and version. No commands can be written to this file. 135The driver name and version. No commands can be written to this file.
131 136
137
132Sysfs interface version 138Sysfs interface version
133----------------------- 139-----------------------
134 140
@@ -160,6 +166,7 @@ expect that an attribute might not be there, and deal with it properly
160(an attribute not being there *is* a valid way to make it clear that a 166(an attribute not being there *is* a valid way to make it clear that a
161feature is not available in sysfs). 167feature is not available in sysfs).
162 168
169
163Hot keys 170Hot keys
164-------- 171--------
165 172
@@ -618,6 +625,7 @@ For Lenovo models *with* ACPI backlight control:
618 and map them to KEY_BRIGHTNESS_UP and KEY_BRIGHTNESS_DOWN. Process 625 and map them to KEY_BRIGHTNESS_UP and KEY_BRIGHTNESS_DOWN. Process
619 these keys on userspace somehow (e.g. by calling xbacklight). 626 these keys on userspace somehow (e.g. by calling xbacklight).
620 627
628
621Bluetooth 629Bluetooth
622--------- 630---------
623 631
@@ -628,6 +636,9 @@ sysfs rfkill class: switch "tpacpi_bluetooth_sw"
628This feature shows the presence and current state of a ThinkPad 636This feature shows the presence and current state of a ThinkPad
629Bluetooth device in the internal ThinkPad CDC slot. 637Bluetooth device in the internal ThinkPad CDC slot.
630 638
639If the ThinkPad supports it, the Bluetooth state is stored in NVRAM,
640so it is kept across reboots and power-off.
641
631Procfs notes: 642Procfs notes:
632 643
633If Bluetooth is installed, the following commands can be used: 644If Bluetooth is installed, the following commands can be used:
@@ -652,6 +663,7 @@ Sysfs notes:
652 rfkill controller switch "tpacpi_bluetooth_sw": refer to 663 rfkill controller switch "tpacpi_bluetooth_sw": refer to
653 Documentation/rfkill.txt for details. 664 Documentation/rfkill.txt for details.
654 665
666
655Video output control -- /proc/acpi/ibm/video 667Video output control -- /proc/acpi/ibm/video
656-------------------------------------------- 668--------------------------------------------
657 669
@@ -693,11 +705,8 @@ Fn-F7 from working. This also disables the video output switching
693features of this driver, as it uses the same ACPI methods as 705features of this driver, as it uses the same ACPI methods as
694Fn-F7. Video switching on the console should still work. 706Fn-F7. Video switching on the console should still work.
695 707
696UPDATE: There's now a patch for the X.org Radeon driver which 708UPDATE: refer to https://bugs.freedesktop.org/show_bug.cgi?id=2000
697addresses this issue. Some people are reporting success with the patch
698while others are still having problems. For more information:
699 709
700https://bugs.freedesktop.org/show_bug.cgi?id=2000
701 710
702ThinkLight control 711ThinkLight control
703------------------ 712------------------
@@ -720,10 +729,11 @@ The ThinkLight sysfs interface is documented by the LED class
720documentation, in Documentation/leds-class.txt. The ThinkLight LED name 729documentation, in Documentation/leds-class.txt. The ThinkLight LED name
721is "tpacpi::thinklight". 730is "tpacpi::thinklight".
722 731
723Due to limitations in the sysfs LED class, if the status of the thinklight 732Due to limitations in the sysfs LED class, if the status of the ThinkLight
724cannot be read or if it is unknown, thinkpad-acpi will report it as "off". 733cannot be read or if it is unknown, thinkpad-acpi will report it as "off".
725It is impossible to know if the status returned through sysfs is valid. 734It is impossible to know if the status returned through sysfs is valid.
726 735
736
727Docking / undocking -- /proc/acpi/ibm/dock 737Docking / undocking -- /proc/acpi/ibm/dock
728------------------------------------------ 738------------------------------------------
729 739
@@ -784,6 +794,7 @@ the only docking stations currently supported are the X-series
784UltraBase docks and "dumb" port replicators like the Mini Dock (the 794UltraBase docks and "dumb" port replicators like the Mini Dock (the
785latter don't need any ACPI support, actually). 795latter don't need any ACPI support, actually).
786 796
797
787UltraBay eject -- /proc/acpi/ibm/bay 798UltraBay eject -- /proc/acpi/ibm/bay
788------------------------------------ 799------------------------------------
789 800
@@ -847,8 +858,9 @@ supported. Use "eject2" instead of "eject" for the second bay.
847Note: the UltraBay eject support on the 600e/x, A22p and A3x is 858Note: the UltraBay eject support on the 600e/x, A22p and A3x is
848EXPERIMENTAL and may not work as expected. USE WITH CAUTION! 859EXPERIMENTAL and may not work as expected. USE WITH CAUTION!
849 860
850CMOS control 861
851------------ 862CMOS/UCMS control
863-----------------
852 864
853procfs: /proc/acpi/ibm/cmos 865procfs: /proc/acpi/ibm/cmos
854sysfs device attribute: cmos_command 866sysfs device attribute: cmos_command
@@ -882,6 +894,7 @@ The cmos command interface is prone to firmware split-brain problems, as
882in newer ThinkPads it is just a compatibility layer. Do not use it, it is 894in newer ThinkPads it is just a compatibility layer. Do not use it, it is
883exported just as a debug tool. 895exported just as a debug tool.
884 896
897
885LED control 898LED control
886----------- 899-----------
887 900
@@ -939,6 +952,7 @@ ThinkPad indicator LED should blink in hardware accelerated mode, use the
939"timer" trigger, and leave the delay_on and delay_off parameters set to 952"timer" trigger, and leave the delay_on and delay_off parameters set to
940zero (to request hardware acceleration autodetection). 953zero (to request hardware acceleration autodetection).
941 954
955
942ACPI sounds -- /proc/acpi/ibm/beep 956ACPI sounds -- /proc/acpi/ibm/beep
943---------------------------------- 957----------------------------------
944 958
@@ -968,6 +982,7 @@ X40:
968 16 - one medium-pitched beep repeating constantly, stop with 17 982 16 - one medium-pitched beep repeating constantly, stop with 17
969 17 - stop 16 983 17 - stop 16
970 984
985
971Temperature sensors 986Temperature sensors
972------------------- 987-------------------
973 988
@@ -1115,6 +1130,7 @@ registers contain the current battery capacity, etc. If you experiment
1115with this, do send me your results (including some complete dumps with 1130with this, do send me your results (including some complete dumps with
1116a description of the conditions when they were taken.) 1131a description of the conditions when they were taken.)
1117 1132
1133
1118LCD brightness control 1134LCD brightness control
1119---------------------- 1135----------------------
1120 1136
@@ -1124,10 +1140,9 @@ sysfs backlight device "thinkpad_screen"
1124This feature allows software control of the LCD brightness on ThinkPad 1140This feature allows software control of the LCD brightness on ThinkPad
1125models which don't have a hardware brightness slider. 1141models which don't have a hardware brightness slider.
1126 1142
1127It has some limitations: the LCD backlight cannot be actually turned on or 1143It has some limitations: the LCD backlight cannot be actually turned
1128off by this interface, and in many ThinkPad models, the "dim while on 1144on or off by this interface, it just controls the backlight brightness
1129battery" functionality will be enabled by the BIOS when this interface is 1145level.
1130used, and cannot be controlled.
1131 1146
1132On IBM (and some of the earlier Lenovo) ThinkPads, the backlight control 1147On IBM (and some of the earlier Lenovo) ThinkPads, the backlight control
1133has eight brightness levels, ranging from 0 to 7. Some of the levels 1148has eight brightness levels, ranging from 0 to 7. Some of the levels
@@ -1201,6 +1216,7 @@ WARNING:
1201 and maybe reduce the life of the backlight lamps by needlessly kicking 1216 and maybe reduce the life of the backlight lamps by needlessly kicking
1202 its level up and down at every change. 1217 its level up and down at every change.
1203 1218
1219
1204Volume control -- /proc/acpi/ibm/volume 1220Volume control -- /proc/acpi/ibm/volume
1205--------------------------------------- 1221---------------------------------------
1206 1222
@@ -1217,6 +1233,11 @@ distinct. The unmute the volume after the mute command, use either the
1217up or down command (the level command will not unmute the volume). 1233up or down command (the level command will not unmute the volume).
1218The current volume level and mute state is shown in the file. 1234The current volume level and mute state is shown in the file.
1219 1235
1236The ALSA mixer interface to this feature is still missing, but patches
1237to add it exist. That problem should be addressed in the not so
1238distant future.
1239
1240
1220Fan control and monitoring: fan speed, fan enable/disable 1241Fan control and monitoring: fan speed, fan enable/disable
1221--------------------------------------------------------- 1242---------------------------------------------------------
1222 1243
@@ -1383,8 +1404,11 @@ procfs: /proc/acpi/ibm/wan
1383sysfs device attribute: wwan_enable (deprecated) 1404sysfs device attribute: wwan_enable (deprecated)
1384sysfs rfkill class: switch "tpacpi_wwan_sw" 1405sysfs rfkill class: switch "tpacpi_wwan_sw"
1385 1406
1386This feature shows the presence and current state of a W-WAN (Sierra 1407This feature shows the presence and current state of the built-in
1387Wireless EV-DO) device. 1408Wireless WAN device.
1409
1410If the ThinkPad supports it, the WWAN state is stored in NVRAM,
1411so it is kept across reboots and power-off.
1388 1412
1389It was tested on a Lenovo ThinkPad X60. It should probably work on other 1413It was tested on a Lenovo ThinkPad X60. It should probably work on other
1390ThinkPad models which come with this module installed. 1414ThinkPad models which come with this module installed.
@@ -1413,6 +1437,7 @@ Sysfs notes:
1413 rfkill controller switch "tpacpi_wwan_sw": refer to 1437 rfkill controller switch "tpacpi_wwan_sw": refer to
1414 Documentation/rfkill.txt for details. 1438 Documentation/rfkill.txt for details.
1415 1439
1440
1416EXPERIMENTAL: UWB 1441EXPERIMENTAL: UWB
1417----------------- 1442-----------------
1418 1443
@@ -1431,6 +1456,7 @@ Sysfs notes:
1431 rfkill controller switch "tpacpi_uwb_sw": refer to 1456 rfkill controller switch "tpacpi_uwb_sw": refer to
1432 Documentation/rfkill.txt for details. 1457 Documentation/rfkill.txt for details.
1433 1458
1459
1434Multiple Commands, Module Parameters 1460Multiple Commands, Module Parameters
1435------------------------------------ 1461------------------------------------
1436 1462
@@ -1445,6 +1471,7 @@ for example:
1445 1471
1446 modprobe thinkpad_acpi hotkey=enable,0xffff video=auto_disable 1472 modprobe thinkpad_acpi hotkey=enable,0xffff video=auto_disable
1447 1473
1474
1448Enabling debugging output 1475Enabling debugging output
1449------------------------- 1476-------------------------
1450 1477
@@ -1467,6 +1494,7 @@ The level of debugging information output by the driver can be changed
1467at runtime through sysfs, using the driver attribute debug_level. The 1494at runtime through sysfs, using the driver attribute debug_level. The
1468attribute takes the same bitmask as the debug module parameter above. 1495attribute takes the same bitmask as the debug module parameter above.
1469 1496
1497
1470Force loading of module 1498Force loading of module
1471----------------------- 1499-----------------------
1472 1500