|
@@ -603,23 +603,15 @@ static int __init dell_wmi_input_setup(void)
|
|
|
|
|
|
err = input_register_device(dell_wmi_input_dev);
|
|
err = input_register_device(dell_wmi_input_dev);
|
|
if (err)
|
|
if (err)
|
|
- goto err_free_keymap;
|
|
|
|
|
|
+ goto err_free_dev;
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
- err_free_keymap:
|
|
|
|
- sparse_keymap_free(dell_wmi_input_dev);
|
|
|
|
err_free_dev:
|
|
err_free_dev:
|
|
input_free_device(dell_wmi_input_dev);
|
|
input_free_device(dell_wmi_input_dev);
|
|
return err;
|
|
return err;
|
|
}
|
|
}
|
|
|
|
|
|
-static void dell_wmi_input_destroy(void)
|
|
|
|
-{
|
|
|
|
- sparse_keymap_free(dell_wmi_input_dev);
|
|
|
|
- input_unregister_device(dell_wmi_input_dev);
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
/*
|
|
/*
|
|
* Descriptor buffer is 128 byte long and contains:
|
|
* Descriptor buffer is 128 byte long and contains:
|
|
*
|
|
*
|
|
@@ -740,7 +732,7 @@ static int __init dell_wmi_init(void)
|
|
status = wmi_install_notify_handler(DELL_EVENT_GUID,
|
|
status = wmi_install_notify_handler(DELL_EVENT_GUID,
|
|
dell_wmi_notify, NULL);
|
|
dell_wmi_notify, NULL);
|
|
if (ACPI_FAILURE(status)) {
|
|
if (ACPI_FAILURE(status)) {
|
|
- dell_wmi_input_destroy();
|
|
|
|
|
|
+ input_unregister_device(dell_wmi_input_dev);
|
|
pr_err("Unable to register notify handler - %d\n", status);
|
|
pr_err("Unable to register notify handler - %d\n", status);
|
|
return -ENODEV;
|
|
return -ENODEV;
|
|
}
|
|
}
|
|
@@ -752,7 +744,7 @@ static int __init dell_wmi_init(void)
|
|
if (err) {
|
|
if (err) {
|
|
pr_err("Failed to enable WMI events\n");
|
|
pr_err("Failed to enable WMI events\n");
|
|
wmi_remove_notify_handler(DELL_EVENT_GUID);
|
|
wmi_remove_notify_handler(DELL_EVENT_GUID);
|
|
- dell_wmi_input_destroy();
|
|
|
|
|
|
+ input_unregister_device(dell_wmi_input_dev);
|
|
return err;
|
|
return err;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -766,6 +758,6 @@ static void __exit dell_wmi_exit(void)
|
|
if (wmi_requires_smbios_request)
|
|
if (wmi_requires_smbios_request)
|
|
dell_wmi_events_set_enabled(false);
|
|
dell_wmi_events_set_enabled(false);
|
|
wmi_remove_notify_handler(DELL_EVENT_GUID);
|
|
wmi_remove_notify_handler(DELL_EVENT_GUID);
|
|
- dell_wmi_input_destroy();
|
|
|
|
|
|
+ input_unregister_device(dell_wmi_input_dev);
|
|
}
|
|
}
|
|
module_exit(dell_wmi_exit);
|
|
module_exit(dell_wmi_exit);
|