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>
This commit is contained in:
parent
c973d4b578
commit
7cb8aa8caf
drivers/platform/x86
|
@ -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)
|
||||||
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)
|
||||||
{
|
{
|
||||||
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();
|
||||||
|
|
Loading…
Reference in New Issue