Thread (23 messages) 23 messages, 5 authors, 2013-08-01

Re: [PATCH 2/3] ACPI / PM: Make messages in acpi_device_set_power() print device names

From: Rafael J. Wysocki <hidden>
Date: 2013-07-31 10:17:52
Also in: linux-acpi, linux-pm, lkml

On Wednesday, July 31, 2013 02:52:53 PM Aaron Lu wrote:
quoted hunk ↗ jump to hunk
On 07/29/2013 08:20 PM, Rafael J. Wysocki wrote:
quoted
On Monday, July 29, 2013 10:29:36 AM Aaron Lu wrote:
quoted
On 07/27/2013 09:11 PM, Rafael J. Wysocki wrote:
quoted
From: Rafael J. Wysocki <redacted>

Modify acpi_device_set_power() so that diagnostic messages printed by
it to the kernel log always contain the name of the device concerned
to make it possible to identify the device that triggered the message
if need be.

Also replace printk(KERN_WARNING ) with dev_warn() everywhere in that
function.

Signed-off-by: Rafael J. Wysocki <redacted>
---
 drivers/acpi/device_pm.c |   22 ++++++++++------------
 1 file changed, 10 insertions(+), 12 deletions(-)

Index: linux-pm/drivers/acpi/device_pm.c
===================================================================
--- linux-pm.orig/drivers/acpi/device_pm.c
+++ linux-pm/drivers/acpi/device_pm.c
@@ -166,20 +166,20 @@ int acpi_device_set_power(struct acpi_de
 	/* Make sure this is a valid target state */
 
 	if (state == device->power.state) {
-		ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Device is already at %s\n",
+		ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Device [%s] already in %s\n",
+				  device->pnp.bus_id,
 				  acpi_power_state_string(state)));
 		return 0;
 	}
 
 	if (!device->power.states[state].flags.valid) {
-		printk(KERN_WARNING PREFIX "Device does not support %s\n",
-		       acpi_power_state_string(state));
+		dev_warn(&device->dev, "Power state %s not supported\n",
+			 acpi_power_state_string(state));
 		return -ENODEV;
 	}
 	if (device->parent && (state < device->parent->power.state)) {
-		printk(KERN_WARNING PREFIX
-			      "Cannot set device to a higher-powered"
-			      " state than parent\n");
+		dev_warn(&device->dev, "Cannot transition to a higher-powered "
+			 "state than parent\n");
I think the state information would also be useful here:

		dev_warn(&device->dev, "Cannot transition to a higher-powereed "
		         "state %d than paeren's state %d\n", state,
			 device->parent->power.state);
This is not the scope of this patch, please send another one on top of it.
Patch to add state information in error message, apply on top of this
one.

From: Aaron Lu <redacted>
Subject: [PATCH] ACPI / PM: Add state information in error message for
 acpi_device_set_power

The state information can be useful to know what the problem is when it
appeared in an error message about a device can not being set to a higher
power state than its parent, so this patch adds such state information
for both the target state of the device failed to be set and the current
parent's state.

Signed-off-by: Aaron Lu <redacted>
---
 drivers/acpi/device_pm.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/acpi/device_pm.c b/drivers/acpi/device_pm.c
index beb9625..707258b 100644
--- a/drivers/acpi/device_pm.c
+++ b/drivers/acpi/device_pm.c
@@ -179,7 +179,8 @@ int acpi_device_set_power(struct acpi_device *device, int state)
 	}
 	if (device->parent && (state < device->parent->power.state)) {
 		dev_warn(&device->dev,
-			 "Cannot transition to a higher-powered state than parent\n");
+			 "Cannot transition to a higher-powered state %d than parent's state %d\n",
This message will look a little odd I think ->
+			 state, device->parent->power.state);
-> and please don't use raw numbers in such messages.

What about

	"Cannot transition to power state %s for parent in %s\n",
	acpi_power_state_string(state),
	acpi_power_state_string(device->parent->power.state)
 		return -ENODEV;
 	}
Thanks,
Rafael


-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help