aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-07-13 21:08:23 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2013-07-13 21:08:23 -0400
commit63345b4794aef4ebe16502cfe35b02bc9822d763 (patch)
tree758a127bad6b1035d4878c9a7a1cc7fac167b3b3
parent18fb38e2f58ff7a66e30cbb71af81425edf1c9a1 (diff)
parentfef8ce166b2d5cdba8bbf85fa48c4cb8d75ffec4 (diff)
Merge branch 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86
Pull x86 platform driver updates from Matthew Garrett: "Nothing overly exciting here - a couple of new drivers that don't do a great deal, along with some miscellaneous fixes and a couple of small feature enablement patches" * 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86: x86 platform drivers: fix gpio leak toshiba_acpi: Add dependency on SERIO_I8042 asus-nb-wmi: set wapf=4 for ASUSTeK COMPUTER INC. 1015E/U Add trivial driver to disable Intel Smart Connect Add support driver for Intel Rapid Start Technology hp-wmi: add supports for POST code error asus-wmi: control wlan-led only if wapf == 4 drivers/platform/x86/intel_ips: Convert to module_pci_driver asus-nb-wmi: ignore ALS notification key code asus-wmi: append newline to messages x86: asus-laptop: fix invalid point access x86: msi-laptop: fix memleak amilo-rfkill: Add dependency on SERIO_I8042 dell-laptop: fix error return code in dell_init() hp-wmi: Enable hotkeys on some systems
-rw-r--r--Documentation/ABI/testing/sysfs-driver-intel-rapid-start21
-rw-r--r--drivers/platform/x86/Kconfig28
-rw-r--r--drivers/platform/x86/Makefile2
-rw-r--r--drivers/platform/x86/asus-laptop.c1
-rw-r--r--drivers/platform/x86/asus-nb-wmi.c19
-rw-r--r--drivers/platform/x86/asus-wmi.c21
-rw-r--r--drivers/platform/x86/dell-laptop.c5
-rw-r--r--drivers/platform/x86/hp-wmi.c63
-rw-r--r--drivers/platform/x86/intel-rst.c209
-rw-r--r--drivers/platform/x86/intel-smartconnect.c90
-rw-r--r--drivers/platform/x86/intel_ips.c13
-rw-r--r--drivers/platform/x86/intel_pmic_gpio.c6
-rw-r--r--drivers/platform/x86/msi-laptop.c24
13 files changed, 462 insertions, 40 deletions
diff --git a/Documentation/ABI/testing/sysfs-driver-intel-rapid-start b/Documentation/ABI/testing/sysfs-driver-intel-rapid-start
new file mode 100644
index 000000000000..5a7d2e217d40
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-driver-intel-rapid-start
@@ -0,0 +1,21 @@
1What: /sys/bus/acpi/intel-rapid-start/wakeup_events
2Date: July 2, 2013
3KernelVersion: 3.11
4Contact: Matthew Garrett <mjg59@srcf.ucam.org>
5Description: An integer representing a set of wakeup events as follows:
6 1: Wake to enter hibernation when the wakeup timer expires
7 2: Wake to enter hibernation when the battery reaches a
8 critical level
9
10 These values are ORed together. For example, a value of 3
11 indicates that the system will wake to enter hibernation when
12 either the wakeup timer expires or the battery reaches a
13 critical level.
14
15What: /sys/bus/acpi/intel-rapid-start/wakeup_time
16Date: July 2, 2013
17KernelVersion: 3.11
18Contact: Matthew Garrett <mjg59@srcf.ucam.org>
19Description: An integer representing the length of time the system will
20 remain asleep before waking up to enter hibernation.
21 This value is in minutes.
diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
index 85772616efbf..36a9e6023395 100644
--- a/drivers/platform/x86/Kconfig
+++ b/drivers/platform/x86/Kconfig
@@ -176,6 +176,7 @@ config FUJITSU_TABLET
176config AMILO_RFKILL 176config AMILO_RFKILL
177 tristate "Fujitsu-Siemens Amilo rfkill support" 177 tristate "Fujitsu-Siemens Amilo rfkill support"
178 depends on RFKILL 178 depends on RFKILL
179 depends on SERIO_I8042
179 ---help--- 180 ---help---
180 This is a driver for enabling wifi on some Fujitsu-Siemens Amilo 181 This is a driver for enabling wifi on some Fujitsu-Siemens Amilo
181 laptops. 182 laptops.
@@ -591,6 +592,7 @@ config ACPI_TOSHIBA
591 depends on BACKLIGHT_CLASS_DEVICE 592 depends on BACKLIGHT_CLASS_DEVICE
592 depends on INPUT 593 depends on INPUT
593 depends on RFKILL || RFKILL = n 594 depends on RFKILL || RFKILL = n
595 depends on SERIO_I8042 || SERIO_I8042 = n
594 select INPUT_POLLDEV 596 select INPUT_POLLDEV
595 select INPUT_SPARSEKMAP 597 select INPUT_SPARSEKMAP
596 ---help--- 598 ---help---
@@ -781,6 +783,32 @@ config APPLE_GMUX
781 graphics as well as the backlight. Currently only backlight 783 graphics as well as the backlight. Currently only backlight
782 control is supported by the driver. 784 control is supported by the driver.
783 785
786config INTEL_RST
787 tristate "Intel Rapid Start Technology Driver"
788 depends on ACPI
789 ---help---
790 This driver provides support for modifying paramaters on systems
791 equipped with Intel's Rapid Start Technology. When put in an ACPI
792 sleep state, these devices will wake after either a configured
793 timeout or when the system battery reaches a critical state,
794 automatically copying memory contents to disk. On resume, the
795 firmware will copy the memory contents back to RAM and resume the OS
796 as usual.
797
798config INTEL_SMARTCONNECT
799 tristate "Intel Smart Connect disabling driver"
800 depends on ACPI
801 ---help---
802 Intel Smart Connect is a technology intended to permit devices to
803 update state by resuming for a short period of time at regular
804 intervals. If a user enables this functionality under Windows and
805 then reboots into Linux, the system may remain configured to resume
806 on suspend. In the absence of any userspace to support it, the system
807 will then remain awake until something triggers another suspend.
808
809 This driver checks to determine whether the device has Intel Smart
810 Connect enabled, and if so disables it.
811
784config PVPANIC 812config PVPANIC
785 tristate "pvpanic device support" 813 tristate "pvpanic device support"
786 depends on ACPI 814 depends on ACPI
diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile
index ef0ec746f78c..5dbe19324351 100644
--- a/drivers/platform/x86/Makefile
+++ b/drivers/platform/x86/Makefile
@@ -51,5 +51,7 @@ obj-$(CONFIG_INTEL_OAKTRAIL) += intel_oaktrail.o
51obj-$(CONFIG_SAMSUNG_Q10) += samsung-q10.o 51obj-$(CONFIG_SAMSUNG_Q10) += samsung-q10.o
52obj-$(CONFIG_APPLE_GMUX) += apple-gmux.o 52obj-$(CONFIG_APPLE_GMUX) += apple-gmux.o
53obj-$(CONFIG_CHROMEOS_LAPTOP) += chromeos_laptop.o 53obj-$(CONFIG_CHROMEOS_LAPTOP) += chromeos_laptop.o
54obj-$(CONFIG_INTEL_RST) += intel-rst.o
55obj-$(CONFIG_INTEL_SMARTCONNECT) += intel-smartconnect.o
54 56
55obj-$(CONFIG_PVPANIC) += pvpanic.o 57obj-$(CONFIG_PVPANIC) += pvpanic.o
diff --git a/drivers/platform/x86/asus-laptop.c b/drivers/platform/x86/asus-laptop.c
index 0eea09c1c134..8e268da6fdbd 100644
--- a/drivers/platform/x86/asus-laptop.c
+++ b/drivers/platform/x86/asus-laptop.c
@@ -1935,7 +1935,6 @@ fail_input:
1935fail_backlight: 1935fail_backlight:
1936 asus_platform_exit(asus); 1936 asus_platform_exit(asus);
1937fail_platform: 1937fail_platform:
1938 kfree(asus->name);
1939 kfree(asus); 1938 kfree(asus);
1940 1939
1941 return result; 1940 return result;
diff --git a/drivers/platform/x86/asus-nb-wmi.c b/drivers/platform/x86/asus-nb-wmi.c
index 8fcb41e18b9c..563f59efa669 100644
--- a/drivers/platform/x86/asus-nb-wmi.c
+++ b/drivers/platform/x86/asus-nb-wmi.c
@@ -180,6 +180,24 @@ static struct dmi_system_id asus_quirks[] = {
180 }, 180 },
181 .driver_data = &quirk_asus_x401u, 181 .driver_data = &quirk_asus_x401u,
182 }, 182 },
183 {
184 .callback = dmi_matched,
185 .ident = "ASUSTeK COMPUTER INC. 1015E",
186 .matches = {
187 DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
188 DMI_MATCH(DMI_PRODUCT_NAME, "1015E"),
189 },
190 .driver_data = &quirk_asus_x401u,
191 },
192 {
193 .callback = dmi_matched,
194 .ident = "ASUSTeK COMPUTER INC. 1015U",
195 .matches = {
196 DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
197 DMI_MATCH(DMI_PRODUCT_NAME, "1015U"),
198 },
199 .driver_data = &quirk_asus_x401u,
200 },
183 {}, 201 {},
184}; 202};
185 203
@@ -256,6 +274,7 @@ static const struct key_entry asus_nb_wmi_keymap[] = {
256 { KE_KEY, 0xB5, { KEY_CALC } }, 274 { KE_KEY, 0xB5, { KEY_CALC } },
257 { KE_KEY, 0xC4, { KEY_KBDILLUMUP } }, 275 { KE_KEY, 0xC4, { KEY_KBDILLUMUP } },
258 { KE_KEY, 0xC5, { KEY_KBDILLUMDOWN } }, 276 { KE_KEY, 0xC5, { KEY_KBDILLUMDOWN } },
277 { KE_IGNORE, 0xC6, }, /* Ambient Light Sensor notification */
259 { KE_END, 0}, 278 { KE_END, 0},
260}; 279};
261 280
diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
index c11b2426dac1..19c313b056c3 100644
--- a/drivers/platform/x86/asus-wmi.c
+++ b/drivers/platform/x86/asus-wmi.c
@@ -558,7 +558,7 @@ static int asus_wmi_led_init(struct asus_wmi *asus)
558 goto error; 558 goto error;
559 } 559 }
560 560
561 if (wlan_led_presence(asus)) { 561 if (wlan_led_presence(asus) && (asus->driver->quirks->wapf == 4)) {
562 INIT_WORK(&asus->wlan_led_work, wlan_led_update); 562 INIT_WORK(&asus->wlan_led_work, wlan_led_update);
563 563
564 asus->wlan_led.name = "asus::wlan"; 564 asus->wlan_led.name = "asus::wlan";
@@ -886,7 +886,8 @@ static int asus_new_rfkill(struct asus_wmi *asus,
886 if (!*rfkill) 886 if (!*rfkill)
887 return -EINVAL; 887 return -EINVAL;
888