Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 815edfe7 authored by Michał Kępień's avatar Michał Kępień Committed by Darren Hart
Browse files

platform/x86: dell-wmi: 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 dell_wmi_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 469b0170
Loading
Loading
Loading
Loading
+4 −12
Original line number Diff line number Diff line
@@ -603,23 +603,15 @@ static int __init dell_wmi_input_setup(void)

	err = input_register_device(dell_wmi_input_dev);
	if (err)
		goto err_free_keymap;
		goto err_free_dev;

	return 0;

 err_free_keymap:
	sparse_keymap_free(dell_wmi_input_dev);
 err_free_dev:
	input_free_device(dell_wmi_input_dev);
	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:
 *
@@ -740,7 +732,7 @@ static int __init dell_wmi_init(void)
	status = wmi_install_notify_handler(DELL_EVENT_GUID,
					 dell_wmi_notify, NULL);
	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);
		return -ENODEV;
	}
@@ -752,7 +744,7 @@ static int __init dell_wmi_init(void)
		if (err) {
			pr_err("Failed to enable WMI events\n");
			wmi_remove_notify_handler(DELL_EVENT_GUID);
			dell_wmi_input_destroy();
			input_unregister_device(dell_wmi_input_dev);
			return err;
		}
	}
@@ -766,6 +758,6 @@ static void __exit dell_wmi_exit(void)
	if (wmi_requires_smbios_request)
		dell_wmi_events_set_enabled(false);
	wmi_remove_notify_handler(DELL_EVENT_GUID);
	dell_wmi_input_destroy();
	input_unregister_device(dell_wmi_input_dev);
}
module_exit(dell_wmi_exit);