Commit 3f3a2599 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

ACPI: OSL: Rearrange workqueue selection in acpi_os_execute()



Replace the 3-branch if () statement used for selecting the target
workqueue in acpi_os_execute() with a switch () one that is more
suitable for this purpose and carry out the work item initialization
before it to avoid code duplication.

No intentional functional impact.

Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
parent 392829ed
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -1092,19 +1092,21 @@ acpi_status acpi_os_execute(acpi_execute_type type,

	dpc->function = function;
	dpc->context = context;
	INIT_WORK(&dpc->work, acpi_os_execute_deferred);

	/*
	 * To prevent lockdep from complaining unnecessarily, make sure that
	 * there is a different static lockdep key for each workqueue by using
	 * INIT_WORK() for each of them separately.
	 */
	if (type == OSL_NOTIFY_HANDLER) {
	switch (type) {
	case OSL_NOTIFY_HANDLER:
		queue = kacpi_notify_wq;
		INIT_WORK(&dpc->work, acpi_os_execute_deferred);
	} else if (type == OSL_GPE_HANDLER) {
		break;
	case OSL_GPE_HANDLER:
		queue = kacpid_wq;
		INIT_WORK(&dpc->work, acpi_os_execute_deferred);
	} else {
		break;
	default:
		pr_err("Unsupported os_execute type %d.\n", type);
		goto err;
	}