diff mbox

PCI / ACPI / PM: Use correct power state strings in messages

Message ID 2491625.TQ1FFQeR38@vostro.rjw.lan
State Accepted
Headers show

Commit Message

Rafael J. Wysocki June 13, 2013, 10:29 p.m. UTC
From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

Make acpi_pci_set_power_state() print the name of the ACPI device
power state the device has been actually put into instead of printing
the name of the requested PCI device power state, which need not be
the same.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---

For 3.11.

Thanks,
Rafael

---
 drivers/pci/pci-acpi.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Bjorn Helgaas June 14, 2013, 5:08 p.m. UTC | #1
On Thu, Jun 13, 2013 at 4:29 PM, Rafael J. Wysocki <rjw@sisk.pl> wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>
> Make acpi_pci_set_power_state() print the name of the ACPI device
> power state the device has been actually put into instead of printing
> the name of the requested PCI device power state, which need not be
> the same.
>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> ---
>
> For 3.11.
>
> Thanks,
> Rafael
>
> ---
>  drivers/pci/pci-acpi.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> Index: linux-pm/drivers/pci/pci-acpi.c
> ===================================================================
> --- linux-pm.orig/drivers/pci/pci-acpi.c
> +++ linux-pm/drivers/pci/pci-acpi.c
> @@ -211,7 +211,7 @@ static int acpi_pci_set_power_state(stru
>
>         if (!error)
>                 dev_info(&dev->dev, "power state changed by ACPI to %s\n",
> -                        pci_power_name(state));
> +                        acpi_power_state_string(state_conv[state]));
>
>         return error;
>  }
>

Just to double-check this, it *looks* like the effective change is
that for PCI_D3hot and PCI_D3cold, we'll print "(unknown)" instead of
"D3hot" and "D3cold" because state_conv[] folds both PCI_D3hot and
PCI_D3cold into ACPI_STATE_D3, and acpi_power_state_string() doesn't
have a case for ACPI_STATE_D3.

Is that what you intended?

Bjorn
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Rafael J. Wysocki June 14, 2013, 10:28 p.m. UTC | #2
On Friday, June 14, 2013 11:08:44 AM Bjorn Helgaas wrote:
> On Thu, Jun 13, 2013 at 4:29 PM, Rafael J. Wysocki <rjw@sisk.pl> wrote:
> > From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> >
> > Make acpi_pci_set_power_state() print the name of the ACPI device
> > power state the device has been actually put into instead of printing
> > the name of the requested PCI device power state, which need not be
> > the same.
> >
> > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> > ---
> >
> > For 3.11.
> >
> > Thanks,
> > Rafael
> >
> > ---
> >  drivers/pci/pci-acpi.c |    2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > Index: linux-pm/drivers/pci/pci-acpi.c
> > ===================================================================
> > --- linux-pm.orig/drivers/pci/pci-acpi.c
> > +++ linux-pm/drivers/pci/pci-acpi.c
> > @@ -211,7 +211,7 @@ static int acpi_pci_set_power_state(stru
> >
> >         if (!error)
> >                 dev_info(&dev->dev, "power state changed by ACPI to %s\n",
> > -                        pci_power_name(state));
> > +                        acpi_power_state_string(state_conv[state]));
> >
> >         return error;
> >  }
> >
> 
> Just to double-check this, it *looks* like the effective change is
> that for PCI_D3hot and PCI_D3cold, we'll print "(unknown)" instead of
> "D3hot" and "D3cold" because state_conv[] folds both PCI_D3hot and
> PCI_D3cold into ACPI_STATE_D3, and acpi_power_state_string() doesn't
> have a case for ACPI_STATE_D3.

No, it won't work like this, because ACPI_STATE_D3 == ACPI_STATE_D3_COLD. :-)

So, actually, "D3cold" will be printed for both PCI_D3hot and PCI_D3cold
(and I have tested this).

Well, I think it's better to actually replace ACPI_STATE_D3 everywhere in
pci-acpi.c with ACPI_STATE_D3_COLD to avoid that confusion.  Do you want me
to prepare a patch?

Rafael
diff mbox

Patch

Index: linux-pm/drivers/pci/pci-acpi.c
===================================================================
--- linux-pm.orig/drivers/pci/pci-acpi.c
+++ linux-pm/drivers/pci/pci-acpi.c
@@ -211,7 +211,7 @@  static int acpi_pci_set_power_state(stru
 
 	if (!error)
 		dev_info(&dev->dev, "power state changed by ACPI to %s\n",
-			 pci_power_name(state));
+			 acpi_power_state_string(state_conv[state]));
 
 	return error;
 }