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

Revert "ACPI: scan: Release PM resources blocked by unused objects"



Revert commit c10383e8 ("ACPI: scan: Release PM resources blocked
by unused objects"), because it causes boot issues to appear on some
platforms.

Reported-by: default avatarKyle D. Pelton <kyle.d.pelton@intel.com>
Reported-by: default avatarSaranya Gopal <saranya.gopal@intel.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent fa55b7dc
Loading
Loading
Loading
Loading
+0 −25
Original line number Diff line number Diff line
@@ -347,28 +347,3 @@ void acpi_device_notify_remove(struct device *dev)

	acpi_unbind_one(dev);
}

int acpi_dev_turn_off_if_unused(struct device *dev, void *not_used)
{
	struct acpi_device *adev = to_acpi_device(dev);

	/*
	 * Skip device objects with device IDs, because they may be in use even
	 * if they are not companions of any physical device objects.
	 */
	if (adev->pnp.type.hardware_id)
		return 0;

	mutex_lock(&adev->physical_node_lock);

	/*
	 * Device objects without device IDs are not in use if they have no
	 * corresponding physical device objects.
	 */
	if (list_empty(&adev->physical_node_list))
		acpi_device_set_power(adev, ACPI_STATE_D3_COLD);

	mutex_unlock(&adev->physical_node_lock);

	return 0;
}
+0 −1
Original line number Diff line number Diff line
@@ -117,7 +117,6 @@ bool acpi_device_is_battery(struct acpi_device *adev);
bool acpi_device_is_first_physical_node(struct acpi_device *adev,
					const struct device *dev);
int acpi_bus_register_early_device(int type);
int acpi_dev_turn_off_if_unused(struct device *dev, void *not_used);

/* --------------------------------------------------------------------------
                     Device Matching and Notification
+0 −6
Original line number Diff line number Diff line
@@ -2564,12 +2564,6 @@ int __init acpi_scan_init(void)
		}
	}

	/*
	 * Make sure that power management resources are not blocked by ACPI
	 * device objects with no users.
	 */
	bus_for_each_dev(&acpi_bus_type, NULL, NULL, acpi_dev_turn_off_if_unused);

	acpi_turn_off_unused_power_resources();

	acpi_scan_initialized = true;