2022-04-15 15:38:50

by Rafael J. Wysocki

[permalink] [raw]
Subject: [PATCH] ACPI: PM: Always print final debug message in acpi_device_set_power()

From: Rafael J. Wysocki <[email protected]>

acpi_device_set_power() prints debug messages regarding its outcome
(whether or not the power state has been changed and how) in all
cases except when the device whose power state is being changed to D0
is in that power state already.

Make acpi_device_set_power() print a final debug message in that case
too and while at it, fix the indentation of the "end" label in this
function.

Signed-off-by: Rafael J. Wysocki <[email protected]>
---
drivers/acpi/device_pm.c | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)

Index: linux-pm/drivers/acpi/device_pm.c
===================================================================
--- linux-pm.orig/drivers/acpi/device_pm.c
+++ linux-pm/drivers/acpi/device_pm.c
@@ -173,11 +173,8 @@ int acpi_device_set_power(struct acpi_de
/* Make sure this is a valid target state */

/* There is a special case for D0 addressed below. */
- if (state > ACPI_STATE_D0 && state == device->power.state) {
- acpi_handle_debug(device->handle, "Already in %s\n",
- acpi_power_state_string(state));
- return 0;
- }
+ if (state > ACPI_STATE_D0 && state == device->power.state)
+ goto no_change;

if (state == ACPI_STATE_D3_COLD) {
/*
@@ -249,7 +246,7 @@ int acpi_device_set_power(struct acpi_de

/* Nothing to do here if _PSC is not present. */
if (!device->power.flags.explicit_get)
- return 0;
+ goto no_change;

/*
* The power state of the device was set to D0 last
@@ -264,13 +261,13 @@ int acpi_device_set_power(struct acpi_de
*/
result = acpi_dev_pm_explicit_get(device, &psc);
if (result || psc == ACPI_STATE_D0)
- return 0;
+ goto no_change;
}

result = acpi_dev_pm_explicit_set(device, ACPI_STATE_D0);
}

- end:
+end:
if (result) {
acpi_handle_debug(device->handle,
"Failed to change power state to %s\n",
@@ -282,6 +279,11 @@ int acpi_device_set_power(struct acpi_de
}

return result;
+
+no_change:
+ acpi_handle_debug(device->handle, "Already in %s\n",
+ acpi_power_state_string(state));
+ return 0;
}
EXPORT_SYMBOL(acpi_device_set_power);