diff options
| author | Len Brown <len.brown@intel.com> | 2006-10-14 02:25:40 -0400 |
|---|---|---|
| committer | Len Brown <len.brown@intel.com> | 2006-10-14 02:25:40 -0400 |
| commit | c92fd49c547c607e23b2687f0f65f762b7210035 (patch) | |
| tree | ac1aa99cc17ecf2bd4432a5551cc50e9c1fe2ae4 | |
| parent | 9443d7c93499e2b4bd37d30c09e8ac3aa4208466 (diff) | |
| parent | 2fe6dffabb06bfa0591c8c490b092b458fba1f06 (diff) | |
Pull ibm into test branch
| -rw-r--r-- | Documentation/ibm-acpi.txt | 75 | ||||
| -rw-r--r-- | drivers/acpi/ibm_acpi.c | 2 |
2 files changed, 25 insertions, 52 deletions
diff --git a/Documentation/ibm-acpi.txt b/Documentation/ibm-acpi.txt index 71aa40345272..e50595bfd8ea 100644 --- a/Documentation/ibm-acpi.txt +++ b/Documentation/ibm-acpi.txt | |||
| @@ -30,9 +30,10 @@ detailed description): | |||
| 30 | - ACPI sounds | 30 | - ACPI sounds |
| 31 | - temperature sensors | 31 | - temperature sensors |
| 32 | - Experimental: embedded controller register dump | 32 | - Experimental: embedded controller register dump |
| 33 | - Experimental: LCD brightness control | 33 | - LCD brightness control |
| 34 | - Experimental: volume control | 34 | - Volume control |
| 35 | - Experimental: fan speed, fan enable/disable | 35 | - Experimental: fan speed, fan enable/disable |
| 36 | - Experimental: WAN enable and disable | ||
| 36 | 37 | ||
| 37 | A compatibility table by model and feature is maintained on the web | 38 | A compatibility table by model and feature is maintained on the web |
| 38 | site, http://ibm-acpi.sf.net/. I appreciate any success or failure | 39 | site, http://ibm-acpi.sf.net/. I appreciate any success or failure |
| @@ -52,40 +53,7 @@ Installation | |||
| 52 | 53 | ||
| 53 | If you are compiling this driver as included in the Linux kernel | 54 | If you are compiling this driver as included in the Linux kernel |
| 54 | sources, simply enable the CONFIG_ACPI_IBM option (Power Management / | 55 | sources, simply enable the CONFIG_ACPI_IBM option (Power Management / |
| 55 | ACPI / IBM ThinkPad Laptop Extras). The rest of this section describes | 56 | ACPI / IBM ThinkPad Laptop Extras). |
| 56 | how to install this driver when downloaded from the web site. | ||
| 57 | |||
| 58 | First, you need to get a kernel with ACPI support up and running. | ||
| 59 | Please refer to http://acpi.sourceforge.net/ for help with this | ||
| 60 | step. How successful you will be depends a lot on you ThinkPad model, | ||
| 61 | the kernel you are using and any additional patches applied. The | ||
| 62 | kernel provided with your distribution may not be good enough. I | ||
| 63 | needed to compile a 2.6.7 kernel with the 20040715 ACPI patch to get | ||
| 64 | ACPI working reliably on my ThinkPad X40. Old ThinkPad models may not | ||
| 65 | be supported at all. | ||
| 66 | |||
| 67 | Assuming you have the basic ACPI support working (e.g. you can see the | ||
| 68 | /proc/acpi directory), follow the following steps to install this | ||
| 69 | driver: | ||
| 70 | |||
| 71 | - unpack the archive: | ||
| 72 | |||
| 73 | tar xzvf ibm-acpi-x.y.tar.gz; cd ibm-acpi-x.y | ||
| 74 | |||
| 75 | - compile the driver: | ||
| 76 | |||
| 77 | make | ||
| 78 | |||
| 79 | - install the module in your kernel modules directory: | ||
| 80 | |||
| 81 | make install | ||
| 82 | |||
| 83 | - load the module: | ||
| 84 | |||
| 85 | modprobe ibm_acpi | ||
| 86 | |||
| 87 | After loading the module, check the "dmesg" output for any error messages. | ||
| 88 | |||
| 89 | 57 | ||
| 90 | Features | 58 | Features |
| 91 | -------- | 59 | -------- |
| @@ -523,13 +491,8 @@ registers contain the current battery capacity, etc. If you experiment | |||
| 523 | with this, do send me your results (including some complete dumps with | 491 | with this, do send me your results (including some complete dumps with |
| 524 | a description of the conditions when they were taken.) | 492 | a description of the conditions when they were taken.) |
| 525 | 493 | ||
| 526 | EXPERIMENTAL: LCD brightness control -- /proc/acpi/ibm/brightness | 494 | LCD brightness control -- /proc/acpi/ibm/brightness |
| 527 | ----------------------------------------------------------------- | 495 | --------------------------------------------------- |
| 528 | |||
| 529 | This feature is marked EXPERIMENTAL because the implementation | ||
| 530 | directly accesses hardware registers and may not work as expected. USE | ||
| 531 | WITH CAUTION! To use this feature, you need to supply the | ||
| 532 | experimental=1 parameter when loading the module. | ||
| 533 | 496 | ||
| 534 | This feature allows software control of the LCD brightness on ThinkPad | 497 | This feature allows software control of the LCD brightness on ThinkPad |
| 535 | models which don't have a hardware brightness slider. The available | 498 | models which don't have a hardware brightness slider. The available |
| @@ -542,13 +505,8 @@ commands are: | |||
| 542 | The <level> number range is 0 to 7, although not all of them may be | 505 | The <level> number range is 0 to 7, although not all of them may be |
| 543 | distinct. The current brightness level is shown in the file. | 506 | distinct. The current brightness level is shown in the file. |
| 544 | 507 | ||
| 545 | EXPERIMENTAL: Volume control -- /proc/acpi/ibm/volume | 508 | Volume control -- /proc/acpi/ibm/volume |
| 546 | ----------------------------------------------------- | 509 | --------------------------------------- |
| 547 | |||
| 548 | This feature is marked EXPERIMENTAL because the implementation | ||
| 549 | directly accesses hardware registers and may not work as expected. USE | ||
| 550 | WITH CAUTION! To use this feature, you need to supply the | ||
| 551 | experimental=1 parameter when loading the module. | ||
| 552 | 510 | ||
| 553 | This feature allows volume control on ThinkPad models which don't have | 511 | This feature allows volume control on ThinkPad models which don't have |
| 554 | a hardware volume knob. The available commands are: | 512 | a hardware volume knob. The available commands are: |
| @@ -611,6 +569,23 @@ with the following command: | |||
| 611 | 569 | ||
| 612 | echo 'level <level>' > /proc/acpi/ibm/thermal | 570 | echo 'level <level>' > /proc/acpi/ibm/thermal |
| 613 | 571 | ||
| 572 | EXPERIMENTAL: WAN -- /proc/acpi/ibm/wan | ||
| 573 | --------------------------------------- | ||
| 574 | |||
| 575 | This feature is marked EXPERIMENTAL because the implementation | ||
| 576 | directly accesses hardware registers and may not work as expected. USE | ||
| 577 | WITH CAUTION! To use this feature, you need to supply the | ||
| 578 | experimental=1 parameter when loading the module. | ||
| 579 | |||
| 580 | This feature shows the presence and current state of a WAN (Sierra | ||
| 581 | Wireless EV-DO) device. If WAN is installed, the following commands can | ||
| 582 | be used: | ||
| 583 | |||
| 584 | echo enable > /proc/acpi/ibm/wan | ||
| 585 | echo disable > /proc/acpi/ibm/wan | ||
| 586 | |||
| 587 | It was tested on a Lenovo Thinkpad X60. It should probably work on other | ||
| 588 | Thinkpad models which come with this module installed. | ||
| 614 | 589 | ||
| 615 | Multiple Commands, Module Parameters | 590 | Multiple Commands, Module Parameters |
| 616 | ------------------------------------ | 591 | ------------------------------------ |
diff --git a/drivers/acpi/ibm_acpi.c b/drivers/acpi/ibm_acpi.c index 15fc12482ba0..003a9876c968 100644 --- a/drivers/acpi/ibm_acpi.c +++ b/drivers/acpi/ibm_acpi.c | |||
| @@ -1702,13 +1702,11 @@ static struct ibm_struct ibms[] = { | |||
| 1702 | .name = "brightness", | 1702 | .name = "brightness", |
| 1703 | .read = brightness_read, | 1703 | .read = brightness_read, |
| 1704 | .write = brightness_write, | 1704 | .write = brightness_write, |
| 1705 | .experimental = 1, | ||
| 1706 | }, | 1705 | }, |
| 1707 | { | 1706 | { |
| 1708 | .name = "volume", | 1707 | .name = "volume", |
| 1709 | .read = volume_read, | 1708 | .read = volume_read, |
| 1710 | .write = volume_write, | 1709 | .write = volume_write, |
| 1711 | .experimental = 1, | ||
| 1712 | }, | 1710 | }, |
| 1713 | { | 1711 | { |
| 1714 | .name = "fan", | 1712 | .name = "fan", |
