platform/x86: peaq-wmi: Blacklist Lenovo ideapad 700-15ISK

peaq-wmi on Lenovo ideapad 700-15ISK keeps sending KEY_SOUND,
which makes user's repeated keys gets interrupted.

The system does not have Dolby button, let's blacklist it.

BugLink: https://bugs.launchpad.net/bugs/1720219
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
This commit is contained in:
Kai Heng Feng 2017-10-02 11:56:00 +08:00 committed by Andy Shevchenko
parent d7ca5ebf24
commit ff74972e96
1 changed files with 15 additions and 1 deletions

View File

@ -8,6 +8,7 @@
*/ */
#include <linux/acpi.h> #include <linux/acpi.h>
#include <linux/dmi.h>
#include <linux/input-polldev.h> #include <linux/input-polldev.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/module.h> #include <linux/module.h>
@ -64,9 +65,22 @@ static void peaq_wmi_poll(struct input_polled_dev *dev)
} }
} }
static const struct dmi_system_id peaq_blacklist[] __initconst = {
{
/* Lenovo ideapad 700-15ISK does not have Dolby button */
.ident = "Lenovo ideapad 700-15ISK",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
DMI_MATCH(DMI_PRODUCT_NAME, "80RU"),
},
},
{}
};
static int __init peaq_wmi_init(void) static int __init peaq_wmi_init(void)
{ {
if (!wmi_has_guid(PEAQ_DOLBY_BUTTON_GUID)) if (!wmi_has_guid(PEAQ_DOLBY_BUTTON_GUID) ||
dmi_check_system(peaq_blacklist))
return -ENODEV; return -ENODEV;
peaq_poll_dev = input_allocate_polled_device(); peaq_poll_dev = input_allocate_polled_device();