From b01368291926b30abc702dee35c688408b54d422 Mon Sep 17 00:00:00 2001 From: Carlos Corbacho Date: Fri, 8 Feb 2008 23:51:43 +0000 Subject: [PATCH 1/7] tc1100-wmi: Mark as experimental tc1100-wmi has not undergone as much testing as acer-wmi, so it certainly should be marked as experimental as well until we get more user feedback. Signed-off-by: Carlos Corbacho Signed-off-by: Len Brown --- drivers/misc/Kconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig index c143a86c2ea6..061b00d9b625 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig @@ -152,8 +152,9 @@ config FUJITSU_LAPTOP If you have a Fujitsu laptop, say Y or M here. config TC1100_WMI - tristate "HP Compaq TC1100 Tablet WMI Extras" + tristate "HP Compaq TC1100 Tablet WMI Extras (EXPERIMENTAL)" depends on X86 && !X86_64 + depends on EXPERIMENTAL depends on ACPI select ACPI_WMI ---help--- From 4609d029aa8a2c7e0ad71e329c6e3493e1e95040 Mon Sep 17 00:00:00 2001 From: Carlos Corbacho Date: Fri, 8 Feb 2008 23:51:49 +0000 Subject: [PATCH 2/7] acer-wmi: Fix backlight on AMW0 (V1) laptops There is some leftover cruft from the old quirk infrastructure that causes us to be unable to set the backlight on older laptops. Signed-off-by: Carlos Corbacho Signed-off-by: Len Brown --- drivers/misc/acer-wmi.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) 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) if (value > max_brightness) return AE_BAD_PARAMETER; switch (quirks->brightness) { - case 1: - return ec_write(0x83, value); default: - return AE_BAD_ADDRESS; - break; + return ec_write(0x83, value); + break; } default: return AE_BAD_ADDRESS; From d6ff3655773a1810b15da942c40478bf5217e390 Mon Sep 17 00:00:00 2001 From: Carlos Corbacho Date: Sat, 9 Feb 2008 01:32:03 +0000 Subject: [PATCH 3/7] Documentation - Create laptops sub-directory There are currently various laptop drivers floating about with no central place for their documentation, which is currently scattered around the top level Documentation/ directory. So, as a first step, lets create a Documentation sub-directory, and update the relevant index files. The work of then moving the existing laptop driver related documentation will then be handled later. Signed-off-by: Carlos Corbacho Signed-off-by: Randy Dunlap CC: Henrique de Moraes Holschuh CC: Mattia Dongili Signed-off-by: Len Brown --- Documentation/00-INDEX | 2 ++ Documentation/laptops/00-INDEX | 2 ++ 2 files changed, 4 insertions(+) create mode 100644 Documentation/laptops/00-INDEX diff --git a/Documentation/00-INDEX b/Documentation/00-INDEX index 6e9c4050a41b..3de34e581ddb 100644 --- a/Documentation/00-INDEX +++ b/Documentation/00-INDEX @@ -227,6 +227,8 @@ kref.txt - docs on adding reference counters (krefs) to kernel objects. laptop-mode.txt - how to conserve battery power using laptop-mode. +laptops/ + - directory with laptop related info and laptop driver documentation. ldm.txt - a brief description of LDM (Windows Dynamic Disks). leds-class.txt diff --git a/Documentation/laptops/00-INDEX b/Documentation/laptops/00-INDEX new file mode 100644 index 000000000000..2edb5967d35c --- /dev/null +++ b/Documentation/laptops/00-INDEX @@ -0,0 +1,2 @@ +00-INDEX + - This file From f191dc6b55cf92eb8e1f48b41533ecf4d6161569 Mon Sep 17 00:00:00 2001 From: Carlos Corbacho Date: Sat, 9 Feb 2008 01:32:09 +0000 Subject: [PATCH 4/7] thinkpad-acpi - Move thinkpad-acpi.txt to Documentation/laptops Also update references to thinkpad-acpi.txt in Kconfig. Signed-off-by: Carlos Corbacho Signed-off-by: Randy Dunlap CC: Henrique de Moraes Holschuh Signed-off-by: Len Brown --- Documentation/00-INDEX | 2 -- Documentation/laptops/00-INDEX | 2 ++ Documentation/{ => laptops}/thinkpad-acpi.txt | 0 drivers/misc/Kconfig | 5 +++-- 4 files changed, 5 insertions(+), 4 deletions(-) rename Documentation/{ => laptops}/thinkpad-acpi.txt (100%) diff --git a/Documentation/00-INDEX b/Documentation/00-INDEX index 3de34e581ddb..d69b2a3cb455 100644 --- a/Documentation/00-INDEX +++ b/Documentation/00-INDEX @@ -387,8 +387,6 @@ sysrq.txt - info on the magic SysRq key. telephony/ - directory with info on telephony (e.g. voice over IP) support. -thinkpad-acpi.txt - - information on the (IBM and Lenovo) ThinkPad ACPI Extras driver. time_interpolators.txt - info on time interpolators. tipar.txt diff --git a/Documentation/laptops/00-INDEX b/Documentation/laptops/00-INDEX index 2edb5967d35c..e806b084e5b2 100644 --- a/Documentation/laptops/00-INDEX +++ b/Documentation/laptops/00-INDEX @@ -1,2 +1,4 @@ 00-INDEX - This file +thinkpad-acpi.txt + - information on the (IBM and Lenovo) ThinkPad ACPI Extras driver. diff --git a/Documentation/thinkpad-acpi.txt b/Documentation/laptops/thinkpad-acpi.txt similarity index 100% rename from Documentation/thinkpad-acpi.txt rename to Documentation/laptops/thinkpad-acpi.txt diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig index c143a86c2ea6..85ee4362f2db 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig @@ -211,8 +211,9 @@ config THINKPAD_ACPI This is a driver for the IBM and Lenovo ThinkPad laptops. It adds support for Fn-Fx key combinations, Bluetooth control, video output switching, ThinkLight control, UltraBay eject and more. - For more information about this driver see - and . + For more information about this driver see + and + . This driver was formerly known as ibm-acpi. From f04b7c402ba587a299e62907a457013914dec477 Mon Sep 17 00:00:00 2001 From: Carlos Corbacho Date: Sat, 9 Feb 2008 01:32:14 +0000 Subject: [PATCH 5/7] sony-laptop - Move sony-laptop.txt to Documentation/laptops Also update references to sony-laptop.txt in Kconfig. Signed-off-by: Carlos Corbacho Signed-off-by: Randy Dunlap CC: Mattia Dongili Signed-off-by: Len Brown --- Documentation/00-INDEX | 2 -- Documentation/laptops/00-INDEX | 2 ++ Documentation/{ => laptops}/sony-laptop.txt | 1 - drivers/misc/Kconfig | 2 +- 4 files changed, 3 insertions(+), 4 deletions(-) rename Documentation/{ => laptops}/sony-laptop.txt (99%) diff --git a/Documentation/00-INDEX b/Documentation/00-INDEX index d69b2a3cb455..012ef98d4e0a 100644 --- a/Documentation/00-INDEX +++ b/Documentation/00-INDEX @@ -353,8 +353,6 @@ sh/ - directory with info on porting Linux to a new architecture. smart-config.txt - description of the Smart Config makefile feature. -sony-laptop.txt - - Sony Notebook Control Driver (SNC) Readme. sonypi.txt - info on Linux Sony Programmable I/O Device support. sound/ diff --git a/Documentation/laptops/00-INDEX b/Documentation/laptops/00-INDEX index e806b084e5b2..c5bac77d3576 100644 --- a/Documentation/laptops/00-INDEX +++ b/Documentation/laptops/00-INDEX @@ -1,4 +1,6 @@ 00-INDEX - This file +sony-laptop.txt + - Sony Notebook Control Driver (SNC) Readme. thinkpad-acpi.txt - information on the (IBM and Lenovo) ThinkPad ACPI Extras driver. diff --git a/Documentation/sony-laptop.txt b/Documentation/laptops/sony-laptop.txt similarity index 99% rename from Documentation/sony-laptop.txt rename to 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: sonypi driver (through /dev/sonypi) does not try to use the sony-laptop driver. In the future, spicctrl could try sonypi first, and if it isn't present, try sony-laptop instead. - diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig index 85ee4362f2db..830f51c0ff79 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig @@ -192,7 +192,7 @@ config SONY_LAPTOP screen brightness control, Fn keys and allows powering on/off some devices. - Read for more information. + Read for more information. config SONYPI_COMPAT bool "Sonypi compatibility" From 018a651a9c4e3fba623b735593fb39869a69c2f7 Mon Sep 17 00:00:00 2001 From: Carlos Corbacho Date: Sat, 9 Feb 2008 01:32:19 +0000 Subject: [PATCH 6/7] sonypi - Move sonypi.txt to Documentation/laptops Also update references to sonypi.txt in Kconfig. Signed-off-by: Carlos Corbacho Signed-off-by: Randy Dunlap CC: Mattia Dongili Signed-off-by: Len Brown --- Documentation/00-INDEX | 2 -- Documentation/laptops/00-INDEX | 2 ++ Documentation/{ => laptops}/sonypi.txt | 0 drivers/char/Kconfig | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) rename Documentation/{ => laptops}/sonypi.txt (100%) diff --git a/Documentation/00-INDEX b/Documentation/00-INDEX index 012ef98d4e0a..8d556707bb68 100644 --- a/Documentation/00-INDEX +++ b/Documentation/00-INDEX @@ -353,8 +353,6 @@ sh/ - directory with info on porting Linux to a new architecture. smart-config.txt - description of the Smart Config makefile feature. -sonypi.txt - - info on Linux Sony Programmable I/O Device support. sound/ - directory with info on sound card support. sparc/ diff --git a/Documentation/laptops/00-INDEX b/Documentation/laptops/00-INDEX index c5bac77d3576..dbe17595cc7f 100644 --- a/Documentation/laptops/00-INDEX +++ b/Documentation/laptops/00-INDEX @@ -2,5 +2,7 @@ - This file sony-laptop.txt - Sony Notebook Control Driver (SNC) Readme. +sonypi.txt + - info on Linux Sony Programmable I/O Device support. thinkpad-acpi.txt - information on the (IBM and Lenovo) ThinkPad ACPI Extras driver. diff --git a/Documentation/sonypi.txt b/Documentation/laptops/sonypi.txt similarity index 100% rename from Documentation/sonypi.txt rename to Documentation/laptops/sonypi.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 Device which can be found in many (all ?) Sony Vaio laptops. If you have one of those laptops, read - , and say Y or M here. + , and say Y or M here. To compile this driver as a module, choose M here: the module will be called sonypi. From 16111c797990f4fab571f6e982390cb842d16bf0 Mon Sep 17 00:00:00 2001 From: Carlos Corbacho Date: Sat, 9 Feb 2008 01:32:25 +0000 Subject: [PATCH 7/7] acer-wmi - Add documentation Add some initial documentation detailing what acer-wmi is, and how to use it. Update the Kconfig entry with a reference to the documentation. Signed-off-by: Carlos Corbacho Signed-off-by: Randy Dunlap Signed-off-by: Len Brown --- Documentation/laptops/00-INDEX | 2 + Documentation/laptops/acer-wmi.txt | 202 +++++++++++++++++++++++++++++ drivers/misc/Kconfig | 3 + 3 files changed, 207 insertions(+) create mode 100644 Documentation/laptops/acer-wmi.txt diff --git a/Documentation/laptops/00-INDEX b/Documentation/laptops/00-INDEX index dbe17595cc7f..729c2c062e10 100644 --- a/Documentation/laptops/00-INDEX +++ b/Documentation/laptops/00-INDEX @@ -1,5 +1,7 @@ 00-INDEX - This file +acer-wmi.txt + - information on the Acer Laptop WMI Extras driver. sony-laptop.txt - Sony Notebook Control Driver (SNC) Readme. sonypi.txt 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 @@ +Acer Laptop WMI Extras Driver +http://code.google.com/p/aceracpi +Version 0.1 +9th February 2008 + +Copyright 2007-2008 Carlos Corbacho + +acer-wmi is a driver to allow you to control various parts of your Acer laptop +hardware under Linux which are exposed via ACPI-WMI. + +This driver completely replaces the old out-of-tree acer_acpi, which I am +currently maintaining for bug fixes only on pre-2.6.25 kernels. All development +work is now focused solely on acer-wmi. + +Disclaimer +********** + +Acer and Wistron have provided nothing towards the development acer_acpi or +acer-wmi. All information we have has been through the efforts of the developers +and the users to discover as much as possible about the hardware. + +As such, I do warn that this could break your hardware - this is extremely +unlikely of course, but please bear this in mind. + +Background +********** + +acer-wmi is derived from acer_acpi, originally developed by Mark +Smith in 2005, then taken over by Carlos Corbacho in 2007, in order to activate +the wireless LAN card under a 64-bit version of Linux, as acerhk[1] (the +previous solution to the problem) relied on making 32 bit BIOS calls which are +not possible in kernel space from a 64 bit OS. + +[1] acerhk: http://www.cakey.de/acerhk/ + +Supported Hardware +****************** + +Please see the website for the current list of known working hardare: + +http://code.google.com/p/aceracpi/wiki/SupportedHardware + +If your laptop is not listed, or listed as unknown, and works with acer-wmi, +please contact me with a copy of the DSDT. + +If your Acer laptop doesn't work with acer-wmi, I would also like to see the +DSDT. + +To send me the DSDT, as root/sudo: + +cat /sys/firmware/acpi/DSDT > dsdt + +And send me the resulting 'dsdt' file. + +Usage +***** + +On Acer laptops, acer-wmi should already be autoloaded based on DMI matching. +For non-Acer laptops, until WMI based autoloading support is added, you will +need to manually load acer-wmi. + +acer-wmi creates /sys/devices/platform/acer-wmi, and fills it with various +files whose usage is detailed below, which enables you to control some of the +following (varies between models): + +* the wireless LAN card radio +* inbuilt Bluetooth adapter +* inbuilt 3G card +* mail LED of your laptop +* brightness of the LCD panel + +Wireless +******** + +With regards to wireless, all acer-wmi does is enable the radio on the card. It +is not responsible for the wireless LED - once the radio is enabled, this is +down to the wireless driver for your card. So the behaviour of the wireless LED, +once you enable the radio, will depend on your hardware and driver combination. + +e.g. With the BCM4318 on the Acer Aspire 5020 series: + +ndiswrapper: Light blinks on when transmitting +bcm43xx/b43: Solid light, blinks off when transmitting + +Wireless radio control is unconditionally enabled - all Acer laptops that support +acer-wmi come with built-in wireless. However, should you feel so inclined to +ever wish to remove the card, or swap it out at some point, please get in touch +with me, as we may well be able to gain some data on wireless card detection. + +To read the status of the wireless radio (0=off, 1=on): +cat /sys/devices/platform/acer-wmi/wireless + +To enable the wireless radio: +echo 1 > /sys/devices/platform/acer-wmi/wireless + +To disable the wireless radio: +echo 0 > /sys/devices/platform/acer-wmi/wireless + +To set the state of the wireless radio when loading acer-wmi, pass: +wireless=X (where X is 0 or 1) + +Bluetooth +********* + +For bluetooth, this is an internal USB dongle, so once enabled, you will get +a USB device connection event, and a new USB device appears. When you disable +bluetooth, you get the reverse - a USB device disconnect event, followed by the +device disappearing again. + +Bluetooth is autodetected by acer-wmi, so if you do not have a bluetooth module +installed in your laptop, this file won't exist (please be aware that it is +quite common for Acer not to fit bluetooth to their laptops - so just because +you have a bluetooth button on the laptop, doesn't mean that bluetooth is +installed). + +For the adventurously minded - if you want to buy an internal bluetooth +module off the internet that is compatible with your laptop and fit it, then +it will work just fine with acer-wmi. + +To read the status of the bluetooth module (0=off, 1=on): +cat /sys/devices/platform/acer-wmi/wireless + +To enable the bluetooth module: +echo 1 > /sys/devices/platform/acer-wmi/bluetooth + +To disable the bluetooth module: +echo 0 > /sys/devices/platform/acer-wmi/bluetooth + +To set the state of the bluetooth module when loading acer-wmi, pass: +bluetooth=X (where X is 0 or 1) + +3G +** + +3G is currently not autodetected, so the 'threeg' file is always created under +sysfs. So far, no-one in possession of an Acer laptop with 3G built-in appears to +have tried Linux, or reported back, so we don't have any information on this. + +If you have an Acer laptop that does have a 3G card in, please contact me so we +can properly detect these, and find out a bit more about them. + +To read the status of the 3G card (0=off, 1=on): +cat /sys/devices/platform/acer-wmi/threeg + +To enable the 3G card: +echo 1 > /sys/devices/platform/acer-wmi/threeg + +To disable the 3G card: +echo 0 > /sys/devices/platform/acer-wmi/threeg + +To set the state of the 3G card when loading acer-wmi, pass: +threeg=X (where X is 0 or 1) + +Mail LED +******** + +This can be found in most older Acer laptops supported by acer-wmi, and many +newer ones - it is built into the 'mail' button, and blinks when active. + +On newer (WMID) laptops though, we have no way of detecting the mail LED. If +your laptop identifies itself in dmesg as a WMID model, then please try loading +acer_acpi with: + +force_series=2490 + +This will use a known alternative method of reading/ writing the mail LED. If +it works, please report back to me with the DMI data from your laptop so this +can be added to acer-wmi. + +The LED is exposed through the LED subsystem, and can be found in: + +/sys/devices/platform/acer-wmi/leds/acer-mail:green/ + +The mail LED is autodetected, so if you don't have one, the LED device won't +be registered. + +If you have a mail LED that is not green, please report this to me. + +Backlight +********* + +The backlight brightness control is available on all acer-wmi supported +hardware. The maximum brightness level is usually 15, but on some newer laptops +it's 10 (this is again autodetected). + +The backlight is exposed through the backlight subsystem, and can be found in: + +/sys/devices/platform/acer-wmi/backlight/acer-wmi/ + +Credits +******* + +Olaf Tauber, who did the real hard work when he developed acerhk +http://www.informatik.hu-berlin.de/~tauber/acerhk +All the authors of laptop ACPI modules in the kernel, whose work +was an inspiration in the early days of acer_acpi +Mathieu Segaud, who solved the problem with having to modprobe the driver +twice in acer_acpi 0.2. +Jim Ramsay, who added support for the WMID interface +Mark Smith, who started the original acer_acpi + +And the many people who have used both acer_acpi and acer-wmi. diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig index 830f51c0ff79..92a85eecab04 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig @@ -114,6 +114,9 @@ config ACER_WMI wireless radio and bluetooth control, and on some laptops, exposes the mail LED and LCD backlight. + For more information about this driver see + + If you have an ACPI-WMI compatible Acer/ Wistron laptop, say Y or M here.