Message ID | 2491625.TQ1FFQeR38@vostro.rjw.lan |
---|---|
State | Accepted |
Headers | show |
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
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
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; }