diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-13 21:08:23 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-13 21:08:23 -0400 |
| commit | 63345b4794aef4ebe16502cfe35b02bc9822d763 (patch) | |
| tree | 758a127bad6b1035d4878c9a7a1cc7fac167b3b3 | |
| parent | 18fb38e2f58ff7a66e30cbb71af81425edf1c9a1 (diff) | |
| parent | fef8ce166b2d5cdba8bbf85fa48c4cb8d75ffec4 (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-start | 21 | ||||
| -rw-r--r-- | drivers/platform/x86/Kconfig | 28 | ||||
| -rw-r--r-- | drivers/platform/x86/Makefile | 2 | ||||
| -rw-r--r-- | drivers/platform/x86/asus-laptop.c | 1 | ||||
| -rw-r--r-- | drivers/platform/x86/asus-nb-wmi.c | 19 | ||||
| -rw-r--r-- | drivers/platform/x86/asus-wmi.c | 21 | ||||
| -rw-r--r-- | drivers/platform/x86/dell-laptop.c | 5 | ||||
| -rw-r--r-- | drivers/platform/x86/hp-wmi.c | 63 | ||||
| -rw-r--r-- | drivers/platform/x86/intel-rst.c | 209 | ||||
| -rw-r--r-- | drivers/platform/x86/intel-smartconnect.c | 90 | ||||
| -rw-r--r-- | drivers/platform/x86/intel_ips.c | 13 | ||||
| -rw-r--r-- | drivers/platform/x86/intel_pmic_gpio.c | 6 | ||||
| -rw-r--r-- | drivers/platform/x86/msi-laptop.c | 24 |
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 @@ | |||
| 1 | What: /sys/bus/acpi/intel-rapid-start/wakeup_events | ||
| 2 | Date: July 2, 2013 | ||
| 3 | KernelVersion: 3.11 | ||
| 4 | Contact: Matthew Garrett <mjg59@srcf.ucam.org> | ||
| 5 | Description: 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 | |||
| 15 | What: /sys/bus/acpi/intel-rapid-start/wakeup_time | ||
| 16 | Date: July 2, 2013 | ||
| 17 | KernelVersion: 3.11 | ||
| 18 | Contact: Matthew Garrett <mjg59@srcf.ucam.org> | ||
| 19 | Description: 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 | |||
| 176 | config AMILO_RFKILL | 176 | config 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 | ||
| 786 | config 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 | |||
| 798 | config 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 | |||
| 784 | config PVPANIC | 812 | config 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 | |||
| 51 | obj-$(CONFIG_SAMSUNG_Q10) += samsung-q10.o | 51 | obj-$(CONFIG_SAMSUNG_Q10) += samsung-q10.o |
| 52 | obj-$(CONFIG_APPLE_GMUX) += apple-gmux.o | 52 | obj-$(CONFIG_APPLE_GMUX) += apple-gmux.o |
| 53 | obj-$(CONFIG_CHROMEOS_LAPTOP) += chromeos_laptop.o | 53 | obj-$(CONFIG_CHROMEOS_LAPTOP) += chromeos_laptop.o |
| 54 | obj-$(CONFIG_INTEL_RST) += intel-rst.o | ||
| 55 | obj-$(CONFIG_INTEL_SMARTCONNECT) += intel-smartconnect.o | ||
| 54 | 56 | ||
| 55 | obj-$(CONFIG_PVPANIC) += pvpanic.o | 57 | obj-$(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: | |||
| 1935 | fail_backlight: | 1935 | fail_backlight: |
| 1936 | asus_platform_exit(asus); | 1936 | asus_platform_exit(asus); |
| 1937 | fail_platform: | 1937 | fail_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 | |||
