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

Commit 1b37d6ea authored by Liu Jinsong's avatar Liu Jinsong Committed by Konrad Rzeszutek Wilk
Browse files

xen/acpi: xen cpu hotplug minor updates



Recently at native Rafael did some cleanup for acpi, say, drop
acpi_bus_add, remove unnecessary argument of acpi_bus_scan,
and run acpi_bus_scan under acpi_scan_lock.

This patch does similar cleanup for xen cpu hotplug, removing
redundant logic, and adding lock.

Signed-off-by: default avatarLiu Jinsong <jinsong.liu@intel.com>
Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
parent 484400ff
Loading
Loading
Loading
Loading
+12 −22
Original line number Diff line number Diff line
@@ -239,24 +239,6 @@ static acpi_status xen_acpi_cpu_hotadd(struct acpi_processor *pr)
	return AE_OK;
}

static
int acpi_processor_device_add(acpi_handle handle, struct acpi_device **device)
{
	acpi_handle phandle;
	struct acpi_device *pdev;

	if (acpi_get_parent(handle, &phandle))
		return -ENODEV;

	if (acpi_bus_get_device(phandle, &pdev))
		return -ENODEV;

	if (acpi_bus_scan(handle))
		return -ENODEV;

	return 0;
}

static int acpi_processor_device_remove(struct acpi_device *device)
{
	pr_debug(PREFIX "Xen does not support CPU hotremove\n");
@@ -272,6 +254,8 @@ static void acpi_processor_hotplug_notify(acpi_handle handle,
	u32 ost_code = ACPI_OST_SC_NON_SPECIFIC_FAILURE; /* default */
	int result;

	acpi_scan_lock_acquire();

	switch (event) {
	case ACPI_NOTIFY_BUS_CHECK:
	case ACPI_NOTIFY_DEVICE_CHECK:
@@ -286,12 +270,16 @@ static void acpi_processor_hotplug_notify(acpi_handle handle,
		if (!acpi_bus_get_device(handle, &device))
			break;

		result = acpi_processor_device_add(handle, &device);
		result = acpi_bus_scan(handle);
		if (result) {
			pr_err(PREFIX "Unable to add the device\n");
			break;
		}

		result = acpi_bus_get_device(handle, &device);
		if (result) {
			pr_err(PREFIX "Missing device object\n");
			break;
		}
		ost_code = ACPI_OST_SC_SUCCESS;
		break;

@@ -321,11 +309,13 @@ static void acpi_processor_hotplug_notify(acpi_handle handle,
				  "Unsupported event [0x%x]\n", event));

		/* non-hotplug event; possibly handled by other handler */
		return;
		goto out;
	}

	(void) acpi_evaluate_hotplug_ost(handle, event, ost_code, NULL);
	return;

out:
	acpi_scan_lock_release();
}

static acpi_status is_processor_device(acpi_handle handle)