Commit 7cb8aa8c authored by Michał Kępień's avatar Michał Kępień Committed by Darren Hart

platform/x86: msi-laptop: remove sparse_keymap_free() calls

As sparse_keymap_setup() now uses a managed memory allocation for the
keymap copy it creates, the latter is freed automatically.  Remove all
calls to sparse_keymap_free().

As this reduces msi_laptop_input_destroy() to one line, replace all
calls to that function with direct calls to input_unregister_device().
Signed-off-by: default avatarMichał Kępień <kernel@kempniu.pl>
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
parent c973d4b5
...@@ -976,23 +976,15 @@ static int __init msi_laptop_input_setup(void) ...@@ -976,23 +976,15 @@ static int __init msi_laptop_input_setup(void)
err = input_register_device(msi_laptop_input_dev); err = input_register_device(msi_laptop_input_dev);
if (err) if (err)
goto err_free_keymap; goto err_free_dev;
return 0; return 0;
err_free_keymap:
sparse_keymap_free(msi_laptop_input_dev);
err_free_dev: err_free_dev:
input_free_device(msi_laptop_input_dev); input_free_device(msi_laptop_input_dev);
return err; return err;
} }
static void msi_laptop_input_destroy(void)
{
sparse_keymap_free(msi_laptop_input_dev);
input_unregister_device(msi_laptop_input_dev);
}
static int __init load_scm_model_init(struct platform_device *sdev) static int __init load_scm_model_init(struct platform_device *sdev)
{ {
u8 data; u8 data;
...@@ -1037,7 +1029,7 @@ static int __init load_scm_model_init(struct platform_device *sdev) ...@@ -1037,7 +1029,7 @@ static int __init load_scm_model_init(struct platform_device *sdev)
return 0; return 0;
fail_filter: fail_filter:
msi_laptop_input_destroy(); input_unregister_device(msi_laptop_input_dev);
fail_input: fail_input:
rfkill_cleanup(); rfkill_cleanup();
...@@ -1158,7 +1150,7 @@ static void __exit msi_cleanup(void) ...@@ -1158,7 +1150,7 @@ static void __exit msi_cleanup(void)
{ {
if (quirks->load_scm_model) { if (quirks->load_scm_model) {
i8042_remove_filter(msi_laptop_i8042_filter); i8042_remove_filter(msi_laptop_i8042_filter);
msi_laptop_input_destroy(); input_unregister_device(msi_laptop_input_dev);
cancel_delayed_work_sync(&msi_rfkill_dwork); cancel_delayed_work_sync(&msi_rfkill_dwork);
cancel_work_sync(&msi_rfkill_work); cancel_work_sync(&msi_rfkill_work);
rfkill_cleanup(); rfkill_cleanup();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment