diff options
author | Michał Kępień <kernel@kempniu.pl> | 2017-03-09 15:11:45 +0300 |
---|---|---|
committer | Darren Hart <dvhart@infradead.org> | 2017-03-15 08:58:07 +0300 |
commit | 7cb8aa8cafbe9ebc5ecd7ac6125264c958db48ad (patch) | |
tree | 7f3be816d9b64f2c5a3242697916c11a12be621d | |
parent | c973d4b578a46f8fb822bed2d3a0d3a752d02ecf (diff) | |
download | linux-7cb8aa8cafbe9ebc5ecd7ac6125264c958db48ad.tar.xz |
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: Michał Kępień <kernel@kempniu.pl>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
-rw-r--r-- | drivers/platform/x86/msi-laptop.c | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/drivers/platform/x86/msi-laptop.c b/drivers/platform/x86/msi-laptop.c index 42317704629d..9e90827c176a 100644 --- a/drivers/platform/x86/msi-laptop.c +++ b/drivers/platform/x86/msi-laptop.c @@ -976,23 +976,15 @@ static int __init msi_laptop_input_setup(void) err = input_register_device(msi_laptop_input_dev); if (err) - goto err_free_keymap; + goto err_free_dev; return 0; -err_free_keymap: - sparse_keymap_free(msi_laptop_input_dev); err_free_dev: input_free_device(msi_laptop_input_dev); 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) { u8 data; @@ -1037,7 +1029,7 @@ static int __init load_scm_model_init(struct platform_device *sdev) return 0; fail_filter: - msi_laptop_input_destroy(); + input_unregister_device(msi_laptop_input_dev); fail_input: rfkill_cleanup(); @@ -1158,7 +1150,7 @@ static void __exit msi_cleanup(void) { if (quirks->load_scm_model) { 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_work_sync(&msi_rfkill_work); rfkill_cleanup(); |