Commit 79f237ba authored by Ricardo Ribalda's avatar Ricardo Ribalda Committed by Rafael J. Wysocki
Browse files

ACPI: bus: change the prototype for acpi_get_physical_device_location



It generally is not OK to use acpi_status and/or AE_ error codes
without CONFIG_ACPI and they really only should be used in
drivers/acpi/ (and not everywhere in there for that matter).

So acpi_get_physical_device_location() needs to be redefined to return
something different from acpi_status (preferably bool) in order to be
used in !CONFIG_ACPI code.

Suggested-by: default avatarRafael J. Wysocki <rafael@kernel.org>
Signed-off-by: default avatarRicardo Ribalda <ribalda@chromium.org>
Link: https://patch.msgid.link/20241216-fix-ipu-v5-1-3d6b35ddce7b@chromium.org


Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 7349678b
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -624,8 +624,7 @@ static void init_crs_csi2_swnodes(struct crs_csi2 *csi2)
	if (!fwnode_property_present(adev_fwnode, "rotation")) {
		struct acpi_pld_info *pld;

		status = acpi_get_physical_device_location(handle, &pld);
		if (ACPI_SUCCESS(status)) {
		if (acpi_get_physical_device_location(handle, &pld)) {
			swnodes->dev_props[NEXT_PROPERTY(prop_index, DEV_ROTATION)] =
					PROPERTY_ENTRY_U32("rotation",
							   pld->rotation * 45U);
+1 −3
Original line number Diff line number Diff line
@@ -723,10 +723,8 @@ int acpi_tie_acpi_dev(struct acpi_device *adev)
static void acpi_store_pld_crc(struct acpi_device *adev)
{
	struct acpi_pld_info *pld;
	acpi_status status;

	status = acpi_get_physical_device_location(adev->handle, &pld);
	if (ACPI_FAILURE(status))
	if (!acpi_get_physical_device_location(adev->handle, &pld))
		return;

	adev->pld_crc = crc32(~0, pld, sizeof(*pld));
+3 −4
Original line number Diff line number Diff line
@@ -494,7 +494,7 @@ bool acpi_device_dep(acpi_handle target, acpi_handle match)
}
EXPORT_SYMBOL_GPL(acpi_device_dep);

acpi_status
bool
acpi_get_physical_device_location(acpi_handle handle, struct acpi_pld_info **pld)
{
	acpi_status status;
@@ -502,9 +502,8 @@ acpi_get_physical_device_location(acpi_handle handle, struct acpi_pld_info **pld
	union acpi_object *output;

	status = acpi_evaluate_object(handle, "_PLD", NULL, &buffer);

	if (ACPI_FAILURE(status))
		return status;
		return false;

	output = buffer.pointer;

@@ -523,7 +522,7 @@ acpi_get_physical_device_location(acpi_handle handle, struct acpi_pld_info **pld

out:
	kfree(buffer.pointer);
	return status;
	return ACPI_SUCCESS(status);
}
EXPORT_SYMBOL(acpi_get_physical_device_location);

+1 −3
Original line number Diff line number Diff line
@@ -13,13 +13,11 @@
bool dev_add_physical_location(struct device *dev)
{
	struct acpi_pld_info *pld;
	acpi_status status;

	if (!has_acpi_companion(dev))
		return false;

	status = acpi_get_physical_device_location(ACPI_HANDLE(dev), &pld);
	if (ACPI_FAILURE(status))
	if (!acpi_get_physical_device_location(ACPI_HANDLE(dev), &pld))
		return false;

	dev->physical_location =
+2 −2
Original line number Diff line number Diff line
@@ -259,12 +259,12 @@ static enum v4l2_fwnode_orientation ipu_bridge_parse_orientation(struct acpi_dev
{
	enum v4l2_fwnode_orientation orientation;
	struct acpi_pld_info *pld = NULL;
	acpi_status status = AE_ERROR;
	bool status = false;

#if IS_ENABLED(CONFIG_ACPI)
	status = acpi_get_physical_device_location(adev->handle, &pld);
#endif
	if (ACPI_FAILURE(status)) {
	if (!status) {
		dev_warn(ADEV_DEV(adev), "_PLD call failed, using default orientation\n");
		return V4L2_FWNODE_ORIENTATION_EXTERNAL;
	}
Loading