Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'platform-drivers-x86-v4.9-3' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86

Pull x86 platform driver fixes from Darren Hart:
"Minor doc fix, a DMI match for ideapad and a fix to toshiba-wmi to
avoid loading on non-toshiba systems.

Documentation/ABI:
- ibm_rtl: The "What:" fields are incomplete

toshiba-wmi:
- Fix loading the driver on non Toshiba laptops

ideapad-laptop:
- Add another DMI entry for Yoga 900"

* tag 'platform-drivers-x86-v4.9-3' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86:
Documentation/ABI: ibm_rtl: The "What:" fields are incomplete
toshiba-wmi: Fix loading the driver on non Toshiba laptops
ideapad-laptop: Add another DMI entry for Yoga 900

+28 -9
+2 -2
Documentation/ABI/testing/sysfs-devices-system-ibm-rtl
··· 1 - What: state 1 + What: /sys/devices/system/ibm_rtl/state 2 2 Date: Sep 2010 3 3 KernelVersion: 2.6.37 4 4 Contact: Vernon Mauery <vernux@us.ibm.com> ··· 10 10 Users: The ibm-prtm userspace daemon uses this interface. 11 11 12 12 13 - What: version 13 + What: /sys/devices/system/ibm_rtl/version 14 14 Date: Sep 2010 15 15 KernelVersion: 2.6.37 16 16 Contact: Vernon Mauery <vernux@us.ibm.com>
+7
drivers/platform/x86/ideapad-laptop.c
··· 934 934 }, 935 935 }, 936 936 { 937 + .ident = "Lenovo Yoga 900", 938 + .matches = { 939 + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), 940 + DMI_MATCH(DMI_BOARD_NAME, "VIUU4"), 941 + }, 942 + }, 943 + { 937 944 .ident = "Lenovo YOGA 910-13IKB", 938 945 .matches = { 939 946 DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+19 -7
drivers/platform/x86/toshiba-wmi.c
··· 24 24 #include <linux/acpi.h> 25 25 #include <linux/input.h> 26 26 #include <linux/input/sparse-keymap.h> 27 + #include <linux/dmi.h> 27 28 28 29 MODULE_AUTHOR("Azael Avalos"); 29 30 MODULE_DESCRIPTION("Toshiba WMI Hotkey Driver"); 30 31 MODULE_LICENSE("GPL"); 31 32 32 - #define TOSHIBA_WMI_EVENT_GUID "59142400-C6A3-40FA-BADB-8A2652834100" 33 + #define WMI_EVENT_GUID "59142400-C6A3-40FA-BADB-8A2652834100" 33 34 34 - MODULE_ALIAS("wmi:"TOSHIBA_WMI_EVENT_GUID); 35 + MODULE_ALIAS("wmi:"WMI_EVENT_GUID); 35 36 36 37 static struct input_dev *toshiba_wmi_input_dev; 37 38 ··· 64 63 kfree(response.pointer); 65 64 } 66 65 66 + static struct dmi_system_id toshiba_wmi_dmi_table[] __initdata = { 67 + { 68 + .ident = "Toshiba laptop", 69 + .matches = { 70 + DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"), 71 + }, 72 + }, 73 + {} 74 + }; 75 + 67 76 static int __init toshiba_wmi_input_setup(void) 68 77 { 69 78 acpi_status status; ··· 92 81 if (err) 93 82 goto err_free_dev; 94 83 95 - status = wmi_install_notify_handler(TOSHIBA_WMI_EVENT_GUID, 84 + status = wmi_install_notify_handler(WMI_EVENT_GUID, 96 85 toshiba_wmi_notify, NULL); 97 86 if (ACPI_FAILURE(status)) { 98 87 err = -EIO; ··· 106 95 return 0; 107 96 108 97 err_remove_notifier: 109 - wmi_remove_notify_handler(TOSHIBA_WMI_EVENT_GUID); 98 + wmi_remove_notify_handler(WMI_EVENT_GUID); 110 99 err_free_keymap: 111 100 sparse_keymap_free(toshiba_wmi_input_dev); 112 101 err_free_dev: ··· 116 105 117 106 static void toshiba_wmi_input_destroy(void) 118 107 { 119 - wmi_remove_notify_handler(TOSHIBA_WMI_EVENT_GUID); 108 + wmi_remove_notify_handler(WMI_EVENT_GUID); 120 109 sparse_keymap_free(toshiba_wmi_input_dev); 121 110 input_unregister_device(toshiba_wmi_input_dev); 122 111 } ··· 125 114 { 126 115 int ret; 127 116 128 - if (!wmi_has_guid(TOSHIBA_WMI_EVENT_GUID)) 117 + if (!wmi_has_guid(WMI_EVENT_GUID) || 118 + !dmi_check_system(toshiba_wmi_dmi_table)) 129 119 return -ENODEV; 130 120 131 121 ret = toshiba_wmi_input_setup(); ··· 142 130 143 131 static void __exit toshiba_wmi_exit(void) 144 132 { 145 - if (wmi_has_guid(TOSHIBA_WMI_EVENT_GUID)) 133 + if (wmi_has_guid(WMI_EVENT_GUID)) 146 134 toshiba_wmi_input_destroy(); 147 135 } 148 136