diff options
| author | Henrique de Moraes Holschuh <hmh@hmh.eng.br> | 2009-04-04 00:25:44 -0400 |
|---|---|---|
| committer | Len Brown <len.brown@intel.com> | 2009-04-04 03:14:52 -0400 |
| commit | 078ac19ed8f476a7c2d729712e15f5ab516ff491 (patch) | |
| tree | 7ae8ffecc3405941087393d188eb5576e78e812e | |
| parent | 257bc1cb3e29c8da62b9c9e0a4505011776c7040 (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.txt | 76 |
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 | |||
| 20 | kernel 2.6.29 and release 0.22. | 20 | kernel 2.6.29 and release 0.22. |
| 21 | 21 | ||
| 22 | The driver is named "thinkpad-acpi". In some places, like module | 22 | The driver is named "thinkpad-acpi". In some places, like module |
| 23 | names, "thinkpad_acpi" is used because of userspace issues. | 23 | names and log messages, "thinkpad_acpi" is used because of userspace |
| 24 | issues. | ||
| 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 |
| 26 | long due to length limitations on some Linux kernel versions. | 27 | long 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 | ||
| 50 | A compatibility table by model and feature is maintained on the web | 52 | A compatibility table by model and feature is maintained on the web |
| 51 | site, http://ibm-acpi.sf.net/. I appreciate any success or failure | 53 | 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. | |||
| 53 | Please include the following information in your report: | 55 | Please 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 | ||
| 68 | If you are compiling this driver as included in the Linux kernel | 70 | If you are compiling this driver as included in the Linux kernel |
| 69 | sources, simply enable the CONFIG_THINKPAD_ACPI option, and optionally | 71 | sources, look for the CONFIG_THINKPAD_ACPI Kconfig option. |
| 70 | enable the CONFIG_THINKPAD_ACPI_BAY option if you want the | 72 | It is located on the menu path: "Device Drivers" -> "X86 Platform |
| 71 | thinkpad-specific bay functionality. | 73 | Specific Device Drivers" -> "ThinkPad ACPI Laptop Extras". |
| 74 | |||
| 72 | 75 | ||
| 73 | Features | 76 | Features |
| 74 | -------- | 77 | -------- |
| 75 | 78 | ||
| 76 | The driver exports two different interfaces to userspace, which can be | 79 | The driver exports two different interfaces to userspace, which can be |
| 77 | used to access the features it provides. One is a legacy procfs-based | 80 | used to access the features it provides. One is a legacy procfs-based |
| 78 | interface, which will be removed at some time in the distant future. | 81 | interface, which will be removed at some time in the future. The other |
| 79 | The other is a new sysfs-based interface which is not complete yet. | 82 | is a new sysfs-based interface which is not complete yet. |
| 80 | 83 | ||
| 81 | The procfs interface creates the /proc/acpi/ibm directory. There is a | 84 | The procfs interface creates the /proc/acpi/ibm directory. There is a |
| 82 | file under that directory for each feature it supports. The procfs | 85 | 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 | |||
| 111 | as a driver attribute (see below). | 114 | as a driver attribute (see below). |
| 112 | 115 | ||
| 113 | Sysfs driver attributes are on the driver's sysfs attribute space, | 116 | Sysfs driver attributes are on the driver's sysfs attribute space, |
| 114 | for 2.6.23 this is /sys/bus/platform/drivers/thinkpad_acpi/ and | 117 | for 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 | ||
| 117 | Sysfs device attributes are on the thinkpad_acpi device sysfs attribute | 120 | Sysfs device attributes are on the thinkpad_acpi device sysfs attribute |
| 118 | space, for 2.6.23 this is /sys/devices/platform/thinkpad_acpi/. | 121 | space, for 2.6.23+ this is /sys/devices/platform/thinkpad_acpi/. |
| 119 | 122 | ||
| 120 | Sysfs device attributes for the sensors and fan are on the | 123 | Sysfs device attributes for the sensors and fan are on the |
| 121 | thinkpad_hwmon device's sysfs attribute space, but you should locate it | 124 | thinkpad_hwmon device's sysfs attribute space, but you should locate it |
| 122 | looking for a hwmon device with the name attribute of "thinkpad". | 125 | looking for a hwmon device with the name attribute of "thinkpad", or |
| 126 | better yet, through libsensors. | ||
| 127 | |||
| 123 | 128 | ||
| 124 | Driver version | 129 | Driver version |
| 125 | -------------- | 130 | -------------- |
| @@ -129,6 +134,7 @@ sysfs driver attribute: version | |||
| 129 | 134 | ||
| 130 | The driver name and version. No commands can be written to this file. | 135 | The driver name and version. No commands can be written to this file. |
| 131 | 136 | ||
| 137 | |||
| 132 | Sysfs interface version | 138 | Sysfs 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 |
| 161 | feature is not available in sysfs). | 167 | feature is not available in sysfs). |
| 162 | 168 | ||
| 169 | |||
| 163 | Hot keys | 170 | Hot 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 | |||
| 621 | Bluetooth | 629 | Bluetooth |
| 622 | --------- | 630 | --------- |
| 623 | 631 | ||
| @@ -628,6 +636,9 @@ sysfs rfkill class: switch "tpacpi_bluetooth_sw" | |||
| 628 | This feature shows the presence and current state of a ThinkPad | 636 | This feature shows the presence and current state of a ThinkPad |
| 629 | Bluetooth device in the internal ThinkPad CDC slot. | 637 | Bluetooth device in the internal ThinkPad CDC slot. |
| 630 | 638 | ||
| 639 | If the ThinkPad supports it, the Bluetooth state is stored in NVRAM, | ||
| 640 | so it is kept across reboots and power-off. | ||
| 641 | |||
| 631 | Procfs notes: | 642 | Procfs notes: |
| 632 | 643 | ||
| 633 | If Bluetooth is installed, the following commands can be used: | 644 | If 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 | |||
| 655 | Video output control -- /proc/acpi/ibm/video | 667 | Video 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 | |||
| 693 | features of this driver, as it uses the same ACPI methods as | 705 | features of this driver, as it uses the same ACPI methods as |
| 694 | Fn-F7. Video switching on the console should still work. | 706 | Fn-F7. Video switching on the console should still work. |
| 695 | 707 | ||
| 696 | UPDATE: There's now a patch for the X.org Radeon driver which | 708 | UPDATE: refer to https://bugs.freedesktop.org/show_bug.cgi?id=2000 |
| 697 | addresses this issue. Some people are reporting success with the patch | ||
| 698 | while others are still having problems. For more information: | ||
| 699 | 709 | ||
| 700 | https://bugs.freedesktop.org/show_bug.cgi?id=2000 | ||
| 701 | 710 | ||
| 702 | ThinkLight control | 711 | ThinkLight control |
| 703 | ------------------ | 712 | ------------------ |
| @@ -720,10 +729,11 @@ The ThinkLight sysfs interface is documented by the LED class | |||
| 720 | documentation, in Documentation/leds-class.txt. The ThinkLight LED name | 729 | documentation, in Documentation/leds-class.txt. The ThinkLight LED name |
| 721 | is "tpacpi::thinklight". | 730 | is "tpacpi::thinklight". |
| 722 | 731 | ||
| 723 | Due to limitations in the sysfs LED class, if the status of the thinklight | 732 | Due to limitations in the sysfs LED class, if the status of the ThinkLight |
| 724 | cannot be read or if it is unknown, thinkpad-acpi will report it as "off". | 733 | cannot be read or if it is unknown, thinkpad-acpi will report it as "off". |
| 725 | It is impossible to know if the status returned through sysfs is valid. | 734 | It is impossible to know if the status returned through sysfs is valid. |
| 726 | 735 | ||
| 736 | |||
| 727 | Docking / undocking -- /proc/acpi/ibm/dock | 737 | Docking / undocking -- /proc/acpi/ibm/dock |
| 728 | ------------------------------------------ | 738 | ------------------------------------------ |
| 729 | 739 | ||
| @@ -784,6 +794,7 @@ the only docking stations currently supported are the X-series | |||
| 784 | UltraBase docks and "dumb" port replicators like the Mini Dock (the | 794 | UltraBase docks and "dumb" port replicators like the Mini Dock (the |
| 785 | latter don't need any ACPI support, actually). | 795 | latter don't need any ACPI support, actually). |
| 786 | 796 | ||
| 797 | |||
| 787 | UltraBay eject -- /proc/acpi/ibm/bay | 798 | UltraBay eject -- /proc/acpi/ibm/bay |
| 788 | ------------------------------------ | 799 | ------------------------------------ |
| 789 | 800 | ||
| @@ -847,8 +858,9 @@ supported. Use "eject2" instead of "eject" for the second bay. | |||
| 847 | Note: the UltraBay eject support on the 600e/x, A22p and A3x is | 858 | Note: the UltraBay eject support on the 600e/x, A22p and A3x is |
| 848 | EXPERIMENTAL and may not work as expected. USE WITH CAUTION! | 859 | EXPERIMENTAL and may not work as expected. USE WITH CAUTION! |
| 849 | 860 | ||
| 850 | CMOS control | 861 | |
| 851 | ------------ | 862 | CMOS/UCMS control |
| 863 | ----------------- | ||
| 852 | 864 | ||
| 853 | procfs: /proc/acpi/ibm/cmos | 865 | procfs: /proc/acpi/ibm/cmos |
| 854 | sysfs device attribute: cmos_command | 866 | sysfs device attribute: cmos_command |
| @@ -882,6 +894,7 @@ The cmos command interface is prone to firmware split-brain problems, as | |||
| 882 | in newer ThinkPads it is just a compatibility layer. Do not use it, it is | 894 | in newer ThinkPads it is just a compatibility layer. Do not use it, it is |
| 883 | exported just as a debug tool. | 895 | exported just as a debug tool. |
| 884 | 896 | ||
| 897 | |||
| 885 | LED control | 898 | LED 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 |
| 940 | zero (to request hardware acceleration autodetection). | 953 | zero (to request hardware acceleration autodetection). |
| 941 | 954 | ||
| 955 | |||
| 942 | ACPI sounds -- /proc/acpi/ibm/beep | 956 | ACPI 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 | |||
| 971 | Temperature sensors | 986 | Temperature sensors |
| 972 | ------------------- | 987 | ------------------- |
| 973 | 988 | ||
| @@ -1115,6 +1130,7 @@ registers contain the current battery capacity, etc. If you experiment | |||
| 1115 | with this, do send me your results (including some complete dumps with | 1130 | with this, do send me your results (including some complete dumps with |
| 1116 | a description of the conditions when they were taken.) | 1131 | a description of the conditions when they were taken.) |
| 1117 | 1132 | ||
| 1133 | |||
| 1118 | LCD brightness control | 1134 | LCD brightness control |
| 1119 | ---------------------- | 1135 | ---------------------- |
| 1120 | 1136 | ||
| @@ -1124,10 +1140,9 @@ sysfs backlight device "thinkpad_screen" | |||
| 1124 | This feature allows software control of the LCD brightness on ThinkPad | 1140 | This feature allows software control of the LCD brightness on ThinkPad |
| 1125 | models which don't have a hardware brightness slider. | 1141 | models which don't have a hardware brightness slider. |
| 1126 | 1142 | ||
| 1127 | It has some limitations: the LCD backlight cannot be actually turned on or | 1143 | It has some limitations: the LCD backlight cannot be actually turned |
| 1128 | off by this interface, and in many ThinkPad models, the "dim while on | 1144 | on or off by this interface, it just controls the backlight brightness |
| 1129 | battery" functionality will be enabled by the BIOS when this interface is | 1145 | level. |
| 1130 | used, and cannot be controlled. | ||
| 1131 | 1146 | ||
| 1132 | On IBM (and some of the earlier Lenovo) ThinkPads, the backlight control | 1147 | On IBM (and some of the earlier Lenovo) ThinkPads, the backlight control |
| 1133 | has eight brightness levels, ranging from 0 to 7. Some of the levels | 1148 | has 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 | |||
| 1204 | Volume control -- /proc/acpi/ibm/volume | 1220 | Volume 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 | |||
| 1217 | up or down command (the level command will not unmute the volume). | 1233 | up or down command (the level command will not unmute the volume). |
| 1218 | The current volume level and mute state is shown in the file. | 1234 | The current volume level and mute state is shown in the file. |
| 1219 | 1235 | ||
| 1236 | The ALSA mixer interface to this feature is still missing, but patches | ||
| 1237 | to add it exist. That problem should be addressed in the not so | ||
| 1238 | distant future. | ||
| 1239 | |||
| 1240 | |||
| 1220 | Fan control and monitoring: fan speed, fan enable/disable | 1241 | Fan control and monitoring: fan speed, fan enable/disable |
| 1221 | --------------------------------------------------------- | 1242 | --------------------------------------------------------- |
| 1222 | 1243 | ||
| @@ -1383,8 +1404,11 @@ procfs: /proc/acpi/ibm/wan | |||
| 1383 | sysfs device attribute: wwan_enable (deprecated) | 1404 | sysfs device attribute: wwan_enable (deprecated) |
| 1384 | sysfs rfkill class: switch "tpacpi_wwan_sw" | 1405 | sysfs rfkill class: switch "tpacpi_wwan_sw" |
| 1385 | 1406 | ||
| 1386 | This feature shows the presence and current state of a W-WAN (Sierra | 1407 | This feature shows the presence and current state of the built-in |
| 1387 | Wireless EV-DO) device. | 1408 | Wireless WAN device. |
| 1409 | |||
| 1410 | If the ThinkPad supports it, the WWAN state is stored in NVRAM, | ||
| 1411 | so it is kept across reboots and power-off. | ||
| 1388 | 1412 | ||
| 1389 | It was tested on a Lenovo ThinkPad X60. It should probably work on other | 1413 | It was tested on a Lenovo ThinkPad X60. It should probably work on other |
| 1390 | ThinkPad models which come with this module installed. | 1414 | ThinkPad 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 | |||
| 1416 | EXPERIMENTAL: UWB | 1441 | EXPERIMENTAL: 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 | |||
| 1434 | Multiple Commands, Module Parameters | 1460 | Multiple 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 | |||
| 1448 | Enabling debugging output | 1475 | Enabling debugging output |
| 1449 | ------------------------- | 1476 | ------------------------- |
| 1450 | 1477 | ||
| @@ -1467,6 +1494,7 @@ The level of debugging information output by the driver can be changed | |||
| 1467 | at runtime through sysfs, using the driver attribute debug_level. The | 1494 | at runtime through sysfs, using the driver attribute debug_level. The |
| 1468 | attribute takes the same bitmask as the debug module parameter above. | 1495 | attribute takes the same bitmask as the debug module parameter above. |
| 1469 | 1496 | ||
| 1497 | |||
| 1470 | Force loading of module | 1498 | Force loading of module |
| 1471 | ----------------------- | 1499 | ----------------------- |
| 1472 | 1500 | ||
