diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/platform/x86/intel-vbtn.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/platform/x86/intel-vbtn.c b/drivers/platform/x86/intel-vbtn.c index 04725173d087..852cb07c3dfd 100644 --- a/drivers/platform/x86/intel-vbtn.c +++ b/drivers/platform/x86/intel-vbtn.c @@ -145,6 +145,7 @@ static void notify_handler(acpi_handle handle, u32 event, void *context) const struct key_entry *ke, *ke_rel; struct input_dev *input_dev; bool autorelease; + int ret; if ((ke = sparse_keymap_entry_from_scancode(priv->buttons_dev, event))) { if (!priv->has_buttons) { @@ -154,8 +155,12 @@ static void notify_handler(acpi_handle handle, u32 event, void *context) input_dev = priv->buttons_dev; } else if ((ke = sparse_keymap_entry_from_scancode(priv->switches_dev, event))) { if (!priv->has_switches) { - dev_warn(&device->dev, "Warning: received a switches event on a device without switchess, please report this.\n"); - return; + dev_info(&device->dev, "Registering Intel Virtual Switches input-dev after receiving a switch event\n"); + ret = input_register_device(priv->switches_dev); + if (ret) + return; + + priv->has_switches = true; } input_dev = priv->switches_dev; } else { |