Commit d017a316 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull ACPI updates from Rafael Wysocki:
 "These revert a problematic commit from the 5.17 development cycle and
  finalize the elimination of acpi_bus_get_device() that mostly took
  place during the recent merge window.

  Specifics:

   - Revert an ACPI processor driver change related to cache
     invalidation in acpi_idle_play_dead() that clearly was a mistake
     and introduced user-visible regressions (Akihiko Odaki).

   - Replace the last instance of acpi_bus_get_device() added during the
     recent merge window and drop the function to prevent more users of
     it from being added (Rafael Wysocki)"

* tag 'acpi-5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  ACPI: bus: Eliminate acpi_bus_get_device()
  Revert "ACPI: processor: idle: Only flush cache on entering C3"
parents 6c7376da 87ad2360
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -570,7 +570,6 @@ static int acpi_idle_play_dead(struct cpuidle_device *dev, int index)
{
	struct acpi_processor_cx *cx = per_cpu(acpi_cstate[index], dev->cpu);

	if (cx->type == ACPI_STATE_C3)
	ACPI_FLUSH_CPU_CACHE();

	while (1) {
+0 −13
Original line number Diff line number Diff line
@@ -588,19 +588,6 @@ static struct acpi_device *handle_to_device(acpi_handle handle,
	return adev;
}

int acpi_bus_get_device(acpi_handle handle, struct acpi_device **device)
{
	if (!device)
		return -EINVAL;

	*device = handle_to_device(handle, NULL);
	if (!*device)
		return -ENODEV;

	return 0;
}
EXPORT_SYMBOL(acpi_bus_get_device);

/**
 * acpi_fetch_acpi_dev - Retrieve ACPI device object.
 * @handle: ACPI handle associated with the requested ACPI device object.
+2 −1
Original line number Diff line number Diff line
@@ -2410,7 +2410,8 @@ static int acpi_spi_add_resource(struct acpi_resource *ares, void *data)
			} else {
				struct acpi_device *adev;

				if (acpi_bus_get_device(parent_handle, &adev))
				adev = acpi_fetch_acpi_dev(parent_handle);
				if (!adev)
					return -ENODEV;

				ctlr = acpi_spi_find_controller_by_adev(adev);
+0 −1
Original line number Diff line number Diff line
@@ -509,7 +509,6 @@ extern int unregister_acpi_notifier(struct notifier_block *);
 * External Functions
 */

int acpi_bus_get_device(acpi_handle handle, struct acpi_device **device);
struct acpi_device *acpi_fetch_acpi_dev(acpi_handle handle);
acpi_status acpi_bus_get_status_handle(acpi_handle handle,
				       unsigned long long *sta);