diff options
| -rw-r--r-- | Documentation/00-INDEX | 8 | ||||
| -rw-r--r-- | Documentation/laptops/00-INDEX | 10 | ||||
| -rw-r--r-- | Documentation/laptops/acer-wmi.txt | 202 | ||||
| -rw-r--r-- | Documentation/laptops/sony-laptop.txt (renamed from Documentation/sony-laptop.txt) | 1 | ||||
| -rw-r--r-- | Documentation/laptops/sonypi.txt (renamed from Documentation/sonypi.txt) | 0 | ||||
| -rw-r--r-- | Documentation/laptops/thinkpad-acpi.txt (renamed from Documentation/thinkpad-acpi.txt) | 0 | ||||
| -rw-r--r-- | drivers/char/Kconfig | 2 | ||||
| -rw-r--r-- | drivers/misc/Kconfig | 13 | ||||
| -rw-r--r-- | drivers/misc/acer-wmi.c | 6 |
9 files changed, 226 insertions, 16 deletions
diff --git a/Documentation/00-INDEX b/Documentation/00-INDEX index 6e9c4050a41b..8d556707bb68 100644 --- a/Documentation/00-INDEX +++ b/Documentation/00-INDEX | |||
| @@ -227,6 +227,8 @@ kref.txt | |||
| 227 | - docs on adding reference counters (krefs) to kernel objects. | 227 | - docs on adding reference counters (krefs) to kernel objects. |
| 228 | laptop-mode.txt | 228 | laptop-mode.txt |
| 229 | - how to conserve battery power using laptop-mode. | 229 | - how to conserve battery power using laptop-mode. |
| 230 | laptops/ | ||
| 231 | - directory with laptop related info and laptop driver documentation. | ||
| 230 | ldm.txt | 232 | ldm.txt |
| 231 | - a brief description of LDM (Windows Dynamic Disks). | 233 | - a brief description of LDM (Windows Dynamic Disks). |
| 232 | leds-class.txt | 234 | leds-class.txt |
| @@ -351,10 +353,6 @@ sh/ | |||
| 351 | - directory with info on porting Linux to a new architecture. | 353 | - directory with info on porting Linux to a new architecture. |
| 352 | smart-config.txt | 354 | smart-config.txt |
| 353 | - description of the Smart Config makefile feature. | 355 | - description of the Smart Config makefile feature. |
| 354 | sony-laptop.txt | ||
| 355 | - Sony Notebook Control Driver (SNC) Readme. | ||
| 356 | sonypi.txt | ||
| 357 | - info on Linux Sony Programmable I/O Device support. | ||
| 358 | sound/ | 356 | sound/ |
| 359 | - directory with info on sound card support. | 357 | - directory with info on sound card support. |
| 360 | sparc/ | 358 | sparc/ |
| @@ -385,8 +383,6 @@ sysrq.txt | |||
| 385 | - info on the magic SysRq key. | 383 | - info on the magic SysRq key. |
| 386 | telephony/ | 384 | telephony/ |
| 387 | - directory with info on telephony (e.g. voice over IP) support. | 385 | - directory with info on telephony (e.g. voice over IP) support. |
| 388 | thinkpad-acpi.txt | ||
| 389 | - information on the (IBM and Lenovo) ThinkPad ACPI Extras driver. | ||
| 390 | time_interpolators.txt | 386 | time_interpolators.txt |
| 391 | - info on time interpolators. | 387 | - info on time interpolators. |
| 392 | tipar.txt | 388 | tipar.txt |
diff --git a/Documentation/laptops/00-INDEX b/Documentation/laptops/00-INDEX new file mode 100644 index 000000000000..729c2c062e10 --- /dev/null +++ b/Documentation/laptops/00-INDEX | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | 00-INDEX | ||
| 2 | - This file | ||
| 3 | acer-wmi.txt | ||
| 4 | - information on the Acer Laptop WMI Extras driver. | ||
| 5 | sony-laptop.txt | ||
| 6 | - Sony Notebook Control Driver (SNC) Readme. | ||
| 7 | sonypi.txt | ||
| 8 | - info on Linux Sony Programmable I/O Device support. | ||
| 9 | thinkpad-acpi.txt | ||
| 10 | - information on the (IBM and Lenovo) ThinkPad ACPI Extras driver. | ||
diff --git a/Documentation/laptops/acer-wmi.txt b/Documentation/laptops/acer-wmi.txt new file mode 100644 index 000000000000..b06696329cff --- /dev/null +++ b/Documentation/laptops/acer-wmi.txt | |||
| @@ -0,0 +1,202 @@ | |||
| 1 | Acer Laptop WMI Extras Driver | ||
| 2 | http://code.google.com/p/aceracpi | ||
| 3 | Version 0.1 | ||
| 4 | 9th February 2008 | ||
| 5 | |||
| 6 | Copyright 2007-2008 Carlos Corbacho <carlos@strangeworlds.co.uk> | ||
| 7 | |||
| 8 | acer-wmi is a driver to allow you to control various parts of your Acer laptop | ||
| 9 | hardware under Linux which are exposed via ACPI-WMI. | ||
| 10 | |||
| 11 | This driver completely replaces the old out-of-tree acer_acpi, which I am | ||
| 12 | currently maintaining for bug fixes only on pre-2.6.25 kernels. All development | ||
| 13 | work is now focused solely on acer-wmi. | ||
| 14 | |||
| 15 | Disclaimer | ||
| 16 | ********** | ||
| 17 | |||
| 18 | Acer and Wistron have provided nothing towards the development acer_acpi or | ||
| 19 | acer-wmi. All information we have has been through the efforts of the developers | ||
| 20 | and the users to discover as much as possible about the hardware. | ||
| 21 | |||
| 22 | As such, I do warn that this could break your hardware - this is extremely | ||
| 23 | unlikely of course, but please bear this in mind. | ||
| 24 | |||
| 25 | Background | ||
| 26 | ********** | ||
| 27 | |||
| 28 | acer-wmi is derived from acer_acpi, originally developed by Mark | ||
| 29 | Smith in 2005, then taken over by Carlos Corbacho in 2007, in order to activate | ||
| 30 | the wireless LAN card under a 64-bit version of Linux, as acerhk[1] (the | ||
| 31 | previous solution to the problem) relied on making 32 bit BIOS calls which are | ||
| 32 | not possible in kernel space from a 64 bit OS. | ||
| 33 | |||
| 34 | [1] acerhk: http://www.cakey.de/acerhk/ | ||
| 35 | |||
| 36 | Supported Hardware | ||
| 37 | ****************** | ||
| 38 | |||
| 39 | Please see the website for the current list of known working hardare: | ||
| 40 | |||
| 41 | http://code.google.com/p/aceracpi/wiki/SupportedHardware | ||
| 42 | |||
| 43 | If your laptop is not listed, or listed as unknown, and works with acer-wmi, | ||
| 44 | please contact me with a copy of the DSDT. | ||
| 45 | |||
| 46 | If your Acer laptop doesn't work with acer-wmi, I would also like to see the | ||
| 47 | DSDT. | ||
| 48 | |||
| 49 | To send me the DSDT, as root/sudo: | ||
| 50 | |||
| 51 | cat /sys/firmware/acpi/DSDT > dsdt | ||
| 52 | |||
| 53 | And send me the resulting 'dsdt' file. | ||
| 54 | |||
| 55 | Usage | ||
| 56 | ***** | ||
| 57 | |||
| 58 | On Acer laptops, acer-wmi should already be autoloaded based on DMI matching. | ||
| 59 | For non-Acer laptops, until WMI based autoloading support is added, you will | ||
| 60 | need to manually load acer-wmi. | ||
| 61 | |||
| 62 | acer-wmi creates /sys/devices/platform/acer-wmi, and fills it with various | ||
| 63 | files whose usage is detailed below, which enables you to control some of the | ||
| 64 | following (varies between models): | ||
| 65 | |||
| 66 | * the wireless LAN card radio | ||
| 67 | * inbuilt Bluetooth adapter | ||
| 68 | * inbuilt 3G card | ||
| 69 | * mail LED of your laptop | ||
| 70 | * brightness of the LCD panel | ||
| 71 | |||
| 72 | Wireless | ||
| 73 | ******** | ||
| 74 | |||
| 75 | With regards to wireless, all acer-wmi does is enable the radio on the card. It | ||
| 76 | is not responsible for the wireless LED - once the radio is enabled, this is | ||
| 77 | down to the wireless driver for your card. So the behaviour of the wireless LED, | ||
| 78 | once you enable the radio, will depend on your hardware and driver combination. | ||
| 79 | |||
| 80 | e.g. With the BCM4318 on the Acer Aspire 5020 series: | ||
| 81 | |||
| 82 | ndiswrapper: Light blinks on when transmitting | ||
| 83 | bcm43xx/b43: Solid light, blinks off when transmitting | ||
| 84 | |||
| 85 | Wireless radio control is unconditionally enabled - all Acer laptops that support | ||
| 86 | acer-wmi come with built-in wireless. However, should you feel so inclined to | ||
| 87 | ever wish to remove the card, or swap it out at some point, please get in touch | ||
| 88 | with me, as we may well be able to gain some data on wireless card detection. | ||
| 89 | |||
| 90 | To read the status of the wireless radio (0=off, 1=on): | ||
| 91 | cat /sys/devices/platform/acer-wmi/wireless | ||
| 92 | |||
| 93 | To enable the wireless radio: | ||
| 94 | echo 1 > /sys/devices/platform/acer-wmi/wireless | ||
| 95 | |||
| 96 | To disable the wireless radio: | ||
| 97 | echo 0 > /sys/devices/platform/acer-wmi/wireless | ||
| 98 | |||
| 99 | To set the state of the wireless radio when loading acer-wmi, pass: | ||
| 100 | wireless=X (where X is 0 or 1) | ||
| 101 | |||
| 102 | Bluetooth | ||
| 103 | ********* | ||
| 104 | |||
| 105 | For bluetooth, this is an internal USB dongle, so once enabled, you will get | ||
| 106 | a USB device connection event, and a new USB device appears. When you disable | ||
| 107 | bluetooth, you get the reverse - a USB device disconnect event, followed by the | ||
| 108 | device disappearing again. | ||
| 109 | |||
| 110 | Bluetooth is autodetected by acer-wmi, so if you do not have a bluetooth module | ||
| 111 | installed in your laptop, this file won't exist (please be aware that it is | ||
| 112 | quite common for Acer not to fit bluetooth to their laptops - so just because | ||
| 113 | you have a bluetooth button on the laptop, doesn't mean that bluetooth is | ||
| 114 | installed). | ||
| 115 | |||
| 116 | For the adventurously minded - if you want to buy an internal bluetooth | ||
| 117 | module off the internet that is compatible with your laptop and fit it, then | ||
| 118 | it will work just fine with acer-wmi. | ||
| 119 | |||
| 120 | To read the status of the bluetooth module (0=off, 1=on): | ||
| 121 | cat /sys/devices/platform/acer-wmi/wireless | ||
| 122 | |||
| 123 | To enable the bluetooth module: | ||
| 124 | echo 1 > /sys/devices/platform/acer-wmi/bluetooth | ||
| 125 | |||
| 126 | To disable the bluetooth module: | ||
| 127 | echo 0 > /sys/devices/platform/acer-wmi/bluetooth | ||
| 128 | |||
| 129 | To set the state of the bluetooth module when loading acer-wmi, pass: | ||
| 130 | bluetooth=X (where X is 0 or 1) | ||
| 131 | |||
| 132 | 3G | ||
| 133 | ** | ||
| 134 | |||
| 135 | 3G is currently not autodetected, so the 'threeg' file is always created under | ||
| 136 | sysfs. So far, no-one in possession of an Acer laptop with 3G built-in appears to | ||
| 137 | have tried Linux, or reported back, so we don't have any information on this. | ||
| 138 | |||
| 139 | If you have an Acer laptop that does have a 3G card in, please contact me so we | ||
| 140 | can properly detect these, and find out a bit more about them. | ||
| 141 | |||
| 142 | To read the status of the 3G card (0=off, 1=on): | ||
| 143 | cat /sys/devices/platform/acer-wmi/threeg | ||
| 144 | |||
| 145 | To enable the 3G card: | ||
| 146 | echo 1 > /sys/devices/platform/acer-wmi/threeg | ||
| 147 | |||
| 148 | To disable the 3G card: | ||
| 149 | echo 0 > /sys/devices/platform/acer-wmi/threeg | ||
| 150 | |||
| 151 | To set the state of the 3G card when loading acer-wmi, pass: | ||
| 152 | threeg=X (where X is 0 or 1) | ||
| 153 | |||
| 154 | Mail LED | ||
| 155 | ******** | ||
| 156 | |||
| 157 | This can be found in most older Acer laptops supported by acer-wmi, and many | ||
| 158 | newer ones - it is built into the 'mail' button, and blinks when active. | ||
| 159 | |||
| 160 | On newer (WMID) laptops though, we have no way of detecting the mail LED. If | ||
| 161 | your laptop identifies itself in dmesg as a WMID model, then please try loading | ||
| 162 | acer_acpi with: | ||
| 163 | |||
| 164 | force_series=2490 | ||
| 165 | |||
| 166 | This will use a known alternative method of reading/ writing the mail LED. If | ||
| 167 | it works, please report back to me with the DMI data from your laptop so this | ||
| 168 | can be added to acer-wmi. | ||
| 169 | |||
| 170 | The LED is exposed through the LED subsystem, and can be found in: | ||
| 171 | |||
| 172 | /sys/devices/platform/acer-wmi/leds/acer-mail:green/ | ||
| 173 | |||
| 174 | The mail LED is autodetected, so if you don't have one, the LED device won't | ||
| 175 | be registered. | ||
| 176 | |||
| 177 | If you have a mail LED that is not green, please report this to me. | ||
| 178 | |||
| 179 | Backlight | ||
| 180 | ********* | ||
| 181 | |||
| 182 | The backlight brightness control is available on all acer-wmi supported | ||
| 183 | hardware. The maximum brightness level is usually 15, but on some newer laptops | ||
| 184 | it's 10 (this is again autodetected). | ||
| 185 | |||
| 186 | The backlight is exposed through the backlight subsystem, and can be found in: | ||
| 187 | |||
| 188 | /sys/devices/platform/acer-wmi/backlight/acer-wmi/ | ||
| 189 | |||
| 190 | Credits | ||
| 191 | ******* | ||
| 192 | |||
| 193 | Olaf Tauber, who did the real hard work when he developed acerhk | ||
| 194 | http://www.informatik.hu-berlin.de/~tauber/acerhk | ||
| 195 | All the authors of laptop ACPI modules in the kernel, whose work | ||
| 196 | was an inspiration in the early days of acer_acpi | ||
| 197 | Mathieu Segaud, who solved the problem with having to modprobe the driver | ||
| 198 | twice in acer_acpi 0.2. | ||
| 199 | Jim Ramsay, who added support for the WMID interface | ||
| 200 | Mark Smith, who started the original acer_acpi | ||
| 201 | |||
| 202 | And the many people who have used both acer_acpi and acer-wmi. | ||
diff --git a/Documentation/sony-laptop.txt b/Documentation/laptops/sony-laptop.txt index 7a5c1a81905c..8b2bc1572d98 100644 --- a/Documentation/sony-laptop.txt +++ b/Documentation/laptops/sony-laptop.txt | |||
| @@ -114,4 +114,3 @@ Bugs/Limitations: | |||
| 114 | sonypi driver (through /dev/sonypi) does not try to use the | 114 | sonypi driver (through /dev/sonypi) does not try to use the |
| 115 | sony-laptop driver. In the future, spicctrl could try sonypi first, | 115 | sony-laptop driver. In the future, spicctrl could try sonypi first, |
| 116 | and if it isn't present, try sony-laptop instead. | 116 | and if it isn't present, try sony-laptop instead. |
| 117 | |||
diff --git a/Documentation/sonypi.txt b/Documentation/laptops/sonypi.txt index 4857acfc50f1..4857acfc50f1 100644 --- a/Documentation/sonypi.txt +++ b/Documentation/laptops/sonypi.txt | |||
diff --git a/Documentation/thinkpad-acpi.txt b/Documentation/laptops/thinkpad-acpi.txt index 6c2477754a2a..6c2477754a2a 100644 --- a/Documentation/thinkpad-acpi.txt +++ b/Documentation/laptops/thinkpad-acpi.txt | |||
diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig index f01ac9a07bf5..47c6be84fc84 100644 --- a/drivers/char/Kconfig +++ b/drivers/char/Kconfig | |||
| @@ -875,7 +875,7 @@ config SONYPI | |||
| 875 | Device which can be found in many (all ?) Sony Vaio laptops. | 875 | Device which can be found in many (all ?) Sony Vaio laptops. |
| 876 | 876 | ||
| 877 | If you have one of those laptops, read | 877 | If you have one of those laptops, read |
| 878 | <file:Documentation/sonypi.txt>, and say Y or M here. | 878 | <file:Documentation/laptops/sonypi.txt>, and say Y or M here. |
| 879 | 879 | ||
| 880 | To compile this driver as a module, choose M here: the | 880 | To compile this driver as a module, choose M here: the |
| 881 | module will be called sonypi. | 881 | module will be called sonypi. |
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig index c143a86c2ea6..1abc95ca9dfa 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig | |||
| @@ -114,6 +114,9 @@ config ACER_WMI | |||
| 114 | wireless radio and bluetooth control, and on some laptops, | 114 | wireless radio and bluetooth control, and on some laptops, |
| 115 | exposes the mail LED and LCD backlight. | 115 | exposes the mail LED and LCD backlight. |
| 116 | 116 | ||
| 117 | For more information about this driver see | ||
| 118 | <file:Documentation/laptops/acer-wmi.txt> | ||
| 119 | |||
| 117 | If you have an ACPI-WMI compatible Acer/ Wistron laptop, say Y or M | 120 | If you have an ACPI-WMI compatible Acer/ Wistron laptop, say Y or M |
| 118 | here. | 121 | here. |
| 119 | 122 | ||
| @@ -152,8 +155,9 @@ config FUJITSU_LAPTOP | |||
| 152 | If you have a Fujitsu laptop, say Y or M here. | 155 | If you have a Fujitsu laptop, say Y or M here. |
| 153 | 156 | ||
| 154 | config TC1100_WMI | 157 | config TC1100_WMI |
| 155 | tristate "HP Compaq TC1100 Tablet WMI Extras" | 158 | tristate "HP Compaq TC1100 Tablet WMI Extras (EXPERIMENTAL)" |
| 156 | depends on X86 && !X86_64 | 159 | depends on X86 && !X86_64 |
| 160 | depends on EXPERIMENTAL | ||
| 157 | depends on ACPI | 161 | depends on ACPI |
| 158 | select ACPI_WMI | 162 | select ACPI_WMI |
| 159 | ---help--- | 163 | ---help--- |
| @@ -192,7 +196,7 @@ config SONY_LAPTOP | |||
| 192 | screen brightness control, Fn keys and allows powering on/off some | 196 | screen brightness control, Fn keys and allows powering on/off some |
| 193 | devices. | 197 | devices. |
| 194 | 198 | ||
| 195 | Read <file:Documentation/sony-laptop.txt> for more information. | 199 | Read <file:Documentation/laptops/sony-laptop.txt> for more information. |
| 196 | 200 | ||
| 197 | config SONYPI_COMPAT | 201 | config SONYPI_COMPAT |
| 198 | bool "Sonypi compatibility" | 202 | bool "Sonypi compatibility" |
| @@ -211,8 +215,9 @@ config THINKPAD_ACPI | |||
| 211 | This is a driver for the IBM and Lenovo ThinkPad laptops. It adds | 215 | This is a driver for the IBM and Lenovo ThinkPad laptops. It adds |
| 212 | support for Fn-Fx key combinations, Bluetooth control, video | 216 | support for Fn-Fx key combinations, Bluetooth control, video |
| 213 | output switching, ThinkLight control, UltraBay eject and more. | 217 | output switching, ThinkLight control, UltraBay eject and more. |
| 214 | For more information about this driver see | 218 | For more information about this driver see |
| 215 | <file:Documentation/thinkpad-acpi.txt> and <http://ibm-acpi.sf.net/> . | 219 | <file:Documentation/laptops/thinkpad-acpi.txt> and |
| 220 | <http://ibm-acpi.sf.net/> . | ||
| 216 | 221 | ||
| 217 | This driver was formerly known as ibm-acpi. | 222 | This driver was formerly known as ibm-acpi. |
| 218 | 223 | ||
diff --git a/drivers/misc/acer-wmi.c b/drivers/misc/acer-wmi.c index a4d677504250..d7aea93081f2 100644 --- a/drivers/misc/acer-wmi.c +++ b/drivers/misc/acer-wmi.c | |||
| @@ -428,11 +428,9 @@ static acpi_status AMW0_set_u32(u32 value, u32 cap, struct wmi_interface *iface) | |||
| 428 | if (value > max_brightness) | 428 | if (value > max_brightness) |
| 429 | return AE_BAD_PARAMETER; | 429 | return AE_BAD_PARAMETER; |
| 430 | switch (quirks->brightness) { | 430 | switch (quirks->brightness) { |
| 431 | case 1: | ||
| 432 | return ec_write(0x83, value); | ||
| 433 | default: | 431 | default: |
| 434 | return AE_BAD_ADDRESS; | 432 | return ec_write(0x83, value); |
| 435 | break; | 433 | break; |
| 436 | } | 434 | } |
| 437 | default: | 435 | default: |
| 438 | return AE_BAD_ADDRESS; | 436 | return AE_BAD_ADDRESS; |
